Metadata-Version: 2.1
Name: dantro
Version: 0.16.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: Topic :: Utilities
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Requires-Python: >=3.7
Requires-Dist: numpy (>=1.20)
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.6)
Requires-Dist: sympy (>=1.7)
Requires-Dist: h5py (>=3.1)
Requires-Dist: matplotlib (>=3.2)
Requires-Dist: seaborn (>=0.11)
Requires-Dist: networkx (>=2.5)
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.8) ; extra == 'dev'
Requires-Dist: sphinx (<3.0,>=2.4) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (>=0.5) ; extra == 'dev'
Requires-Dist: ipython (>=7.0) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx (<3.0,>=2.4) ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme (>=0.5) ; extra == 'doc'
Requires-Dist: ipython (>=7.0) ; extra == 'doc'
Provides-Extra: minimal_deps
Requires-Dist: numpy (==1.20) ; 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.6) ; extra == 'minimal_deps'
Requires-Dist: sympy (==1.7) ; extra == 'minimal_deps'
Requires-Dist: h5py (==3.1) ; extra == 'minimal_deps'
Requires-Dist: matplotlib (==3.2) ; extra == 'minimal_deps'
Requires-Dist: seaborn (==0.11) ; extra == 'minimal_deps'
Requires-Dist: networkx (==2.5) ; 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.8) ; 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 and providing a uniform interface for 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 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>`_,
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>`_



