Metadata-Version: 1.1
Name: configclass
Version: 0.2.0
Summary: A Python to class to hold configuration values.
Home-page: https://github.com/schettino72/configclass/
Author: Eduardo Naufel Schettino
Author-email: schettino72@gmail.com
License: MIT
Description: configclass - A Python to class to hold configuration values
        ==============================================================
        
        .. 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:
        
         * 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
        
        
Keywords: dict,config
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
