Skip to content
forked from aiidateam/plumpy

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

License

Notifications You must be signed in to change notification settings

rikigigi/plumpy

This branch is 23 commits behind aiidateam/plumpy:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

44d27d1 Â· Jun 23, 2023
Nov 21, 2022
Apr 8, 2022
Apr 8, 2022
Jun 23, 2023
Apr 20, 2023
Jan 13, 2021
Jun 7, 2023
Jan 5, 2021
Jun 23, 2023
Apr 8, 2022
Nov 29, 2022
Jan 5, 2021
Jun 7, 2023

Repository files navigation

plumpy

Build status Docs status Latest Version PyVersions License

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 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.

Installation

pip install plumpy

or

conda install -c conda-forge plumpy

Development

This package utilises tox for unit test automation, and pre-commit for code style formatting and test automation.

To install these development dependencies:

pip install tox pre-commit

To run the unit tests:

tox

For the rmq tests you will require a running instance of RabbitMQ. One way to achieve this is using Docker and launching test/rmq/docker-compose.yml.

To run the pre-commit tests:

pre-commit run --all

To build the documentation:

tox -e docs-clean

Changes should be submitted as Pull Requests (PRs) to the develop branch.

Publishing Releases

  1. Create a release PR/commit to the develop branch, updating plumpy/version.py and CHANGELOG.md.
  2. Fast-forward merge develop into the master branch
  3. Create a release on GitHub (https://github.com/aiidateam/plumpy/releases/new), pointing to the release commit on master, named v.X.Y.Z (identical to version in plumpy/version.py)
  4. This will trigger the continuous-deployment GitHub workflow which, if all tests pass, will publish the package to PyPi. Check this has successfully completed in the GitHub Actions tab (https://github.com/aiidateam/plumpy/actions).

(if the release fails, delete the release and tag)

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Jupyter Notebook 0.2%