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.18.6.tar.gz (68.9 kB view details)

Uploaded Source

Built Distribution

plumpy-0.18.6-py3-none-any.whl (60.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: plumpy-0.18.6.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.10

File hashes

Hashes for plumpy-0.18.6.tar.gz
Algorithm Hash digest
SHA256 5c729f3cf6ff85254d1cf75259b1b01e176668b5c83d8223c715e3a2ffd5a6df
MD5 89eab2365f8d73dd3f6cb6653284da54
BLAKE2b-256 8e7885fb829d9b5df678e257a45f7d10c515c7df443a14e06e8979902f8769b3

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: plumpy-0.18.6-py3-none-any.whl
  • Upload date:
  • Size: 60.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.10

File hashes

Hashes for plumpy-0.18.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d0014f590d06c1907a1fd7e0e9c1f005cb80f3a8dae8c891c9dc02d6fdfbadd
MD5 ad69f435b2aa7cc29cb59cf88af127dd
BLAKE2b-256 23e3ffc538b8da98473be697f947f2bdf3e10670fe6d19de5df0a51b1d917d1d

See more details on using hashes here.

Provenance

Supported by

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