POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Domina tus variables de entorno de Python con Stela

Domina tus variables de entorno de Python con Stela

Publicado el 03/09/2025

Gestiona tus variables de entorno en Python como un profesional con Stela. Empezar con archivos dotenv, evitar exponer secretos y convertir tipos a mano puede convertirse en un caos; Stela lo transforma en un flujo claro, seguro y predecible con inferencia automática de tipos, separación entre ajustes y secretos, soporte por entorno y una API sencilla y extensible.

Por qué importan las variables de entorno

Mantienen la configuración fuera del código fuente, evitan que credenciales entren en tu historial de Git y simplifican despliegues en contenedores, CI y servicios cloud. Con ellas puedes alternar fácilmente entre desarrollo, pruebas y producción sin tocar el código. El problema es que muchas librerías te obligan a escribir siempre el mismo boilerplate para leer archivos, castear strings y aplicar overrides. Stela automatiza todo esto.

Qué es Stela

Stela separa tu configuración en dos grupos: Ajustes no sensibles que puedes versionar como endpoints o timeouts y Secretos que deben quedar fuera del repositorio como contraseñas y tokens. Carga archivos en un orden bien definido, convierte cadenas a tipos nativos de Python y permite un cargador final opcional para obtener valores de fuentes externas como AWS Parameter Store o HashiCorp Vault.

Instalación

Comando: pip install stela

Puesta en marcha rápida

Inicializa el proyecto con: stela init --default

Esto crea los archivos de configuración habituales y actualiza tu gitignore

Archivos típicos: .env ajustes por defecto versionados, .env.local secretos ignorados, .stela configuración de Stela.

Prueba de precedencia en 3 pasos

1. Añade o descomenta MY_SECRET en .env. Abre un REPL de Python y ejecuta: from stela import env y luego print(env.MY_SECRET)

2. Cierra el REPL. Añade o descomenta MY_SECRET en .env.local. Abre de nuevo el REPL y ejecuta lo mismo. Debe ganar el valor de .env.local

3. Define la variable en el entorno del proceso y vuelve a ejecutar. En macOS o Linux: export MY_SECRET=value_from_memory. En Windows PowerShell: $env:MY_SECRET=value_from_memory. Al leer env.MY_SECRET debe ganar el valor en memoria del proceso.

Orden de lectura de dotenv y precedencia

Por defecto Stela lee .env y luego .env.local. Si defines STELA_ENV por ejemplo STELA_ENV=development, también buscará .env.development y .env.development.local

La precedencia cuando una clave existe en varios lugares es: 1 valor ya presente en memoria del sistema os.environ 2 .env.environment.local si STELA_ENV está definido 3 .env.environment si STELA_ENV está definido 4 .env.local 5 .env 6 si no se encuentra el valor, Stela lanza StelaValueError de forma predeterminada aunque es configurable.

Acceso a ajustes y secretos en tu código

Importa una sola vez y usa: from stela import env luego accede con env.API_URL env.TIMEOUT env.FEATURE_FLAG env.DB_URL. Stela se encarga de leer los archivos dotenv y exponer un objeto env único.

Inferencia de tipos automática

Ejemplos de variables en .env que Stela convierte sin esfuerzo: PORT=8000 pasa a int, DEBUG=true pasa a bool, RETRY_TIMES=3 pasa a int, PI=3.14159 pasa a float, FEATURES=[search,login,signup] se interpreta como lista, EXTRA_SETTINGS={cache:true,timeout:30} se interpreta como diccionario JSON. Nada de casteos manuales repetitivos.

Varios entornos sin dolor

Crea archivos por entorno como .env.testing o .env.production por ejemplo en .env.production coloca API_URL=https://api.ejemplo.com. Cambia de entorno con STELA_ENV=production y listo, tu código no cambia, Stela selecciona los valores adecuados automáticamente.

Separación clara entre ajustes y secretos

El comando stela init actualiza tu gitignore para que .env se versione y que .env.local y .env.*.local se ignoren. Usa .env para valores inofensivos y .env.local para credenciales reales. Así tu equipo arranca rápido sin exponer información sensible.

Loader final personalizado para fuentes externas

Además de dotenv, puedes registrar un cargador final en .stela con la opción final_loader igual a myproject.loaders.custom_loader. Implementa en myproject loaders.py una función custom_loader que recibe opciones y env_data, obtiene valores externos y devuelve el diccionario actualizado. En el arranque Stela carga los dotenv y luego ejecuta el loader para fusionar valores adicionales sin sobreescribir lo que ya está en os.environ.

Extensibilidad

¿No quieres inferencia automática de tipos, prefieres otro formato de archivos, definir un entorno por defecto o silenciar logs? Stela es flexible y configurable para encajar en tu flujo de trabajo.

Cómo encaja con Q2BSTUDIO

En Q2BSTUDIO impulsamos proyectos con software a medida y aplicaciones a medida, integrando buenas prácticas de configuración con variables de entorno, despliegues consistentes y seguridad robusta. Nuestro equipo es especialista en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio con power bi, automatización de procesos, agentes IA e ia para empresas. Si buscas un partner para construir y operar plataformas modernas, podemos ayudarte de punta a punta desde la arquitectura hasta la observabilidad.

Descubre cómo llevamos tus ideas a producción con una base de configuración sólida y segura en nuestros servicios de software a medida y potencia tus despliegues con nuestros servicios cloud aws y azure.

Conclusión

Stela aporta estructura, seguridad y simplicidad a la gestión de variables de entorno en Python: inferencia de tipos sin boilerplate, separación de ajustes y secretos, soporte multiambiente y loaders personalizables. Empieza instalando la librería, inicializa tu proyecto y disfruta de una configuración limpia, segura y mantenible. Si necesitas asesoría para integrar estas prácticas en tu plataforma o migrar a un enfoque más escalable, en Q2BSTUDIO estamos listos para ayudarte.

Feliz código

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio