https://github.com/aiidateam/plumpy

A python workflows library that supports writing Processes with a well defined set of inputs and outputs that can be strung together.

https://github.com/aiidateam/plumpy

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 16 committers (6.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.7%) to scientific vocabulary

Keywords

aiida python rabbitmq

Keywords from Contributors

computational-science data-provenance provenance scheduler ssh workflow-engine workflows materials-science ab-initio aiida-vasp
Last synced: 6 months ago · JSON representation

Repository

A python workflows library that supports writing Processes with a well defined set of inputs and outputs that can be strung together.

Basic Info
Statistics
  • Stars: 9
  • Watchers: 2
  • Forks: 18
  • Open Issues: 28
  • Releases: 12
Topics
aiida python rabbitmq
Created almost 9 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.md

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

bash pip install plumpy

or

bash 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:

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.

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)

Owner

  • Name: AiiDA team
  • Login: aiidateam
  • Kind: organization

The development team of AiiDA

GitHub Events

Total
  • Create event: 21
  • Release event: 2
  • Issues event: 7
  • Delete event: 17
  • Issue comment event: 74
  • Push event: 74
  • Pull request review event: 122
  • Pull request review comment event: 103
  • Pull request event: 52
  • Fork event: 1
Last Year
  • Create event: 21
  • Release event: 2
  • Issues event: 7
  • Delete event: 17
  • Issue comment event: 74
  • Push event: 74
  • Pull request review event: 122
  • Pull request review comment event: 103
  • Pull request event: 52
  • Fork event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 679
  • Total Committers: 16
  • Avg Commits per committer: 42.438
  • Development Distribution Score (DDS): 0.399
Past Year
  • Commits: 20
  • Committers: 6
  • Avg Commits per committer: 3.333
  • Development Distribution Score (DDS): 0.55
Top Committers
Name Email Commits
Martin Uhrin m****n@g****m 408
Sebastiaan Huber m****l@s****t 187
Chris Sewell c****l@h****m 24
Jason Eu m****u@y****m 20
Dominik Gresch g****d@g****h 16
Alexander Goscinski a****i@p****e 7
Tiziano Müller t****r@c****h 4
Simon Adorf s****f@e****h 3
Leopold Talirz l****z@g****m 2
Sebastiaan Huber a****r@m****m 2
Ali Khosravi k****i@g****m 1
DropD r****n@g****h 1
Espen e****l@o****o 1
Riccardo Bertossa 3****i 1
Sebastiano Bisacchi 3****3 1
Espen e****n@s****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 40
  • Total pull requests: 128
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 19 days
  • Total issue authors: 11
  • Total pull request authors: 10
  • Average comments per issue: 2.4
  • Average comments per pull request: 2.21
  • Merged pull requests: 95
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 46
  • Average time to close issues: 14 days
  • Average time to close pull requests: 18 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 1.4
  • Average comments per pull request: 1.59
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sphuber (19)
  • chrisjsewell (6)
  • unkcpz (5)
  • khsrali (2)
  • espenfl (2)
  • danielhollas (1)
  • giovannipizzi (1)
  • ltalirz (1)
  • bastonero (1)
  • csadorf (1)
  • rikigigi (1)
Pull Request Authors
  • sphuber (50)
  • unkcpz (39)
  • chrisjsewell (23)
  • agoscinski (12)
  • khsrali (8)
  • sebaB003 (4)
  • ltalirz (3)
  • danielhollas (2)
  • rikigigi (1)
  • csadorf (1)
Top Labels
Issue Labels
priority/important (8) priority/critical (7) type/bug (6) topic/dependencies (6) topic/ports (5) priority/nice to have (5) topic/processes (4) type/dependencies (4) type/enhancement (4) type/question (3) type/requested feature (2) documentation (2) type/accepted feature (1) pr/blocked (1) topic/event-loop (1) topic/communicator (1) topic/testing (1) topic/workchains (1)
Pull Request Labels
pr/blocked (3)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 27,573 last-month
  • Total docker downloads: 37,978
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 20
    (may contain duplicates)
  • Total versions: 114
  • Total maintainers: 4
pypi.org: plumpy

A Python workflow library.

  • Versions: 79
  • Dependent Packages: 2
  • Dependent Repositories: 10
  • Downloads: 27,573 Last month
  • Docker Downloads: 37,978
Rankings
Docker downloads count: 1.2%
Downloads: 2.3%
Dependent packages count: 3.1%
Dependent repos count: 4.6%
Average: 6.4%
Forks count: 9.6%
Stargazers count: 17.7%
Last synced: 6 months ago
conda-forge.org: plumpy
  • Versions: 35
  • Dependent Packages: 1
  • Dependent Repositories: 10
Rankings
Dependent repos count: 11.0%
Dependent packages count: 29.0%
Average: 34.5%
Forks count: 42.6%
Stargazers count: 55.5%
Last synced: 6 months ago

Dependencies

.github/workflows/cd.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
  • postgres 12 docker
  • rabbitmq latest docker
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
  • rabbitmq latest docker
test/rmq/docker-compose.yml docker
  • rabbitmq 3.8.3-management