ConfigViper
ConfigViper is a set of Python classes for handling configuration files saved in JSON format. For example:
from configviper import ConfigViper
ConfigViper.configure()
conf = ConfigViper()
conf.set('spam.ham.eggs', 'sausage')
And the JSON file will looks like:
{
"spam": {
"ham": {
"eggs": "sausage"
}
}
}
Goals
Simple to define default values (avoiding “defaults” everywhere);
Simple to write converters between Python and JSON types (even for complex Python types);
Human editable format (JSON is readable enough);
Portable configuration format (JSON is portable enough);
Easy to add configuration options without destroying existing ones;
Accessible anywhere in the app code (avoiding singleton’s boring discussions);
Small and really simple.
Installation
Install ConfigViper using pip install ConfigViper command. If you downloaded the sources from PyPI go to ConfigViper-<version> directory and type python setup.py install command. You can also get the sources from BitBucket repository (you will need Mercurial SCM installed on your system):
hg clone https://bitbucket.org/danielgoncalves/configviper
More Documentation
For usage example and more information, please refer to the documentation available on-line.
Licensing
ConfigViper is licensed under GNU’s LGPL.
Change History
Version 0.1
Released 12 march 2012.
Version 0.2
Released 18 march 2012;
Documentation hosted on PyPI.
Version 0.3
Released 14 april 2012;
Default config-path separator changed from / to .;
Configuration values can be accessed like object attributes:
# using the get() method conf.get('spam.ham.eggs') # or like object attributes conf.spam.ham.eggs
Version 0.3.1
Released 18 april 2012;
[FIXED] No conversion was happening when config-paths are accessed like object attributes;
Only one proxy instance is created when accessing config-paths like object attributes;
Some more unit tests added.
Version 0.4
Released 25 april 2012;
[ADDED] Stop saving (or bulk set) feature;
[ADDED] Backup before save with automatic restore on failure (optional).
Version 0.5
Released 24 august 2013;
[ADDED] Sub-package to support cross-platform file locking based on fcntl on POSIX systems or using ctypes on Windows (no support for 95/98/ME);
[ADDED] File lock on write operations;
[ADDED] Support for logging;
[ADDED] Support for file encodings (or no explicit encoding);
[ADDED] Use UTF-8 as default file encoding;
[CHANGED] Re-implementation of save operation attempting to minimize concurrent-access issues;
[REMOVED] Backup options;
Metadata
Release files for ConfigViper 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ConfigViper-0.5.tar.gz | 39.1 kB | Without provenance | Details for ConfigViper-0.5.tar.gz |
Release files / ConfigViper-0.5.tar.gz
| Download URL | ConfigViper-0.5.tar.gz |
|---|---|
| Size | 39.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db3e20a57c5c1cc4eec243c29ffc3803444ef21e9ae25e0bdf8bc9df50f644ca
|
|
BLAKE2b-256 checksum How to use checksums |
0ee343b5b66fb01fe8693c924f835883e2755ac2b5d824d39658a9d1f9aa9c6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for ConfigViper 0.5
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.