A workflow dendency graph compiler and automation enabler
Project description
bioblueprint
bioblueprint is a python library designed to enable workflow language-interchangeable dependency graph compilation and development automation. It operates by compiling workflows, their dependencies, Git diff between branches, and using the modified files to trace testing paths within the dependency graph.
NOTE: bioblueprint operates on local branches
Install
python3 -m pip install bioblueprint
Usage
Run bioblueprint after a development iteration or to automate testing, then edit the "DESCRIPTION" field in the IO TSVs. You can also run after PRs have been generated.
Please see the help menu for a comprehensive list of input options.
bioblueprint -i <REPO_BASE_DIR> -d <DEVELOPMENT_BRANCH>
DEVELOPMENT: -d is the dev branch; -s is main (default)
VALIDATION: -d is main; -s is the previous release tag
PULL REQUESTS: A blank pull request is generated by default, but append -pr # to pull and use an existing PR.
Outputs
An output directory bioblueprint_YYYYmmdd/ will be generated containing the following files:
<REPO>.pr.md
A populated pull request template with I/O modifications, WF modifications, and testing paths. If -pr is specified, the PR will be downloaded and relevant fields populated with I/O and testing information - existing testing data will be retained and unmodified if formatted as a checklist with exact workflow name matches that are the first entry following the markdown checkbox (links are permitted). This function is tailored for accounted repositories:
<REPO>_inputs.tsv & <REPO>_outputs.tsv
Updated inputs/outputs tables for Public Health Bioinformatics
testing/<WORKFLOW>.testing.json
A JSON formatted with testing parameters (designed for bioforklift integration) for hosted workflows:
{
"<WF_NAME>": {
"path": "<PATH_RELATIVE_TO_REPO>",
"modified":
"<TASK/WF_1>",
..
],
"workflow_name": "<HOSTED_NAME>",
"branch": "<DERIVED_BRANCH>",
"repository": "<OWNER/REPOSITORY>",
"table": "<WF_NAME>_<TESTING_SUFFIX>",
"comment": "PR: <PR#>",
"input_json": "<REPOSITORY_INPUTS_JSON>",
"output_json": "<AVAILABLE_OUTPUTS>"
},
..
}
The input_json is derived from an inputs JSON file hosted in the repository that corresponds to the testing table that is hosted in the Terra workspace.
<REPO>.io.json
A JSON formatted to convey inputs and outputs, including defaults and types, for workflows:
{
<WF_NAME_1>: {
"path": <PATH_RELATIVE_TO_REPO>,
"inputs": {
<INPUT_1>:
{
"type": <WF_LANGUAGE_TYPE>,
"default": <DEFAULT_VAL>
},
..
},
"outputs": {
<OUTPUT_1>: <WF_LANGUAGE_TYPE>,
..
}
},
..
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bioblueprint-1.2.3.tar.gz.
File metadata
- Download URL: bioblueprint-1.2.3.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77f2a93865a09f449d471253491c8006eed88abf94b35fc6d62ed6a70692fe52
|
|
| MD5 |
386b45bcb670daa669618a0e741c8c65
|
|
| BLAKE2b-256 |
dd30ea06d2582ff20481963161b7d582649fc15018fc79283f33748fd5ecfad4
|
File details
Details for the file bioblueprint-1.2.3-py3-none-any.whl.
File metadata
- Download URL: bioblueprint-1.2.3-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f054706acf575d40556154b9701f8865ac46d4165e5f281cdebcc118f80ee1f4
|
|
| MD5 |
1f1de2406e5bbe1cd15452ce492d9238
|
|
| BLAKE2b-256 |
9f22793153d44dd01262e968fc378fa57e98013deca95ff285bb576686953230
|