Skip to main content

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>": {
    "<TERRA_ENTITY_NAME>: {
      "samples": [], # empty list indicates all samples
      "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>,
        ..
    }
  },
  ..
}

Metadata

Release files for bioblueprint 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bioblueprint 1.3.0
File Size Uploaded
bioblueprint-1.3.0.tar.gz 36.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bioblueprint 1.3.0
File Interpreter ABI Platform
bioblueprint-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 76.3 kB

Release files / bioblueprint-1.3.0.tar.gz

Download URL bioblueprint-1.3.0.tar.gz
Size 36.5 kB
Tags Source
SHA-256 checksum
How to use checksums
96248a2df4f9d833608f23b711958147a5185f211d712302d6f58592d80829ce
BLAKE2b-256 checksum
How to use checksums
b0f175d5a4176e707e4a9fdb032b3b37936d2d4a130414e87623de36aeff1872
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / bioblueprint-1.3.0-py3-none-any.whl

Download URL bioblueprint-1.3.0-py3-none-any.whl
Size 39.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1eb3e1aec1d3689c184ad7b9a6230525d43a01c97f202d03d65c01bb3fcfd47c
BLAKE2b-256 checksum
How to use checksums
0c9546a087aa0742cf35eafb5ca65b392b10463c734216925c57816b87a7a918
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page