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.
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
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.
package | version |
---|---|
packtivity | |
yadage-schemas | |
adage |