bioconda-utils command reference#

This page is an index of the public bioconda-utils commands. It explains what each command owns and links to the corresponding workflow documentation. The installed command’s --help output is authoritative for all available options in that version.

bioconda-utils --help
bioconda-utils <command> --help

For installation, common arguments, and credentials, start with bioconda-utils.

Recipe contribution commands#

lint#

Check recipes against Bioconda policy and consistency rules. Select recipes by package name or Git range:

bioconda-utils lint --git-range master...HEAD
bioconda-utils lint recipes/ config.yml --packages samtools

See Linting for the checks and their remedies.

build#

Build and test selected recipes. --docker runs conda-build in Bioconda’s build container, while --mulled-build-and-test installs the resulting package in a minimal container and repeats the recipe tests:

bioconda-utils build --docker --mulled-build-and-test \
  --packages samtools --force

The command also owns optional package and container uploads. See Testing Recipes Locally for local build and isolated-test examples.

dag#

Export the recipe dependency graph as GML, Graphviz dot, or text. The text format groups recipes by build order:

bioconda-utils dag recipes/ config.yml --packages samtools --format txt

Use --hide-singletons to omit packages without graph relationships.

dependent#

List recipes that depend on a package, or dependencies of the selected package:

bioconda-utils dependent recipes/ config.yml \
  --reverse-dependencies samtools

clean-cran-skeleton#

Normalize a recipe generated by conda skeleton cran for Bioconda, including removal of Windows-only entries and generated comments:

bioconda-utils clean-cran-skeleton recipes/r-example --no-windows

bioconductor-skeleton#

Generate a Bioconductor recipe. --recursive also generates missing R dependencies:

bioconda-utils bioconductor-skeleton limma recipes/ config.yml --recursive

See the Bioconductor section of Guidelines for bioconda recipes for policy and maintenance details.

Repository maintenance commands#

These commands are primarily intended for Bioconda maintainers and automation. Review their help and the linked workflow before using options that upload, remove, commit, or push data.

autobump#

Scan recipes for new upstream releases and optionally create update pull requests:

bioconda-utils autobump recipes/ config.yml --packages samtools --dry-run

See Updating recipes for filters, hosters, and update behavior.

update-pinning#

Increase build numbers for recipes affected by changed dependency pinnings and propagate required rebuilds through the recipe graph:

bioconda-utils update-pinning recipes/ config.yml \
  --packages samtools --max-bumps 20

See Updating pinnings for the bulk migration workflow.

duplicates#

Find Bioconda packages that also exist in another configured channel:

bioconda-utils duplicates config.yml

--strict-version and --strict-build control matching. --remove is destructive, requires strict build matching, and requires ANACONDA_TOKEN.

annotate-build-failures#

Record a build failure reason and optionally add a recipe to the skiplist:

bioconda-utils annotate-build-failures recipes/example \
  --reason "test timeout" --category "test failure" --skiplist

See Handling build failures for the bulk-run process.

list-build-failures#

List recorded recipe failures, optionally filtering by Git range or producing Markdown output:

bioconda-utils list-build-failures recipes/ config.yml \
  --output-format markdown

See Handling build failures for interpreting and resolving the records.

bulk-trigger-ci#

Create and push the empty commit used to start a build from the protected bulk branch:

bioconda-utils bulk-trigger-ci

This command pushes Git history and is only appropriate within Managing a bulk run.

CI artifact and container publication commands#

handle-merged-pr#

Fetch and upload artifacts for a merged bioconda-recipes pull request. If the selected CI artifacts are unavailable, it can fall back to building the recipe locally:

bioconda-utils handle-merged-pr recipes/ config.yml \
  --repo bioconda/bioconda-recipes --git-range master...HEAD

This is an automation command with Anaconda, Quay, GitHub, and CI-provider integration. Use its --help output and Build system before running it manually.