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_MODULESdirectory. 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_MODULESenvironment variable to its local path. The recommended pattern usespype registry pathto 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