Metadata-Version: 1.1
Name: dictns
Version: 1.5
Summary: simple class that merge dictionary and object API
Home-page: http://github.com/tardyp/dictns
Author: Pierre Tardy
Author-email: tardyp@gmail.com
License: BSD
Download-URL: http://github.com/tardyp/dictns
Description: ######
        dictns
        ######
        
        
         .. image:: https://travis-ci.org/tardyp/dictns.png?branch=master
             :target: https://travis-ci.org/tardyp/dictns
        
        
        simple python class that merges dictionary and object APIs
        
        Those Namespace objects work in a similar way as javascript objects.
        intended to help deadling with deep json objects, and save you a lot of [''] in your code
        
        usage
        -----
        
        .. code-block:: python
        
            from dictns import Namespace
            n = Namespace(dict(a=1, b=3, c=dict(d=4)))
            assert(n['a'] == n.a)
            assert(n['c']['d'] == n.c.d)
        
        you can wrap dicts and lists inside Namespace
        
        .. code-block:: python
        
            n = Namespace([dict(a=1, b=3, c=[dict(d=4)])])
            assert(n[0]['a'] == n[0].a)
            assert(n[0]['c'][0]['d'] == n[0].c[0].d)
        
        you can also wrap dict subclasses like OrderedDict, but the resulting Namespace
        does not inherit original object characteristics (i.e. order in OrderedDict)
        
        see unit tests for more usage examples
        
        ChangeLog:
        
        - 1.0: Initial version
        
        - 1.1: Added Namespace comparaison tools
        
        - 1.2: Namespace now support dict and list subclasses as input
        
        - 1.3:
            - Fix for compatibility with getattr() built-in method. When an invalid key is requested, it
              now raises an AttributeError instead of a KeyError.
            - Allow initialization without arg: Namespace() is equivalent to Namespace({}).
        
        - 1.4: Allow Namespace objects to be weak referenced
        
        - 1.5:
            - Fix tests for 3.5 and pypy
            - Readme cleanups
        
        Developing
        ----------
        
        Launch unit tests:
        
            python test/test_namespace.py
        
Keywords: dict,object
Platform: Any
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
