Making working with environment variables in Python slightly better.
Ever needed to get an environment variable as an integer or a boolean?
Ever needed to assert that an environment variable is set?
Stop looking at the standard library. It can't help you.
enva
can.
enva
provides utility functionality for working with environment variables in Python.
There are two main features:
- Variable retrieval (as alternative types, e.g. int)
- Variable assertion (e.g. is the variable set)
This project is sponsored by Documatic, the search engine for your codebase.
- Python 3.9 or greater
- That's it
Install enva from pypi with
pip install enva
Please refer to the changelog for a full breakdown of recent updates.
import os
from enva.getters import get_env_int
os.environ["SOME_VAR"] = "10"
print(get_env_int("SOME_VAR")) # 10 (as an int)
import os
from enva.checkers import require_variable_as_type
os.environ["SOME_VAR"] = "10"
os.environ["ANOTHER_VAR"] = "ten"
print(require_variable_as_type("SOME_VAR", float)) # No throw
print(require_variable_as_type("ANOTHER_VAR", float)) # Will raise
- black formatting
- isort imports
- mypy compliance
Unit tests are run with pytest. Please ensure that new features and bug fixes have an appropriate test. There is a github action to ensure tests pass with sufficient coverage.
All contributions are welcome! Please see the contributing guide to get started.
GPL-3. Please read the license for full terms.