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)
Release files for plumpy 0.26.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plumpy-0.26.1.tar.gz | 68.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plumpy-0.26.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 145.1 kB
Release files / plumpy-0.26.1.tar.gz
| Download URL | plumpy-0.26.1.tar.gz |
|---|---|
| Size | 68.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d4f301eed5c67afe0e49af31b27a8c44b6b35c49d5b4b4790992b580ce245424
|
|
BLAKE2b-256 checksum How to use checksums |
a661c99882788520d86e8fb8a40e8e03a1d43621d2f42e21829b49f469e7bd3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|
Release files / plumpy-0.26.1-py3-none-any.whl
| Download URL | plumpy-0.26.1-py3-none-any.whl |
|---|---|
| Size | 76.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e053949025d76dc4ecbebf114cf3b330788752a322ba56f8ec1bdb9e60de3cc1
|
|
BLAKE2b-256 checksum How to use checksums |
2e312f2cc916beaa68dd7230b3a4944c573e82c9bdf1b03bd07a1ca57811b6a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|