Registry / devops / python-envcfg

python-envcfg

JSON →
library0.2.0pypypi✓ verified 33d ago

Python EnvCFG (python-envcfg) provides a 'magic module' for accessing environment variables as attributes, automatically converting them to common Python types (str, int, float, bool). It also supports loading configuration from YAML files. The current version is 0.2.0, released in 2017, and the project appears to be no longer actively maintained.

devops
Install & Compatibility
Where this runs
tested against v0.2.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 17.9MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 1.6s · import 0.000s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

import envcfg

This quickstart demonstrates how to access environment variables using the `env` magic module, including automatic type conversion and providing default values for unset variables. Note that environment variables must be set in `os.environ` before `envcfg` processes them.

import os from envcfg import env # Simulate setting environment variables for demonstration os.environ['DATABASE_URL'] = 'postgres://user:password@host:port/database' os.environ['DEBUG'] = 'true' os.environ['PORT'] = '8000' print(f"Database URL: {env.DATABASE_URL} (type: {type(env.DATABASE_URL)})") print(f"Debug Mode: {env.DEBUG} (type: {type(env.DEBUG)})") # Auto-converts 'true' to True print(f"Port Number: {env.PORT} (type: {type(env.PORT)})") # Auto-converts '8000' to 8000 # Accessing an undefined variable with a default app_env = env.APP_ENV('development') print(f"App Environment: {app_env} (type: {type(app_env)})") # Example of retrieving an explicitly string value: string_port = env.PORT('default_string_port') # Ensures string type print(f"Port as String: {string_port} (type: {type(string_port)})")
Debug
Known footguns
gotchaProject Abandonment: `python-envcfg` has not been updated since 2017 and is no longer actively maintained. This means no new features, bug fixes, or security updates are to be expected.
gotchaPotential Python Version Incompatibility: While `0.2.0` listed Python 3 support, it has not been tested or updated for modern Python versions (e.g., 3.9+). Users may encounter unexpected runtime errors or deprecated syntax issues.
gotchaImplicit Type Conversion Risks: EnvCFG automatically converts environment variable strings to `bool`, `int`, or `float`. This can lead to unexpected values (e.g., '0' becoming `False`, 'false' becoming `False`) if the intended value was a string.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
18 hits · last 30 days
gptbot
4
ahrefsbot
4
amazonbot
4
bytedance
4
script
1
mj12bot
1
Resources