Skip to main content

A Python workflow library.

Project description

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)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plumpy-0.21.10.tar.gz (73.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plumpy-0.21.10-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

Details for the file plumpy-0.21.10.tar.gz.

File metadata

  • Download URL: plumpy-0.21.10.tar.gz
  • Upload date:
  • Size: 73.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for plumpy-0.21.10.tar.gz
Algorithm Hash digest
SHA256 4df81a420fa235d2a97fd0b3c82d9ec0ab50edf7c3eb5f06fa57bde273ab8ec0
MD5 09da63e46d837871e26840baa0bedac1
BLAKE2b-256 6a3eb969b1dc71945d87976ebd883de6105e50ecf3bc0db6acedbe0f77d306ba

See more details on using hashes here.

File details

Details for the file plumpy-0.21.10-py3-none-any.whl.

File metadata

  • Download URL: plumpy-0.21.10-py3-none-any.whl
  • Upload date:
  • Size: 74.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for plumpy-0.21.10-py3-none-any.whl
Algorithm Hash digest
SHA256 844e4530e20b5ca86cb027c8fab4947c58638f34ebd5e7fb35b3ff2e71dfe7b4
MD5 48089ba1e31991f1e20aac9cee4be3b5
BLAKE2b-256 0af838aa6ab9bab1cf0db1efccf1c4134eb400d4db78ef418f81e89d3d3d104f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page