Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/guillotinaweb/econfig

Python configuration management with environment variables
https://github.com/guillotinaweb/econfig

Last synced: 7 days ago
JSON representation

Python configuration management with environment variables

Awesome Lists containing this project

README

        

Env Config
==========

Python package to manage configuration from environment variables.

This package is designed to be used to help in configuration management with
python docker containers.

Defining configuration
----------------------

econfig provides simple data types to define configuration with::

import econfig
econfig.register(
name='MY_CONFIGURATION_NUMBER',
type=econfig.types.int,
destination='foo.bar')
econfig.register(
name='MY_CONFIGURATION_NUMBER',
type=econfig.types.json,
destination='foo.json')
errors, settings = econfig.parse()
settings == {
"foo": {
"bar": 5
},
"json": {
"some": "value"
}
}

Types
-----

- int
- float
- bool
- exists
- json
- when_exists: callable type that will provide value when env variable exists

Destination types
-----------------

- `foo.bar`: automatic key value dictionary creation
- `foo[]`: append value to list
- `foo[0]`: address item in list
- `foo[0].bar`: address dictionary item in list