plumpy


Nameplumpy JSON
Version 0.22.3 PyPI version JSON
download
home_pageNone
SummaryA Python workflow library.
upload_time2024-02-02 14:54:55
maintainerNone
docs_urlNone
authorSebastiaan Huber, Jason Yu, Leopold Talirz, Dominik Gresch
requires_python>=3.8
licenseNone
keywords workflow multithreaded rabbitmq
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## plumpy

<img src="https://github.com/aiidateam/plumpy/blob/master/docs/source/_static/logo.svg" width="64px" height="auto">

[![Build status][github-ci]][github-link]
[![Docs status][rtd-badge]][rtd-link]
[![Latest Version][pypi-badge]][pypi-link]
[![PyVersions][pyversions-badge]][pyversions-link]
[![License][license-badge]][license-link]

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](https://pypi.org/project/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

```bash
pip install plumpy
```

or

```bash
conda install -c conda-forge plumpy
```

## Development

This package utilises [tox](https://tox.readthedocs.io) for unit test automation, and [pre-commit](https://pre-commit.com/) for code style formatting and test automation.

To install these development dependencies:

```bash
pip install tox pre-commit
```

To run the unit tests:

```bash
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`](test/rmq/docker-compose.yml).

To run the pre-commit tests:

```bash
pre-commit run --all
```

To build the documentation:

```bash
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)

[github-ci]: https://github.com/aiidateam/plumpy/workflows/continuous-integration/badge.svg?branch=develop&event=push
[github-link]: https://github.com/aiidateam/plumpy/actions
[rtd-badge]: https://readthedocs.org/projects/plumpy/badge
[rtd-link]: http://plumpy.readthedocs.io/
[pypi-badge]: https://img.shields.io/pypi/v/plumpy.svg
[pypi-link]: https://pypi.python.org/pypi/plumpy/
[pyversions-badge]: https://img.shields.io/pypi/pyversions/plumpy.svg
[pyversions-link]: https://pypi.python.org/pypi/plumpy/
[license-badge]: https://img.shields.io/pypi/l/plumpy.svg
[license-link]: https://pypi.python.org/pypi/plumpy/

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "plumpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "workflow,multithreaded,rabbitmq",
    "author": "Sebastiaan Huber, Jason Yu, Leopold Talirz, Dominik Gresch",
    "author_email": "Martin Uhrin <martin.uhrin@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/ab/99/6c931d3f4697acd34cf18eb3fbfe96ed55cd0408d9be7c0f316349117a8e/plumpy-0.22.3.tar.gz",
    "platform": null,
    "description": "## plumpy\n\n<img src=\"https://github.com/aiidateam/plumpy/blob/master/docs/source/_static/logo.svg\" width=\"64px\" height=\"auto\">\n\n[![Build status][github-ci]][github-link]\n[![Docs status][rtd-badge]][rtd-link]\n[![Latest Version][pypi-badge]][pypi-link]\n[![PyVersions][pyversions-badge]][pyversions-link]\n[![License][license-badge]][license-link]\n\nA python workflows library that supports writing Processes with a well defined set of inputs and outputs that can be\nstrung together.\n\nRabbitMQ is used to queue up, control and monitor running processes via the\n[kiwipy](https://pypi.org/project/kiwipy/) library.\n\nFeatures:\n\n* Processes can be remotely controlled by sending messages over RabbitMQ all from a simple interface\n* Progress can be saved between steps and continued later\n* Optional explicit specification of inputs and outputs including their types, validation functions, help strings, etc.\n\n## Installation\n\n```bash\npip install plumpy\n```\n\nor\n\n```bash\nconda install -c conda-forge plumpy\n```\n\n## Development\n\nThis package utilises [tox](https://tox.readthedocs.io) for unit test automation, and [pre-commit](https://pre-commit.com/) for code style formatting and test automation.\n\nTo install these development dependencies:\n\n```bash\npip install tox pre-commit\n```\n\nTo run the unit tests:\n\n```bash\ntox\n```\n\nFor the `rmq` tests you will require a running instance of RabbitMQ.\nOne way to achieve this is using Docker and launching [`test/rmq/docker-compose.yml`](test/rmq/docker-compose.yml).\n\nTo run the pre-commit tests:\n\n```bash\npre-commit run --all\n```\n\nTo build the documentation:\n\n```bash\ntox -e docs-clean\n```\n\nChanges should be submitted as Pull Requests (PRs) to the `develop` branch.\n\n## Publishing Releases\n\n1. Create a release PR/commit to the `develop` branch, updating `plumpy/version.py` and `CHANGELOG.md`.\n2. Fast-forward merge `develop` into the `master` branch\n3. 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`)\n4. 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>).\n\n(if the release fails, delete the release and tag)\n\n[github-ci]: https://github.com/aiidateam/plumpy/workflows/continuous-integration/badge.svg?branch=develop&event=push\n[github-link]: https://github.com/aiidateam/plumpy/actions\n[rtd-badge]: https://readthedocs.org/projects/plumpy/badge\n[rtd-link]: http://plumpy.readthedocs.io/\n[pypi-badge]: https://img.shields.io/pypi/v/plumpy.svg\n[pypi-link]: https://pypi.python.org/pypi/plumpy/\n[pyversions-badge]: https://img.shields.io/pypi/pyversions/plumpy.svg\n[pyversions-link]: https://pypi.python.org/pypi/plumpy/\n[license-badge]: https://img.shields.io/pypi/l/plumpy.svg\n[license-link]: https://pypi.python.org/pypi/plumpy/\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python workflow library.",
    "version": "0.22.3",
    "project_urls": {
        "Documentation": "https://plumpy.readthedocs.io",
        "Home": "https://github.com/aiidateam/plumpy",
        "Source": "https://github.com/aiidateam/plumpy"
    },
    "split_keywords": [
        "workflow",
        "multithreaded",
        "rabbitmq"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "95d912fd8281f494ca79d6a7a9d40099616d16415be5807959e5b024dffe8aed",
                "md5": "82581e60a5c51f0809dccf2a76a14bc2",
                "sha256": "63ae6c90713f52483836a3b2b3e1941eab7ada920c303092facc27e78229bdc3"
            },
            "downloads": -1,
            "filename": "plumpy-0.22.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "82581e60a5c51f0809dccf2a76a14bc2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 74244,
            "upload_time": "2024-02-02T14:54:52",
            "upload_time_iso_8601": "2024-02-02T14:54:52.322013Z",
            "url": "https://files.pythonhosted.org/packages/95/d9/12fd8281f494ca79d6a7a9d40099616d16415be5807959e5b024dffe8aed/plumpy-0.22.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab996c931d3f4697acd34cf18eb3fbfe96ed55cd0408d9be7c0f316349117a8e",
                "md5": "7a7fe62aabbec821eb41445783659c54",
                "sha256": "e58f45e6360f173babf04e2a4abacae9867622768ce2a126c8260db3b46372c4"
            },
            "downloads": -1,
            "filename": "plumpy-0.22.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7a7fe62aabbec821eb41445783659c54",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 73582,
            "upload_time": "2024-02-02T14:54:55",
            "upload_time_iso_8601": "2024-02-02T14:54:55.014624Z",
            "url": "https://files.pythonhosted.org/packages/ab/99/6c931d3f4697acd34cf18eb3fbfe96ed55cd0408d9be7c0f316349117a8e/plumpy-0.22.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-02 14:54:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aiidateam",
    "github_project": "plumpy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "plumpy"
}
        
Elapsed time: 0.26334s