MinCfg: The Minimal Config System¶
Release v0.8.
Handling simple things simply…
from mincfg import MergedConfiguration, YamlFileSource
mycfg = MergedConfiguration([YamlFileSource('/etc/myapp.yaml'), YamlFileSource('~/.myapp.yaml')])
and more complicated things reasonably…
from mincfg import MergedConfiguration, YamlFileSource, OSEnvironSource, DictSource
defaults = DictSource({'url': 'https://example.com',
'user': 'testuser',
'pass': 'testpassword' })
mycfg = MergedConfiguration([defaults,
YamlFileSource('/etc/myapp.yaml'),
YamlFileSource('~/.myapp.yaml'),
YamlFileSource(os.environ.get('MYAPPCFG')),
OSEnvironSource('MYAPP_')
])
The main caveat is that all config keys are case-insensitive (lower case).