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
File details
Details for the file confygure-0.1.0.tar.gz
.
File metadata
- Download URL: confygure-0.1.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b351bde07264e9cab198e250c7d28cf3e9a49a5381bc9b8c32bbdd2dfaa1ef4e |
|
MD5 | 9a1e8b720a1390b4ae439b20d46b935c |
|
BLAKE2b-256 | 98c090c6e56307348f46795fecc0ce54af00af1faf4879b4352950fdcd7209ac |