Skip to main content

Another Python configuration tool

Project description

Cool Config

Simple way to use configuration files with Python configuration model.

Requires

Python 3.6+

Usage

Simple usage example:

from cool_config import *


class Config(AbstractConfig):
    """
    Configuration model inherits from AbstractConfig, and all configuration sections from Section
    """
    class main(Section):
        a = Integer

    b = Integer


config = Config()  # create global configuration object and import it


# more examples available in test/main.py
if __name__ == '__main__':
    config_data = {
        'main': {
            'a': 5
        },
        'b': 42
    }

    # config.load('config.yml')  # initialize configuration with config.yml in 
    #   you application entry point (before `config` usage)
    config.update_from_dict(config_data)


    print(config)  # {'b': 42, 'main': {'a': 5}}
    print(config.main.a)  # 5
    print(config.b)  # 42

    config_data_b = {
        'main': {
            'a': 55
        },
    }
    config.update_from_dict(config_data_b)
    print(config)  # {'b': 42, 'main': {'a': 55}}

    """
    ENVIRONMENT:
        TEST__main__a = '6'
        TEST__b = '22'
        THE_ANSWER_KEY = '42'
    """
    config.update_from_env('TEST', delimiter='__')
    print(config)  # {'b': 22, 'main': {'a': 6}}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cool-config, version 0.2.3
Filename, size File type Python version Upload date Hashes
Filename, size cool_config-0.2.3-py3-none-any.whl (6.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size cool_config-0.2.3.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page