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.

Provides MyPy-compatible type annotations.


./ init
./ test
./ lint
./ black


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-2.1.0.tar.gz (2.7 kB view hashes)

Uploaded source

Built Distribution

env_flag-2.1.0-py3-none-any.whl (3.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page