Workflow Registry#

The registry is bio-pype’s package manager for bioinformatics workflows. It provides a way to discover, install, update, and manage versioned workflow packages distributed via git repositories.

Concepts#

Registry

A git repository containing a manifest of available workflows. The default registry is https://codeberg.org/bio-pype/workflows-registry.git. You can configure additional registries or use a private one.

Workflow package

A directory containing snippets, pipelines, profiles, and/or queues subdirectories — the same layout as a PYPE_MODULES directory. Packages are versioned using date-based version strings (e.g., 2026.03.11-1).

Activation

Once installed, a workflow is activated by setting the PYPE_MODULES environment variable to its local path. The recommended pattern uses pype registry path to get the correct path:

export PYPE_MODULES=$(pype registry path somatic==2026.03.11-1)

Getting Started#

1. Sync the registry

Fetch the manifest of available workflows from the remote registry:

pype registry sync

This downloads the registry index to the local cache (~/.bio_pype/cache/). No workflows are installed yet — this is just the index.

To sync a specific registry URL:

pype registry sync https://codeberg.org/my-org/my-registry.git

2. Search available workflows

List all workflows in the synced registry:

pype registry search

Filter by keyword:

pype registry search somatic

Add -a / --all for detailed information (versions, maintainer, tags, homepage):

pype registry search -a

3. Install a workflow

Install the latest version of a workflow:

pype registry install qc

Install a specific version:

pype registry install somatic==2026.03.11-1

When installing over an existing version, any local modifications you made to the previous version are automatically carried forward to the new version.

4. Activate the workflow

After installation, set PYPE_MODULES to activate the workflow for use in bio-pype:

export PYPE_MODULES=$(pype registry path somatic==2026.03.11-1)

To make this permanent for a specific project, add it to your shell profile or a project activation script.

5. Set up your profile

Workflow packages often include a profile spec (a .yaml.spec file). When one is present, build the profile automatically — Bio_pype downloads and builds the reference files and pulls the software for you:

pype profiles build hg38 --ref-dir /data/references

If the package ships a plain profile template instead, edit it to point at resources you already have:

pype profiles edit hg38

See Building Profiles Automatically for the spec format and build options, or Profiles for the full profile reference.

Managing Installed Workflows#

List installed workflows:

pype registry list

Shows a compact table of all installed packages and their versions.

Update a workflow:

pype registry update somatic

Installs the latest version and carries forward your local modifications.

Remove a workflow:

pype registry remove somatic

Get the path to an installed workflow:

pype registry path somatic==2026.03.11-1

This is the same command used in the export PYPE_MODULES=$(...) pattern.

Publishing Workflows#

If you are a workflow developer who wants to publish to a registry, see the pype registry init, pype registry manifest, and pype registry publish commands.

Initialize a new registry:

pype registry init ./my-registry --name "My Workflows" --maintainer "My Name"

This creates a repo.yaml file in the specified directory. The directory should be a git repository that you push to a remote (e.g., Codeberg or GitHub).

Publish a new workflow version:

pype registry publish registry_module_path workflow_package_dir

Where registry_module_path is your local registry directory and workflow_package_dir is the directory containing the workflow to publish.

Rebuild the manifest (after manually editing version files):

pype registry manifest

Configuration#

The default registry URL can be changed in ~/.bio_pype/config:

PYPE_REGISTRY=https://codeberg.org/my-org/my-registry.git

Or per-command using the --registry flag:

pype registry sync --registry https://codeberg.org/my-org/my-registry.git
pype registry search --registry https://codeberg.org/my-org/my-registry.git

The local cache is stored in ~/.bio_pype/cache/ by default. Override with --cache:

pype registry sync --cache /custom/cache/path