Metadata-Version: 2.1
Name: dantro
Version: 0.17.2
Summary: Handle, transform, and visualize hierarchically structured data
Home-page: https://ts-gitlab.iup.uni-heidelberg.de/utopia/dantro
Author: dantro developers
Author-email: dantro-dev@iup.uni.heidelberg.de
License: LGPL-3.0-or-later
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Requires-Python: >=3.7
License-File: COPYING
License-File: COPYING.LESSER
Requires-Dist: numpy (>=1.21.5)
Requires-Dist: xarray (>=0.16.2)
Requires-Dist: dask (>=2.10)
Requires-Dist: toolz (>=0.10)
Requires-Dist: distributed (>=2.10)
Requires-Dist: scipy (>=1.7.3)
Requires-Dist: sympy (>=1.7)
Requires-Dist: h5py (>=3.6)
Requires-Dist: matplotlib (>=3.3)
Requires-Dist: seaborn (>=0.11)
Requires-Dist: networkx (>=2.6)
Requires-Dist: ruamel.yaml (>=0.16.12)
Requires-Dist: dill (>=0.3.3)
Requires-Dist: paramspace (>=2.5.6)
Provides-Extra: dev
Requires-Dist: pytest (>=3.4) ; extra == 'dev'
Requires-Dist: pytest-cov (>=2.5) ; extra == 'dev'
Requires-Dist: tox (>=3.1) ; extra == 'dev'
Requires-Dist: pre-commit (>=2.15) ; extra == 'dev'
Requires-Dist: sphinx (<3.0,>=2.4) ; extra == 'dev'
Requires-Dist: sphinx-book-theme ; extra == 'dev'
Requires-Dist: ipython (>=7.0) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx (<3.0,>=2.4) ; extra == 'doc'
Requires-Dist: sphinx-book-theme ; extra == 'doc'
Requires-Dist: ipython (>=7.0) ; extra == 'doc'
Provides-Extra: minimal_deps
Requires-Dist: numpy (>=1.21.5) ; extra == 'minimal_deps'
Requires-Dist: xarray (==0.16.2) ; extra == 'minimal_deps'
Requires-Dist: dask (==2.10) ; extra == 'minimal_deps'
Requires-Dist: toolz (==0.10) ; extra == 'minimal_deps'
Requires-Dist: distributed (==2.10) ; extra == 'minimal_deps'
Requires-Dist: scipy (==1.7.3) ; extra == 'minimal_deps'
Requires-Dist: sympy (==1.7) ; extra == 'minimal_deps'
Requires-Dist: h5py (==3.6) ; extra == 'minimal_deps'
Requires-Dist: matplotlib (==3.3) ; extra == 'minimal_deps'
Requires-Dist: seaborn (==0.11) ; extra == 'minimal_deps'
Requires-Dist: networkx (==2.6) ; extra == 'minimal_deps'
Requires-Dist: ruamel.yaml (==0.16.12) ; extra == 'minimal_deps'
Requires-Dist: dill (==0.3.3) ; extra == 'minimal_deps'
Requires-Dist: paramspace (==2.5.6) ; extra == 'minimal_deps'
Provides-Extra: test
Requires-Dist: pytest (>=3.4) ; extra == 'test'
Requires-Dist: pytest-cov (>=2.5) ; extra == 'test'
Requires-Dist: tox (>=3.1) ; extra == 'test'
Requires-Dist: pre-commit (>=2.15) ; extra == 'test'


``dantro``: handle, transform, and visualize hierarchically structured data
===========================================================================

``dantro`` – from *data* and *dentro* (Greek for *tree*) – is a Python
package that provides a uniform interface for hierarchically structured
and semantically heterogeneous data. It is built around three main
features:

-  **data handling:** loading heterogeneous data into a tree-like data
   structure, providing a uniform interface to it
-  **data transformation:** performing arbitrary operations on the data,
   if necessary using lazy evaluation
-  **data visualization:** creating a visual representation of the
   processed data

Together, these stages constitute a **data processing pipeline**: an
automated sequence of predefined, configurable operations. Akin to a
Continuous Integration pipeline, a data processing pipeline provides a
uniform, consistent, and easily extensible infrastructure that
contributes to more efficient and reproducible workflows. This can be
beneficial especially in a scientific context, for instance when
handling data that was generated by computer simulations.

``dantro`` is meant to be *integrated* into projects and be used to set up
such a data processing pipeline, customized to the needs of the project.
It is designed to be **easily customizable** to the requirements of the project
it is integrated in, even if the involved data is hierachically structured or
semantically heterogeneous.
Furthermore, it allows a **configuration-based specification** of all
operations via `YAML <https://en.wikipedia.org/wiki/YAML>`_ configuration
files; the resulting pipeline can then be controlled entirely via these
configuration files and without requiring code changes.

The ``dantro`` package is **open source software** released under the
`LGPLv3+ <https://www.gnu.org/licenses/lgpl-3.0.html>`_ license.
It was developed alongside the `Utopia project <https://ts-gitlab.iup.uni-heidelberg.de/utopia/utopia>`_
(a modelling framework for complex and adaptive systems), but is an
independent package.

Learn more
----------

* `Documentation <https://dantro.readthedocs.io/>`_
* `Project page <https://ts-gitlab.iup.uni-heidelberg.de/utopia/dantro>`_
* `README and installation instructions <https://ts-gitlab.iup.uni-heidelberg.de/utopia/dantro#installing-dantro>`_
* `Publication in the Journal of Open Source Software <https://doi.org/10.21105/joss.02316>`_
* `Utopia Project Website <https://utopia-project.org/>`_



