Python Projects Configuration Manager


Keywords
myconfig, config, project
License
MIT
Install
pip install myconfig==0.2.9

Documentation

Myconfig

PyPI

PyPI Build Status PyPI PyPI - Downloads GitHub

Quick start

Install

pip install myconfig

Initialize Myconfig on project root directory

cd project/path/
myconfig -i json


Configuring your Python project environment...

File settings.py was created.
The settings.json file was created to hold public settings and .secrets.json file was created to hold private settings.
Also .secrets.json was added to .gitignore.

You can also use other formats: myconfig -i <format> (json | yaml | toml)

Using Myconfig

Add to settings.json common project settings:

{
    "username": "admin",
    "ips": ["127.0.0.1", "198.*.*.*"],
    "database": {
        "name": "database_name",
        "port": 5555
    }
}

Or put private settings in .secrets.json:

{
    "database": {
        "password": 53156
    }
}

Import the config object from settings.py in your code

from settings import config

print(config.username)
print(config.database.name)
print(config.database.password)

File settings.py

from myconfig import MyConfig

config = MyConfig(['settings.json', '.secrets.json'])

You can also only take variables from the .env file: myconfig -i

from myconfig import MyConfig

config = MyConfig()