Gestionnaire de configuration en json, ini avec overide possible en variable d’environnement


License
MIT
Install
pip install ConfigEnv==1.2.4

Documentation

ConfigEnv Build Status Coverage Status PyPI version PyPI - Python Version

Gestionnaire de configuration en json, ini avec overide possible en variable d’environnement

install

with pip :

pip install ConfigEnv

how to use

You can actualy use ConfigEnv with either: - json file - ini file - environement variable

Notice than the environement variable will take over configuration files

basic json exemple:

with the file :

// config.json
{
    "AWS" : {
        "ACCESS_KEY_ID" : "toto"
    }
}
from ConfigEnv import Config

config = Config("config.json")
print(config.get("AWS_ACCESS_KEY_ID"))
# prints toto

overide file

you can add more file to veride configs notice that the lib works with cache, so register all your config files before request config

// config.json
{
    "AWS" : {
        "ACCESS_KEY_ID" : "toto"
    }
}
; config.ini
[AWS]
ACCESS_KEY_ID=tata
from ConfigEnv import Config

config = Config("config.json")
config.addFile = Config("config.ini")
print(config.get("AWS_ACCESS_KEY_ID"))
# prints tata

overide with environement variable

// config.json
{
    "AWS" : {
        "ACCESS_KEY_ID" : "toto"
    }
}

with the environement variable : AWS_ACCESS_KEY_ID=tata

from ConfigEnv import Config

config = Config("config.json")

print(config.get("AWS_ACCESS_KEY_ID"))
# prints tata

devlopping guide

we advise you to fork the depot, and if you have goot feature, we would appreciate pull request

install developement environement

with virtualenv :

virtualenv -p python3 .venv
source .venv/bin/activate

install depenencies :

pip install -r requirements.txt

test

run tests :

python -m unittest tests

coverage

run coverage

coverage run --source=ConfigEnv -m unittest tests

report coverage

coverage report -m

release

create package : python3 setup.py sdist bdist_wheel

publish : python -m twine upload dist/*