Handles configuration saved as JSON files.
Project description
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;
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 ConfigViper-0.5.tar.gz
.
File metadata
- Download URL: ConfigViper-0.5.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db3e20a57c5c1cc4eec243c29ffc3803444ef21e9ae25e0bdf8bc9df50f644ca |
|
MD5 | 5aba6c1ad4f2d86098645860afc1c64b |
|
BLAKE2b-256 | 0ee343b5b66fb01fe8693c924f835883e2755ac2b5d824d39658a9d1f9aa9c6c |