Utility tools for working with environment variables
Project description
Enva
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)
Sponsor
This project is sponsored by Documatic, the search engine for your codebase.
Getting started
Requirements
- Python 3.10 or greater
- That's it
Install enva from pypi with
pip install enva
Updates
Please refer to the changelog for a full breakdown of recent updates.
Examples
Converting env vars
import os
from enva.getters import get_env_int
os.environ["SOME_VAR"] = "10"
print(get_env_int("SOME_VAR")) # 10 (as an int)
Verifying env var types
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
Developers
Code quality
- black formatting
- isort imports
- mypy compliance
Testing
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.
Contributing
All contributions are welcome! Please see the contributing guide to get started.
License
GPL-3. Please read the license for full terms.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file enva-0.1.0.tar.gz
.
File metadata
- Download URL: enva-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f201fa65bc773e9d11e17ba1e26383c0e384ee88ad69e955ddbbec6fbdce91d6 |
|
MD5 | 8d4fb32850d2b6949fe9e32cb89f1480 |
|
BLAKE2b-256 | af299559f7208ca605eb1cfad1cd7fe5ae0f132ef99645b9e7b35a90b9238c9e |
File details
Details for the file enva-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: enva-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 246838a4d6c5b1e0d8a988c9d972680cf563196c430e4cf3a204a7a7b74f625d |
|
MD5 | 0f1555bbbd12af482ffe230e929d5301 |
|
BLAKE2b-256 | ce4b4159ef6c9d4c1d2289344f86ca8849a0dabf810ff2750d3972ebc1b8be32 |