Restructuring data, the Python way.
glom is a new approach to working with data in Python, featuring:
- :ref:`Path-based access <access-granted>` for nested structures
- :ref:`Declarative data transformation <glom-func>` using lightweight, Pythonic specifications
- Readable, meaningful :ref:`error messages <exceptions>`
- Built-in :ref:`debugging <debugging>` features
- Plus, :doc:`deep assignment <mutation>`, :doc:`streaming <streaming>`, :doc:`data validation <matching>`, and more!
While it may sound like a lot, glom's straightforward approach becomes second-nature very quickly. Start with the :doc:`tutorial<tutorial>`, or try glom in your browser now!
glom is pure Python, and tested on Python 3.7+, as well as PyPy3. Installation is easy:
pip install glom
Then you're ready to get glomming!
from glom import glom
target = {'a': {'b': {'c': 'd'}}}
glom(target, 'a.b.c') # returns 'd'
There's much, much more to glom, check out the :doc:`tutorial` and :doc:`API reference<api>`!
Just glom it! ☄️
.. toctree:: :maxdepth: 1 :caption: Learning glom tutorial faq by_analogy snippets cli
.. toctree:: :maxdepth: 2 :caption: API Reference api mutation streaming grouping matching debugging
.. toctree:: :maxdepth: 1 :caption: Extending glom custom_spec_types modes