Metadata-Version: 2.4
Name: pyiron_workflow
Version: 0.19.0
Summary: pyiron_workflow - Graph-and-node based workflow tools.
Project-URL: Homepage, https://github.com/pyiron/pyiron_workflow
Project-URL: Documentation, https://pyiron-workflow.readthedocs.io
Project-URL: Repository, https://github.com/pyiron/pyiron_workflow
Author-email: Liam Huber <liamhuber@greyhavensolutions.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: pyiron
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.14,>=3.11
Requires-Dist: executorlib<1.11.0,>=1.5.3
Requires-Dist: flowrep<0.7.0,>=0.6.0
Requires-Dist: pint<=0.25.3,>=0.24
Requires-Dist: pyiron-snippets<2.0.0,>=1.3.0
Requires-Dist: rdflib<7.7.0,>=7.1.4
Requires-Dist: semantikon<1.5.0,>=1.4.0
Requires-Dist: typeguard<4.6.0,>=4.2.0
Provides-Extra: cluster
Requires-Dist: h5py==3.16.0; extra == 'cluster'
Requires-Dist: pysqa==0.4.3; extra == 'cluster'
Provides-Extra: fleche
Requires-Dist: fleche==0.21.0; extra == 'fleche'
Provides-Extra: notebook
Requires-Dist: python-workflow-definition==0.1.5; extra == 'notebook'
Description-Content-Type: text/markdown

# pyiron_workflow

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/pyiron_workflow/HEAD)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Coverage](https://codecov.io/gh/pyiron/pyiron_workflow/graph/badge.svg)](https://codecov.io/gh/pyiron/pyiron_workflow)
[![Documentation](https://readthedocs.org/projects/pyiron-workflow/badge/?version=latest)](https://pyiron-workflow.readthedocs.io/en/latest/?badge=latest)

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.19114207.svg)](https://doi.org/10.5281/zenodo.19114207)
[![Anaconda](https://anaconda.org/conda-forge/pyiron_workflow/badges/version.svg)](https://anaconda.org/conda-forge/pyiron_workflow)
[![Last Updated](https://anaconda.org/conda-forge/pyiron_workflow/badges/latest_release_date.svg
)](https://anaconda.org/conda-forge/pyiron_workflow)
[![Platform](https://anaconda.org/conda-forge/pyiron_workflow/badges/platforms.svg)](https://anaconda.org/conda-forge/pyiron_workflow)
[![Downloads](https://anaconda.org/conda-forge/pyiron_workflow/badges/downloads.svg)](https://anaconda.org/conda-forge/pyiron_workflow)


## pyiron_workflow

A workflow management system (WfMS) built on top of the [flowrep](https://github.com/pyiron/flowrep/) data paradigm, for transforming prospective recipes into retrospective data results.

## Features

- **_Clear provenance_** coupling `flowrep`'s recipes to resulting data, augmented with practical metadata for each run
- **_Easy, dynamic workflow construction_** with the core `Workflow` object
- **_Type and ontological validation_** of recipes using [semantikon](https://github.com/pyiron/semantikon) for ontological analysis
- **_Scale compute_** by applying python executors to any node in the workflow, including HPC SLURM-allocated resources leveraging [executorlib](https://github.com/pyiron/executorlib)
- **_Monitor progress_** with a flexible event hook system, useful for dumping checkpoints or state-at-exception for failed runs, or for GUIs to grab onto for visually monitoring what has been executed so far

For an introduction and full tour of available features, check out the [user guide notebook](../notebooks/user_guide.ipynb)

## Installation

`conda install -c conda-forge pyiron_workflow`

See the [pyproject file](../pyproject.toml) for optional dependencies to unlock extra functionality.

## Migrating from an older version

Versions of `pyiron_workflow` <0.17.0 pre-date `flowrep`. [Version 0.18.0](https://github.com/pyiron/pyiron_workflow/tree/pyiron_workflow-0.18.0) offers old and flowrep-based implementations concurrently, and includes a compatibility module and notebook to aid with migration.

## Citing

If you use `pyiron_workflow` in your research, please cite the [Zenodo DOI](https://doi.org/10.5281/zenodo.19114207)
