Enviously Elegant Environment Variable Parsing
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
parsenvy
.gitignore
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
LICENSE
README.rst
requirements.txt
setup.py
tests.py

README.rst

Parsenvy: Enviously Elegant Environment Variable Parsing

Parsenvy is an enviously elegant environment variable parsing Python library.

Environment variables are strings by default. This can be rather inconvenient if you're dealing with a number of them, and in a variety of desired types. Parsenvy aims to provide an intuitive, explicit interface for retrieving these values in appropriate types with human-friendly syntax.

https://travis-ci.org/nkantar/Parsenvy.svg?branch=master

Features

  • Compatible with Python 3.6+ only (the last Python 2 compatible version was 1.0.2)
  • No dependencies aside from Python's core builtins, os, and typing modules
  • Fully tested
  • BSD (3-Clause) licensed

Examples

>>> import parsenvy
>>> parsenvy.bool('BOOL_ENV_VAR')  # BOOL_ENV_VAR=True
True
>>> parsenvy.int('INT_ENV_VAR')  # INT_ENV_VAR=13
13
>>> parsenvy.float('FLOAT_ENV_VAR')  # FLOAT_ENV_VAR=555.55
555.55
>>> parsenvy.list('LIST_ENV_VAR')  # LIST_ENV_VAR=shiver,me,timbers
['shiver', 'me', 'timbers']
>>> parsenvy.tuple('TUPLE_ENV_VAR')  # TUPLE_ENV_VAR=hello,world
('hello', 'world')
>>> parsenvy.str('STR_ENV_VAR')  # STR_ENV_VAR=meep
'meep'
>>> parsenvy.set('SET_ENV_VAR')  # SET_ENV_VAR=wat,wut,wot
set(['wat', 'wut', 'wot'])
>>> parsenvy.dict('DICT_ENV_VAR')  # DICT_ENV_VAR=a:1,b:2
{'a': '1', 'b': '2'}

Install

pip install parsenvy

Contributing

Contributions of all sorts are welcome, be they bug reports, patches, or even just feedback. Creating a new issue or pull request is probably the best way to get started.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.