Metadata-Version: 1.1
Name: dict-recursive-update
Version: 1.0.0
Summary: A Python module who does recursive update work on 2 dicts.
Home-page: https://github.com/Maples7/dict-recursive-update
Author: Maples7
Author-email: maples7@163.com
License: MIT
Description: =====================
        dict-recursive-update
        =====================
        
        .. image:: https://travis-ci.org/Maples7/dict-recursive-update.svg?branch=master
            :target: https://travis-ci.org/Maples7/dict-recursive-update
        
        .. image:: https://img.shields.io/pypi/v/dict-recursive-update.svg
            :target: https://pypi.python.org/pypi/dict-recursive-update
        
        A Python module who does recursive update work on 2 dicts.
        
        Usage
        =====
        
        Installation
        ------------
        
        .. code:: shell
        
            pip install dict-recursive-update
        
        
        Examples
        --------
        
        .. code:: python
        
            >>> recursive_update({'a': {'b': 2}}, {'a': {'b': 3, 'd': 4}, 'e': 5})
            {'a': {'b': 3, 'd': 4}, 'e': 5}
        
            >>> recursive_update('a', 'b')
            Traceback (most recent call last):
                ...
            TypeError: Params of recursive_update should be dicts
        
            >>> recursive_update({'a': [1]}, {'a': [2], 'c': {'d': {'c': 3}}})
            {'a': [2], 'c': {'d': {'c': 3}}}
        
            >>> recursive_update({'a': {'c': 1, 'd': {}}, 'b': 4}, {'b': 5})
            {'a': {'c': 1, 'd': {}}, 'b': 5}
        
            >>> recursive_update({'a': {'c': 1, 'd': {}}, 'b': 4}, {'a': 2})
            {'a': 2, 'b': 4}
        
        
        Why?
        ====
        
        This is originally designed for merge multiple configurations in different running environment such as production or stage.
        
        As a node.js developer, package `config <https://github.com/lorenwest/node-config>`_ and `lodash <https://github.com/lodash/lodash>`_ are very handy for me. This package is the base of `a python-version config package <https://github.com/Maples7/py-config>`_.
        
        In a normal project, there is usually a copy of default configuration, but when we deploy it, some configurations differ from default ones like database address. So a handy configuration-loading package is supposed to load right configurations according to the running environment.
        
        License
        =======
        `MIT <./LICENSE.txt>`_
        
Keywords: dict recursive update
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
