Skip to main content

niceconf

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
gmail
my-database
secret-stuff
>>> config['gmail']
[gmail]
username = rick@gmail.com
password = wubalubadubdub
>>> config['gmail']['username']
'rick@gmail.com'
>>> config['gmail']['password']
'wubalubadubdub'
add or set config file options:
>>> config['my-database']['port'] = 3306
>>> config['my-database']['port']
'3306'
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']
[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):
>>> config.save()
read in another config file:
>>> config.read('/path/to/conf')
['/path/to/conf']
>>> config
gmail
my-database
secret-stuff
first_section_of_other_conf
second_section_of_other_conf
explode conf into function arguments
>>> print_kwargs(**config['gmail'])
{'username': 'rick@gmail.com', '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.

Metadata

Release files for niceconf 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for niceconf 0.1.2
File Size Uploaded Provenance Actions
niceconf-0.1.2.tar.gz 3.3 kB Without provenance Details for niceconf-0.1.2.tar.gz

Release files / niceconf-0.1.2.tar.gz

Download URL niceconf-0.1.2.tar.gz
Size 3.3 kB
Tags Source
SHA-256 checksum
How to use checksums
53660cc0d5ae852026b5d223a64f996e14421ca5153244515512ea50c7a5de52
BLAKE2b-256 checksum
How to use checksums
5d36af2058ab95ac8d63ad880a3ebae048277340771f240c270a1d577048e592
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for niceconf 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page