Metadata-Version: 2.2
Name: sndict
Version: 0.1.2
Summary: Nested Extensions to Python dictionaries
Home-page: https://github.com/zphang/sndict
Author: Jason Phang
Author-email: email@jasonphang.com
License: MIT license
Keywords: sndict
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
License-File: LICENSE
License-File: AUTHORS.rst
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: summary

====
Home
====


.. image:: https://img.shields.io/pypi/v/sndict.svg
        :target: https://pypi.python.org/pypi/sndict

.. image:: https://img.shields.io/travis/zphang/sndict.svg
        :target: https://travis-ci.org/zphang/sndict

.. image:: https://readthedocs.org/projects/sndict/badge/?version=latest
        :target: https://sndict.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/zphang/sndict/shield.svg
     :target: https://pyup.io/repos/github/zphang/sndict/
     :alt: Updates


Nested Extensions to Python dictionaries

* Free software: MIT license
* Documentation: https://sndict.readthedocs.io
* Code: https://github.com/zphang/sndict


Introduction
------------
This module provides extensions to ``dicts`` in the python standard library, providing fast and clean manipulation of nested dictionary structures. This module exposes two new ``dict``-types:

* ``NestedDict``/``ndict``: A light-weight wrapper for ``dict`` s that provides additional functionality for operations on nested dictionary structures.
* ``StructuredNestedDict``/``sndict``: A heavy-weight data ``dict`` -based structure for operating on hierarchical data with rich functionality for filtering and transformation across nested levels.

Both implementations are use ``OrderedDict`` s under the hood.

No additional dependencies are required.

Features
--------

* ``NestedDict``/``ndict``:
    - Iterating over flattened keys and values
    - Nested getting/setting operations
    - Applicable to dictionaries of arbitrary and unbalanced depth

* ``StructuredNestedDict``/``sndict``:
    - ``flatten``/``stratify``/``rearrange`` methods allow for powerful and rich operations across different levels of hierarchy
    - Nested getting/setting operations, including intelligent filtering via ``ix``
    - Convenient data inspection via ``dim``, ``unique_keys``, etc


=======
History
=======

0.1.2 (2019-05-02)
------------------

* Remove Python 2 compatibility

0.1.1 (2017-03-15)
------------------

* Minor functionality update:
    - `unique_keys`
    - `to_tree_string`
    - Improved filtering/indexing
    - Documentation


0.1.0 (2017-03-14)
------------------

* Initial Version with basic functionality
