Skip to main content

A simple YAML based configuration library for Python

Project description

confygure: A simple YAML based configuration library for Python

Install

 pip install confygure

Usage

The library loads a config.yml from the current directory by default.

Given the config.yml:

test: some value

You can use confygure like this:

>>> from confygure import config
>>> config('test')
'some value'

If you want typing, you can get typed results like this:

>>> from confygure import config_t, config_rt
>>> config_t(str, 'test')  # config_t ensures the return value is a str
'some value'
>>> config_t(str, 'nonexist')  # config_t allows empty values
None
>>> config_rt(str, 'nonexist')  # config_rt requires a value
KeyError: "Missing configuration key ('nonexist',)"

In short, you can access configuration using the following methods:

  • config(...): Any
  • config_t(T, ...): T | None
  • config_rt(T, ...): T

You can use the setup() method to specify the location of the configuration file and if the log level of the root logger should be configured:

Given the configuration file example.yml:

test: some value

logger:
  loglevel: DEBUG

To load this custom configuration file and set the location of the log level config, use something like this:

>>> from confygure import setup, config
>>> setup(files=['./example.yml', '~/example.yml'],
...       logger=['logger', 'loglevel'])
>>> config()
INFO:root:Updated configuration from ./example01.yml
INFO:root:Log level set to DEBUG
{'test': 'some value', 'logger': {'loglevel': 'DEBUG'}}

This will actually check if a local file ./example.yml exists and fall back to ~/example.yml from your home directory.

Project details


Download files

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

Source Distribution

confygure-0.1.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page