Metadata-Version: 2.1
Name: plumpy
Version: 0.18.1
Summary: A python workflow library
Home-page: https://github.com/muhrin/plumpy.git
Author: Martin Uhrin
Author-email: martin.uhrin@gmail.com
License: GPLv3 and MIT, see LICENSE file
Keywords: workflow multithreaded rabbitmq
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Requires-Dist: frozendict (~=1.2)
Requires-Dist: pyyaml (~=5.1.2)
Requires-Dist: nest-asyncio (~=1.4.0)
Requires-Dist: aio-pika (~=6.6)
Requires-Dist: kiwipy[rmq] (~=0.7.1)
Requires-Dist: aiocontextvars (~=0.2.2) ; python_version < "3.7"
Provides-Extra: docs
Requires-Dist: Sphinx (==1.8.4) ; extra == 'docs'
Requires-Dist: Pygments (==2.3.1) ; extra == 'docs'
Requires-Dist: docutils (==0.14) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (==0.4.3) ; extra == 'docs'
Provides-Extra: pre-commit
Requires-Dist: pre-commit (~=2.2) ; extra == 'pre-commit'
Requires-Dist: pylint (==2.5.2) ; extra == 'pre-commit'
Provides-Extra: tests
Requires-Dist: pytest (~=5.4) ; extra == 'tests'
Requires-Dist: shortuuid ; extra == 'tests'
Requires-Dist: pytest-asyncio ; extra == 'tests'
Requires-Dist: pytest-notebook ; extra == 'tests'

plumpy
======

.. image:: https://github.com/aiidateam/plumpy/workflows/continuous-integration/badge.svg?branch=develop&event=push
    :target: https://github.com/aiidateam/plumpy/actions
    :alt: Build status

.. image:: https://readthedocs.org/projects/plumpy/badge
    :target: http://plumpy.readthedocs.io/
    :alt: Docs status

.. image:: https://img.shields.io/pypi/v/plumpy.svg
    :target: https://pypi.python.org/pypi/plumpy/
    :alt: Latest Version

.. image:: https://img.shields.io/pypi/wheel/plumpy.svg
    :target: https://pypi.python.org/pypi/plumpy/

.. image:: https://img.shields.io/pypi/pyversions/plumpy.svg
    :target: https://pypi.python.org/pypi/plumpy/

.. image:: https://img.shields.io/pypi/l/plumpy.svg
    :target: https://pypi.python.org/pypi/plumpy/


A python workflows library that supports writing Processes with a well defined set of inputs and outputs that can be
strung together.

RabbitMQ is used to queue up, control and monitor running processes via the
`kiwipy <https://pypi.org/project/kiwipy/>`_ library.


Features:

* Processes can be remotely controlled by sending messages over RabbitMQ all from a simple interface
* Progress can be saved between steps and continued later
* Optional explicit specification of inputs and outputs including their types, validation functions, help strings, etc.


