Get boolean values from environment variables in Python.
from env_flag import env_flag # When unset, default to `False`. debug = not env_flag('PRODUCTION') # When unset, use explicit default. is_local = get_bool('IS_LOCAL', default=True)
Values are coerced as follows:
When the variable is unset, or set to the empty string, return
When the variable is set to a truthy value, return
True. These are the truthy values:
- true, yes, on
When the variable is set to the anything else, return
False. Example falsy values:
Ignore case and leading/trailing whitespace.
Provides MyPy-compatible type annotations.
./dev.py init ./dev.py test ./dev.py lint ./dev.py black
- Issue Tracker: https://github.com/metabolize/env-flag/issues
- Source Code: https://github.com/metabolize/env-flag
Pull requests welcome!
If you are having issues, please let us know.
This function was inspired by node-env-flag, the equivalent for Node.js. It was developed at Body Labs by Paul Melnikow and later open sourced. It was forked in 2019 by Paul Melnikow. Thanks to a repository and package transfer from Body Labs, the fork has been merged back into the original.
The project is licensed under the two-clause BSD license.