A Python workflow library.
Project description
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 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
- Create a release PR/commit to the
developbranch, updatingplumpy/version.pyandCHANGELOG.md. - Fast-forward merge
developinto themasterbranch - Create a release on GitHub (https://github.com/aiidateam/plumpy/releases/new), pointing to the release commit on
master, namedv.X.Y.Z(identical to version inplumpy/version.py) - This will trigger the
continuous-deploymentGitHub 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plumpy-0.22.3.tar.gz.
File metadata
- Download URL: plumpy-0.22.3.tar.gz
- Upload date:
- Size: 73.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e58f45e6360f173babf04e2a4abacae9867622768ce2a126c8260db3b46372c4
|
|
| MD5 |
7a7fe62aabbec821eb41445783659c54
|
|
| BLAKE2b-256 |
ab996c931d3f4697acd34cf18eb3fbfe96ed55cd0408d9be7c0f316349117a8e
|
File details
Details for the file plumpy-0.22.3-py3-none-any.whl.
File metadata
- Download URL: plumpy-0.22.3-py3-none-any.whl
- Upload date:
- Size: 74.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.31.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63ae6c90713f52483836a3b2b3e1941eab7ada920c303092facc27e78229bdc3
|
|
| MD5 |
82581e60a5c51f0809dccf2a76a14bc2
|
|
| BLAKE2b-256 |
95d912fd8281f494ca79d6a7a9d40099616d16415be5807959e5b024dffe8aed
|