Skip to main content

Runs pipelines configured in YAML

Project description

Pipeline Runner

When running, the configuration folder should have the following structure

  example_configuration_folder
├──   pipelines.yaml
├──   variables.yaml
├──   functions.py
├──   templates
│  ├──   script.jinja2
│  ├──   singularity.jinja2
│  ├──   etc.jinja2

pipelines.yaml

The root element should be a dictionary in which the keys = pipeline names, the values = an array of tasks to run.

You can use the variables within the values by prefixing with a dollar sign ($), similar to shell expansions. You can escape $ by doubling it to $$

For a full example look at example/pipelines.yaml. The possible tasks are:

set_from_env: dict

Typically used in the beginning, used to define variables based on values from environment variables. Example:

- set_variables:
    USER: steve
    HOME: /scratch/$USER/home/

set_variables: dict

Directly define or override specific variables. Example:

- set_variables:
    NEW_VARIABLE: Superman
    VAR2: True

load_variables: str

This will load the flat dictionary of key str. Example:

- load_variables: pipeline_one

dump_variables: filename

This will dump all of the current variables into a file, specified by filename. Example:

- dump_variables: $SUBJECT/${SESSION}.sh
# Assumming SUBJECT + SESSION have been defined in a prior step

generate_file: dict

Create a file from a Jinja2 template. This step accepts a yaml dictionary with the following key-value pairs:

template
The Jinja2 template file to use relative to the configuration_dir/templates/
filepath
The full path onto which the new file should be saved to.
variable
The dynamic value of filepath is converted to a static absolute path and saved to the specifed variable. The default value = "OUTPUT_FILE".

Example:

- generate_file:
    template: script.jinja2
    filepath: $WORKING_DIR/$SUBJECT/$SESSION_PROCESSING.sh
    variable: PROCESSING_SCRIPT
# now $PROCESSING_SCRIPT can be used in a future step
# for example, a function that adds the script on the PBS queue

function: str

The function to call. Note: The functions must be defined in configuration_dir/functions.py Example:

- function: load_scripts_onto_pbs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prunner-0.6.4.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

prunner-0.6.4-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file prunner-0.6.4.tar.gz.

File metadata

  • Download URL: prunner-0.6.4.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for prunner-0.6.4.tar.gz
Algorithm Hash digest
SHA256 147de8b37f35088a7553b0f9e95586fc30243ff1f30abf3193c6f6cf567cb521
MD5 d39949c222acc15aa864d7ed993cf12e
BLAKE2b-256 4e669aa03e012f3a119f348223f44cfcd44269fd8bf9937fb4e25cba57101ce0

See more details on using hashes here.

File details

Details for the file prunner-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: prunner-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for prunner-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0249b84fe2c2f03876fe49c458b47f56b91ffb7d740ff39c2c97c34d7e91ce30
MD5 6a744e3b76d352e5dbc4cc52c900da4e
BLAKE2b-256 d73af50914466f1a0b0f918385c651494ed47f9793f50d415612cdd079be1c14

See more details on using hashes here.

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