Domina tus variables de entorno de Python con Stela

Stela gestiona variables de entorno en Python con inferencia de tipos, separación entre ajustes y secretos, y cargadores externos; segura, fácil y multientorno.

4 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

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

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat