Files
fn_registry/python/functions/infra/dotenv_load.md
T
egutierrez af9ad48c9b feat(infra): funciones Python config_from_env y dotenv_load con tests
- config_from_env_py_infra: dataclass + field metadata, tipos str/int/float/bool/list
- dotenv_load_py_infra: parser .env con semantica de no-sobreescritura
- 15 tests unitarios Python, todos PASS
- registry.db actualizado con fn index (685 funciones, 109 tipos)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 02:01:56 +02:00

1.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
dotenv_load function py infra 1.0.0 impure dotenv_load(path: str) -> None Parsea un archivo .env (KEY=VALUE) e inyecta pares en os.environ. Ignora comentarios # y lineas vacias. No sobreescribe variables ya presentes. Soporta valores con comillas simples o dobles.
dotenv
env
config
os
infra
python
false error_go_core
os
name desc
path ruta al archivo .env a parsear (ej: '.env', 'config/.env.production')
None — efecto lateral: variables seteadas en os.environ true
parsea key value y setea variable
ignora comentarios y lineas vacias
no sobreescribe variables existentes
valores con comillas dobles se stripean
valores con comillas simples se stripean
archivo inexistente lanza error
linea sin igual lanza value error
python/functions/infra/dotenv_load_test.py python/functions/infra/dotenv_load.py

Ejemplo

from dotenv_load import dotenv_load
import os

dotenv_load(".env")
db_url = os.environ["DATABASE_URL"]

Notas

Solo stdlib (os). Semantica de no-sobreescritura: variables inyectadas por Docker/CI/CD tienen precedencia sobre el .env local. Separador es el primer '=' encontrado en la linea (permite valores con '='). Formato: KEY=VALUE, KEY="val", KEY='val'.