Skip to main content

A workflow depedency graph compiler and pre-automation handler

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 - you may wish to pull and merge main prior to running.


Install

python3 -m pip install bioblueprint


Usage

Run BioBlueprint after development is done, 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

<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>,
        ..
    }
  },
  ..
}

<REPO>.testing.json

A JSON formatted to convey affected workflows and the causal dependencies:

{
  <WF_NAME_1>: {
    "path": <PATH_RELATIVE_TO_REPO>,
    "modifications": [
        <TASK/WF_1>,
        ..
    ]
  },
  ..
}

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

bioblueprint-1.1.3.tar.gz (57.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bioblueprint-1.1.3-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

Details for the file bioblueprint-1.1.3.tar.gz.

File metadata

  • Download URL: bioblueprint-1.1.3.tar.gz
  • Upload date:
  • Size: 57.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for bioblueprint-1.1.3.tar.gz
Algorithm Hash digest
SHA256 e36caa1e956d23194d82d1cff30a82eb6d41aae96e8aa87868f8ae7069e7e17d
MD5 44d1565af2559d2f12dfd72e1f46c67f
BLAKE2b-256 51bec8e6ca4c68da0192be0c750426965b22e5b18895ff2ef7a3401c47e33a8d

See more details on using hashes here.

File details

Details for the file bioblueprint-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: bioblueprint-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 45.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for bioblueprint-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f7a80386aae2e642ca94de9aa4b1631dd013e6ac6ad0eff782638cc1b7cb80d1
MD5 2b7e3524d0485ebfbedeae7a6c07a41f
BLAKE2b-256 f2a8d0795dc252453e65c8ec4bd67dd0a04b6abe8baf3e515b0cad67008cb94f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page