Skip to main content

Get boolean values from environment variables

Project description


version python versions license build coverage code style

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 default.

  • When the variable is set to a truthy value, return True. These are the truthy values:

    • 1
    • true, yes, on
  • When the variable is set to the anything else, return False. Example falsy values:

    • 0
    • no
  • Ignore case and leading/trailing whitespace.


pip install -r requirements_dev.txt
rake test
rake lint


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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

env-flag-1.1.0.tar.gz (2.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page