A Python class to hold configuration values
OTHER License
.. display some badges
.. image:: https://travis-ci.org/schettino72/configclass.png?branch=master :target: https://travis-ci.org/schettino72/configclass
.. image:: https://coveralls.io/repos/schettino72/configclass/badge.png :target: https://coveralls.io/r/schettino72/configclass
A Config
is a dict
with a where:
make()
method so you can easily created derived configsmake()
has the same API as dict.update()
make()
will merge values according to mergedict.ConfigDict.merge()
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.
The MIT License Copyright (c) 2014 Eduardo Naufel Schettino
see LICENSE file
::
$ pip install configclass
or download and::
$ python setup.py install
Install dependencies in dev_requirements.txt
.
To run the tests::
$ py.test