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

RabbitMQ is used to queue up, control and monitor running processes via the kiwipy library.

  • Process can be remotely controlled by sending messages over RabbitMQ all from a simple interface

  • Process can be saved between steps and continued later

  • Optional explicit specification of inputs and outputs including their types, validation functions, help strings, etc.


It is recommended to install plumpy into a virtual environment:

$ pip install plumpy

or via Conda:

$ conda install plumpy

or to work directly from the source code:

$ git clone
$ cd plumpy
$ pip install -e ".[tests,docs]"

For remote controlled processes, you will also need to install and start the RabbitMQ server.

Getting Started

After you have successfully installed plumpy, you can walk-through the user tutorial to help you on your way.

The design concepts behind plumpy can be found in concepts section, and the complete API documentation is also provided.

Indices and tables


This software follows Semantic Versioning