Damn Simple Environment Variables loader for Python. Supports Python 3.7 and newer.
pip install dsenvfrom dsenv import load_env, load_merged_envs
# Load from ~/.env
load_env()
# Load from a custom path
load_env("./.env", override_env=False)
# Force override values already present in the environment
load_env("./.env", override_env=True)
# Merge multiple env files (later files win), but keep existing process env vars
load_merged_envs(".env", ".env.local", override_env=False)
# Merge multiple env files and override existing process env vars
load_merged_envs(".env", ".env.local", override_env=True)KEY=VALUEexport KEY=VALUEKEY="VALUE"orKEY='VALUE'- Comments with
#on empty lines or after unquoted values
pytestOr use tox (if you have multiple Python versions installed):
tox- Add more parser behavior tests (especially edge cases) before changing parsing rules.
- Expand support for escape sequences in quoted values (starting with double quotes).
- Refine comment parsing edge cases (quoted vs unquoted values,
#handling). - Evaluate multiline values support.
- Evaluate variable interpolation support.
BSD-3