Skip to main content

Get non-string values from environment variables.

Project description

Typed environment variables

This module implements the mundane task of getting typed values from environment variables.

Copyright ® 2020, Luís Gomes luismsgomes@gmail.com. All rights reserved.

Links: https://github.com/luismsgomes/envil | https://pypi.org/project/envil/

Usage

Assuming your environment has two variables set as follows (bash syntax):

export FOO=123
export BAR=y

Then, you may access them in Python code as follows:

import envil as env

foo = env.get_int("FOO", 0)
bar = env.get_bool("BAR", False)

The set of strings considered to be falsy values for boolean variables are specified in envil.FALSY_VALUES:

>>> print(repr(envil.FALSY_VALUES))
{"0", "false", "f", "no", "n"}

If needed you may override this list with your own, as in this example:

bar = env.get_bool("BAR", falsy_strings={"nope", "zilch", "zero", "nada"})

The second argument is the default value to be returned if the variable is not defined. If not specified, this argument will default to envil.RAISE_EXCEPTION, which will cause an EnvironmentVariableNotSet exception to be raised if the variable is not defined.

Note that, unlike in Python's getenv(), you may specify None as a valid default value.

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more details.

You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

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

envil-0.1.1.tar.gz (2.4 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