# yadage - yaml based adage
[![arXiv](https://img.shields.io/badge/arXiv-1706.01878-orange.svg)](https://arxiv.org/abs/1706.01878)
[![DOI](https://zenodo.org/badge/53543066.svg)](https://zenodo.org/badge/latestdoi/53543066)
[![PyPI version](https://badge.fury.io/py/yadage.svg)](https://badge.fury.io/py/yadage)
[![GitHub Actions Status: CI](https://github.com/yadage/yadage/workflows/CI/CD/badge.svg)](https://github.com/yadage/yadage/actions?query=workflow%3ACI%2FCD+branch%3Amaster)
[![Code Coverage](https://codecov.io/gh/yadage/yadage/graph/badge.svg?branch=master)](https://codecov.io/gh/yadage/yadage?branch=master)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/yadage/yadage.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/yadage/yadage/latest/files/)
[![CodeFactor](https://www.codefactor.io/repository/github/yadage/yadage/badge)](https://www.codefactor.io/repository/github/yadage/yadage)
[![Documentation Status](https://readthedocs.org/projects/yadage/badge/?version=latest)](http://yadage.readthedocs.io/en/latest/?badge=latest)
[![](https://images.microbadger.com/badges/version/yadage/yadage.svg)](https://microbadger.com/images/yadage/yadage "Get your own version badge on microbadger.com")
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
This package reads and executes workflows adhering to the workflow JSON schemas defined at https://github.com/yadage/yadage-schemas such as the ones stored in the community repository https://github.com/yadage/yadage-workflows. For executing the individual steps it mainly uses the packtivity python bindings provided by https://github.com/yadage/packtivity.
### Example Workflow
```
cat << 'EOF' > workflow.yml
stages:
- name: hello_world
dependencies: [init]
scheduler:
scheduler_type: singlestep-stage
parameters:
name: {step: init, output: name}
outputfile: '{workdir}/hello_world.txt'
step:
process:
process_type: 'string-interpolated-cmd'
cmd: 'echo Hello my Name is {name} | tee {outputfile}'
publisher:
publisher_type: 'frompar-pub'
outputmap:
outputfile: outputfile
environment:
environment_type: 'docker-encapsulated'
image: busybox
EOF
```
You can try this workflow via
```
yadage-run -p name="John Doe"
```
For more thorough examples, please see the [documentation](http://yadage.readthedocs.io/en/latest/)
### Possible Backends:
Yadage can run on various backends such as multiprocessing pools, ipython clusters, or celery clusters. If human intervention is needed for certain steps, it can also be run interactively.
### Published versions of related packages (main dependencies of yadage)
| package | version |
| ------------- |-------------|
| packtivity | [![PyPI version](https://badge.fury.io/py/packtivity.svg)](https://badge.fury.io/py/packtivity) |
| yadage-schemas | [![PyPI version](https://badge.fury.io/py/yadage-schemas.svg)](https://badge.fury.io/py/yadage-schemas) |
| adage | [![PyPI version](https://badge.fury.io/py/adage.svg)](https://badge.fury.io/py/adage) |
Raw data
{
"_id": null,
"home_page": "https://github.com/yadage/yadage",
"name": "yadage",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "physics yadage",
"author": "Lukas Heinrich",
"author_email": "lukas.heinrich@cern.ch",
"download_url": "https://files.pythonhosted.org/packages/68/0a/c8853540a96f1ecd12daca05821ad0073413215e960085490b31f9e073cd/yadage-0.21.0.tar.gz",
"platform": null,
"description": "# yadage - yaml based adage\n\n[![arXiv](https://img.shields.io/badge/arXiv-1706.01878-orange.svg)](https://arxiv.org/abs/1706.01878)\n[![DOI](https://zenodo.org/badge/53543066.svg)](https://zenodo.org/badge/latestdoi/53543066)\n[![PyPI version](https://badge.fury.io/py/yadage.svg)](https://badge.fury.io/py/yadage)\n[![GitHub Actions Status: CI](https://github.com/yadage/yadage/workflows/CI/CD/badge.svg)](https://github.com/yadage/yadage/actions?query=workflow%3ACI%2FCD+branch%3Amaster)\n[![Code Coverage](https://codecov.io/gh/yadage/yadage/graph/badge.svg?branch=master)](https://codecov.io/gh/yadage/yadage?branch=master)\n[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/yadage/yadage.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/yadage/yadage/latest/files/)\n[![CodeFactor](https://www.codefactor.io/repository/github/yadage/yadage/badge)](https://www.codefactor.io/repository/github/yadage/yadage)\n[![Documentation Status](https://readthedocs.org/projects/yadage/badge/?version=latest)](http://yadage.readthedocs.io/en/latest/?badge=latest)\n[![](https://images.microbadger.com/badges/version/yadage/yadage.svg)](https://microbadger.com/images/yadage/yadage \"Get your own version badge on microbadger.com\")\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nThis package reads and executes workflows adhering to the workflow JSON schemas defined at https://github.com/yadage/yadage-schemas such as the ones stored in the community repository https://github.com/yadage/yadage-workflows. For executing the individual steps it mainly uses the packtivity python bindings provided by https://github.com/yadage/packtivity.\n\n### Example Workflow\n\n```\ncat << 'EOF' > workflow.yml\nstages:\n- name: hello_world\n dependencies: [init]\n scheduler:\n scheduler_type: singlestep-stage\n parameters:\n name: {step: init, output: name}\n outputfile: '{workdir}/hello_world.txt'\n step:\n process:\n process_type: 'string-interpolated-cmd'\n cmd: 'echo Hello my Name is {name} | tee {outputfile}'\n publisher:\n publisher_type: 'frompar-pub'\n outputmap:\n outputfile: outputfile\n environment:\n environment_type: 'docker-encapsulated'\n image: busybox\nEOF\n```\n\nYou can try this workflow via\n\n```\nyadage-run -p name=\"John Doe\"\n```\n\nFor more thorough examples, please see the [documentation](http://yadage.readthedocs.io/en/latest/)\n\n### Possible Backends:\n\nYadage can run on various backends such as multiprocessing pools, ipython clusters, or celery clusters. If human intervention is needed for certain steps, it can also be run interactively.\n\n### Published versions of related packages (main dependencies of yadage)\n\n| package | version |\n| ------------- |-------------|\n| packtivity | [![PyPI version](https://badge.fury.io/py/packtivity.svg)](https://badge.fury.io/py/packtivity) |\n| yadage-schemas | [![PyPI version](https://badge.fury.io/py/yadage-schemas.svg)](https://badge.fury.io/py/yadage-schemas) | \n| adage | [![PyPI version](https://badge.fury.io/py/adage.svg)](https://badge.fury.io/py/adage) | \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "yadage - YAML based adage",
"version": "0.21.0",
"project_urls": {
"Documentation": "https://github.com/yadage/yadage",
"Homepage": "https://github.com/yadage/yadage",
"Issue Tracker": "https://github.com/yadage/yadage/issues",
"Source Code": "https://github.com/yadage/yadage"
},
"split_keywords": [
"physics",
"yadage"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "559c4078d4628aad03703d9b9feca3e2b8709de41dd96fc3992956cfc5b476fc",
"md5": "1934a67d4f63b0c111efc5d158bfc50b",
"sha256": "21e23a285f9c1cf00bb67c2d48cb136566ecfaaa548eb5964776d30ce60fef5c"
},
"downloads": -1,
"filename": "yadage-0.21.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1934a67d4f63b0c111efc5d158bfc50b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 52108,
"upload_time": "2023-09-19T03:13:24",
"upload_time_iso_8601": "2023-09-19T03:13:24.691396Z",
"url": "https://files.pythonhosted.org/packages/55/9c/4078d4628aad03703d9b9feca3e2b8709de41dd96fc3992956cfc5b476fc/yadage-0.21.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "680ac8853540a96f1ecd12daca05821ad0073413215e960085490b31f9e073cd",
"md5": "2af2445ea8602a1308e67b8c5d3b0655",
"sha256": "578edfec61813b144700c54eddb2eb7c31a7a0968018d3d2192c7acf45566760"
},
"downloads": -1,
"filename": "yadage-0.21.0.tar.gz",
"has_sig": false,
"md5_digest": "2af2445ea8602a1308e67b8c5d3b0655",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 138233,
"upload_time": "2023-09-19T03:13:27",
"upload_time_iso_8601": "2023-09-19T03:13:27.208823Z",
"url": "https://files.pythonhosted.org/packages/68/0a/c8853540a96f1ecd12daca05821ad0073413215e960085490b31f9e073cd/yadage-0.21.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-19 03:13:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yadage",
"github_project": "yadage",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "yadage"
}