Skip to main content

Decorator for convenient loading of environment variables

Project description

@environment

https://img.shields.io/pypi/v/atenvironment.svg https://img.shields.io/travis/eghuro/atenvironment.svg Documentation Status Updates https://codecov.io/gh/eghuro/atenvironment/branch/master/graph/badge.svg

Decorator for convenient loading of environment variables. @environment allows you to declare dependencies on environment variables so that it’s clear what needs to be set. Also, any error handling is moved away making the code clearer.

Getting started

Install @environment from pip:

pip install atenvironment

Using @environment is as simple as:

from atenvironment import environment

@environment('API_KEY', 'TOKEN')
def check(a, b, c, key, token):
    # API_KEY is in key
    # TOKEN is in token

Then call the function as:

check(a, b, c)

Environment variables are checked and provided to the function as trailing parameters in order of declaration. In case the token is not in environment an atenvironment.EnvironMiss exception is raised. You can also provide your own error handling function. In addition, some environment variables can be loaded directly into object variable in case instance property is to be initialized.

See the docummentation for more details.

History

0.2.0 (2018-06-24)

  • on error: optional function to be called if any of the environment tokens in value is not present in environment

  • in self: optional variable name in case instance property is to be initialized

  • package slightly restructured

0.1.0 (2018-06-12)

  • First release on PyPI.

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

atenvironment-0.2.1.tar.gz (10.5 kB view hashes)

Uploaded Source

Built Distribution

atenvironment-0.2.1-py2.py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 2 Python 3

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