Metadata-Version: 1.0
Name: otherstuf
Version: 0.803
Summary: Attributes-accessible mappings chainstuf (like ChainMap) & counterstuf (like Counter)
Home-page: https://bitbucket.org/jeunice/otherstuf
Author: Jonathan Eunice
Author-email: jonathan.eunice@gmail.com
License: UNKNOWN
Description: Attribute-accesible collections inspired by `stuf
        <http://pypi.python.org/pypi/stuf>`_. Implements ``chainstuf`` and
        ``counterstuf``: versions of ``ChainMap`` and ``Counter`` that expose their keys as
        attributes.
        
        The ultimate goal of this module is to have these functions available in the
        ``stuf`` module, and this sidecar to be retired.
        
        Usage
        =====
        
        Use these just like you would ``ChainMap`` and ``Counter``, except that
        you get attribute-style access as well.
        
        For ``chainstuf``::
        
            from otherstuf import chainstuf
            
            d1 = dict(this=1, that=2)
            d2 = dict(roger=99, that=100)
            
            # test simple attribute equivalence
            c = chainstuf(d1, d2)
            
            assert c.this == 1
            assert c.roger == 99
            
            c.roger = 'wilco'
            assert c.roger
            print "roger", c.roger
            
            d1.update(feeling='fancypants!')
            print "i'm feeling", c.feeling     # passed through, since d2 lacks 'feeling'
        
        For ``counterstuf``::
        
            from otherstuf import counterstuf
            
            c = counterstuf()
            c.update("this and this is this but that isn't this".split())
            c.total = sum(c.values())
            
            print "everything:", c.total
            print "'this' mentioned", c.this, "times"
            print "'bozo' mentioned", c.bozo, "times"
            print c
            
        Notes
        =====
        
         * Commenced automated multi-version testing with
           `pytest <http://pypi.python.org/pypi/pytest>`_
           and `tox <http://pypi.python.org/pypi/tox>`_.
           
         * Now
           successfully packaged and tested for Python 2.6, 2.7, 3.2, 3.3 and
           PyPy 1.9 (aka Python 2.7.2). Previous exceptions for Python 2.6 have been eliminated.
           
         * Now packaged as a package rather than modules. This changes the import from
           ``from chainstuf import chainstuf`` and ``from counterstuf import counterstuf`` to
           ``from otherstuf import chainstuf`` and ``from otherstuf import counterstuf``, respectively.
         
         * The author, `Jonathan Eunice <mailto:jonathan.eunice@gmail.com>`_ or
           `@jeunice on Twitter <http://twitter.com/jeunice>`_
           welcomes your comments and suggestions.
        
        Installation
        ============
        
        ::
        
            pip install otherstuf
        
        To ``easy_install`` under a specific Python version (3.3 in this example)::
        
            python3.3 -m easy_install otherstuf
            
        (You may need to prefix these with "sudo " to authorize installation. If they're
        already installed, the ``--upgrade`` flag will be helpful; add it right before the
        package name.)
Keywords: Counter ChainMap stuf attribute mapping nested
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: BSD License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
