A Python to class to hold configuration values.
Project Description
configclass - A Python to class to hold configuration values
A Config is a dict with a where:
- existing items can be modified but no items can not be added
- has make() method so you can easily created derived configs
- make() has the same API as dict.update()
- make() will merge values according to mergedict.ConfigDict.merge()
- for convenience, make can take a None to perform a simple copy
>>> from configclass import Config >>> c1 = Config({'a': 1, 'b': ['foo']}) # can't add new items to config >>> c1.make({'a':2, 'c': [2]}) Traceback (most recent call last): KeyError: 'New items can not be added to Config, invalid key:c' # new config object created >>> c2 = c1.make({'a':2}) >>> c2 Config({'a': 2, 'b': ['foo']}) # original object is not modified >>> c1 Config({'a': 1, 'b': ['foo']}) # make() can take keyword arguments, note how lists are merged >>> c2.make(b=['bar']) Config({'a': 2, 'b': ['foo', 'bar']})
configclass.ConfigMixin can be used to create a Config class that is not based on mergedict.ConfigDict. Check unittests for usage.
Project Details
- Project management on github - https://github.com/schettino72/configclass/
license
The MIT License Copyright (c) 2014 Eduardo Naufel Schettino
see LICENSE file
developers / contributors
- Eduardo Naufel Schettino
install
$ pip install configclass
or download and:
$ python setup.py install
tests
Install dependencies in dev_requirements.txt.
To run the tests:
$ py.test
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
configclass-0.1.0.tar.gz (3.2 kB) Copy SHA256 hash SHA256 | Source | None | Jul 21, 2014 |