Metadata-Version: 2.1
Name: utopya
Version: 1.2.8
Summary: A simulation management and evaluation framework
Home-page: https://gitlab.com/utopia-project/utopya
Author: utopya developers
Author-email: Benjamin Herdeanu <Benjamin.Herdeanu@iup.uni-heidelberg.de>, Yunus Sevinchan <yunus.sevinchan@hu-berlin.de>
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering
License-File: COPYING
License-File: COPYING.LESSER
Requires-Dist: numpy (<2.0)
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: seaborn
Requires-Dist: ruamel.yaml
Requires-Dist: coloredlogs
Requires-Dist: colorama
Requires-Dist: click
Requires-Dist: pydantic (>=2.0)
Requires-Dist: python-git-info
Requires-Dist: yayaml (>=0.1.1)
Requires-Dist: paramspace (>=2.6.1)
Requires-Dist: dantro (>=0.19.2)
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-order ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: sphinx (<5,>=4.5) ; extra == 'dev'
Requires-Dist: sphinx-book-theme ; extra == 'dev'
Requires-Dist: sphinx-togglebutton ; extra == 'dev'
Requires-Dist: ipython (>=7.0) ; extra == 'dev'
Requires-Dist: myst-parser[linkify] ; extra == 'dev'
Requires-Dist: sphinx-click ; extra == 'dev'
Requires-Dist: networkx ; extra == 'dev'
Requires-Dist: pygraphviz ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx (<5,>=4.5) ; extra == 'doc'
Requires-Dist: sphinx-book-theme ; extra == 'doc'
Requires-Dist: sphinx-togglebutton ; extra == 'doc'
Requires-Dist: ipython (>=7.0) ; extra == 'doc'
Requires-Dist: myst-parser[linkify] ; extra == 'doc'
Requires-Dist: sphinx-click ; extra == 'doc'
Requires-Dist: pytest ; extra == 'doc'
Provides-Extra: opt
Requires-Dist: networkx ; extra == 'opt'
Requires-Dist: pygraphviz ; extra == 'opt'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-order ; extra == 'test'
Requires-Dist: pre-commit ; extra == 'test'


``utopya``: A simulation management and evaluation framework
============================================================

The ``utopya`` package provides a simulation management and evaluation
framework with the following feature set:

- **Run model simulations** in parallel and on cluster architectures

  - Conveniently perform parameter sweeps of arbitrary parameters with the help
    of the `paramspace <https://gitlab.com/blsqr/paramspace>`_ package.

- A **powerful CLI** to run and evaluate models, including interactive plotting
- Integrates the `dantro <https://gitlab.com/utopia-project/dantro>`_
  **data processing pipeline**:

  - Loads data into a hierarchical data tree, supplying a uniform interface
  - Gives access to a configuration-based **data transformation framework**,
    separating data preprocessing from visualization for increased generality
  - Easy extensibility of plot creators via model-specific plot implementations

- A **versatile configuration interface** for both simulation and evaluation:

  - Assembling multi-level model configurations, including several default
    levels
  - Assembling plot configurations with multiple inheritance, reducing
    redundant definitions

- Model, project, and framework registration and handling
- Managing data output directories
- Tools to simplify model test implementations or working without a CLI
- ... and more

The ``utopya`` package evolved as part of the
`Utopia Project <https://utopia-project.org>`_ and provides the frontend of
the `Utopia modelling framework <https://gitlab.com/utopia-project/utopia>`_.
Having been outsourced from that project, it can be used with arbitrary model
implementations with a very low barrier for entry: in the simplest case, only
the path to an executable is required to run simulations.
With more compliance to the utopya interface, more features become available.

The ``utopya`` package is **open source software** released under the
`LGPLv3+ <https://www.gnu.org/licenses/lgpl-3.0.html>`_ license.

Visit the `utopya project website <https://gitlab.com/utopia-project/utopya>`_
or the `documentation page <https://utopya.readthedocs.io/>`_ for more
information about utopya.
