Skip to main content

A nice config package

Project description

niceconf is a dropin replacement for the stdlib RawConfigParser object. It makes parsing and using configuration files in your python scripts approximately 10 times more pythonic and fun.

By default it reads and writes to ~/.conf. This can be changed by setting $CONF. If ~/.conf or the file specified in $CONF does not exist, it will be created on the first import.

basic usage:
>>> from niceconf import config
>>> config
>>> config['gmail']
username =
password = wubalubadubdub
>>> config['gmail']['username']
>>> config['gmail']['password']
add or set config file options:
>>> config['my-database']['port'] = 3306
>>> config['my-database']['port']
delete config file options:
>>> del config['secret-stuff']['burn-after-reading']
>>> config['secret-stuff']['burn-after-reading']
NoOptionError: No option 'burn-after-reading' in section: 'secret-stuff'
add a section (any valid dict-like can be added as section):
>>> config['stackoverflow'] = {'username': 'guido',
                               'password': 'pa$$word1'}
>>> config['stackoverflow']
username = guido
password = pa$$word1
delete a section:
>>> del config['stackoverflow']
>>> config['stackoverflow']
NoSectionError: No section: 'stackoverflow'
write out to a file (overwrites by default):
read in another config file:
>>> config
explode conf into function arguments
>>> print_kwargs(**config['gmail'])
{'username': '', 'password': 'wubalubadubdub'}

Additionally, the config object _is_ an instance of RawConfigParser, so you can use any of those methods as before. This means that config is a dropin replacement for ConfigParser.

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

niceconf-0.1.2.tar.gz (3.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page