No project description provided
Project description
speckenv because a speck is a synonym for a dot and because Speck is awesome.
Usage
Read the settings contained in ./.env into os.environ (or a different mapping; pass a dict-like object as mapping):
from speckenv import read_speckenv read_speckenv()
Note that read_speckenv uses os.environ.setdefault to set new values, which means that if a particular key exists more than once in the file the first value is retained, not the last.
If the file is named differently or resides in a different path, pass the full path as first argument to read_speckenv.
Read individual values:
from speckenv import env SETTING1 = env('SETTING1') SETTING2 = env('SETTING2', default='bla') SETTING3 = env('SETTING3 ', required=True) # Fail hard if missing. SETTING4 = env('SETTING4', coerce=bool) # Coercion is also applied # to default values # Different mapping: env('SOMETHING', mapping=...)
The following values are evaluated as Python literals:
BOOL=True # And False, None etc. NUMBER=42 SWEET_HOME=['localhost', '127.0.0.1']
Additional whitespace around the equals sign is supported. Empty lines and lines starting with a # are ignored.
NOTE! You should treat everything except for the first argument to both env and read_speckenv as keyword-only. Since speckenv still supports Python 2 this isn’t enforced by the code right now.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for speckenv-1.3.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caba8e13a4d8529680e261113b2dc82b6fd213be4d441696ee55d7ffae55eaaa |
|
MD5 | 8988f7f714c320fbeb7373658237670d |
|
BLAKE2b-256 | c572f7bbd3d401c1da9ebfb3d130d8469cc32df31bc935f8f423bb80df79c838 |