Open-source project
bioconda/bioconda-recipes avatar
bioconda/bioconda-recipes

Bioconda Recipes: The Build Source for Bioinformatics Conda Packages

Conda recipes for the bioconda channel. Nightly build status The nightly uploader jobs build any recipes that exist on master but were not successfully uploaded to the bioconda channel.

1,869 stars4,097 forksShellMIT

At a glance

What is it?
The bioconda-recipes repository is the collection of Conda recipes that feed the bioconda channel. It targets Linux and macOS users on x86_64 and ARM64, with nightly builds that catch failed uploads.
Who is it for?
Adopt bioconda-recipes if you are a bioinformatics tool developer who wants to distribute packages to a large user base via Conda, or a user who needs to understand how packages are built. Do not adopt it if you need Windows support or prefer a decentralized package distribution model.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Shell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What This Repository Actually Is

The bioconda-recipes repository is not a software project in the usual sense. It is a collection of Conda recipe files, each describing how to build a specific bioinformatics tool into a Conda package. The README states that the repository hosts the recipes for the bioconda channel, which is a Conda channel providing bioinformatics packages for Linux and macOS, supporting both x86_64 and aarch64/arm64 architectures. If you have used Conda to install a bioinformatics tool from the bioconda channel, you have consumed the output of these recipes. The repository is the build source, not the package store. The actual packages live on anaconda.org. This distinction matters because the repository's health directly affects whether new versions of tools appear in the channel.

The Nightly Build Mechanism

The key operational detail is the nightly uploader jobs. According to the README, these jobs build any recipes that exist on the master branch but were not successfully uploaded to the bioconda channel. This is a catch-up mechanism. If a recipe was merged but the initial build failed, or if a build was skipped for some reason, the nightly job tries again. The README states that any failure in the nightly build should be resolved with a pull request for the affected recipe. This means the nightly status is a health metric for the repository. A green status for a given architecture indicates that all recipes that should be uploaded have been uploaded. A red status means some recipe is broken and needs attention. The build status is tracked per architecture: linux-64, osx-64, osx-arm64, and linux-aarch64. The linux-64 and osx-64 statuses are on Azure Pipelines, osx-arm64 is on GitHub Actions, and linux-aarch64 is on CircleCI, which requires login to view.

Supported Architectures and the ARM Question

The README explicitly lists supported platforms: Linux and macOS, with x86_64 and aarch64/arm64. This is a narrower scope than the general Conda ecosystem, which also supports Windows. For bioinformatics, this is often acceptable because most tools are developed on Unix-like systems. The inclusion of aarch64 and arm64 is notable. Apple Silicon users get native packages, and ARM Linux servers are covered. However, the README does not mention Windows at all. If you are a Windows user, this repository is not for you. The nightly build status table shows that linux-aarch64 builds are handled by CircleCI, which requires login, while the other three are publicly visible via badges. This asymmetry means that checking ARM Linux build health is less transparent than checking x86_64.

Getting Involved: The Contributor Path

The README points to a dedicated developer guide at https://bioconda.github.io/contributor/index.html. It does not give specific commands or recipe syntax in the README itself. To add a new package or update an existing one, you would need to read that guide. The repository is written in Shell as the primary language, which is typical for Conda recipes that often include build scripts. The license is MIT, which is permissive. The contributor guide is the authoritative source for how to write recipes, but the README gives a clear hint: any failure in the nightly build should be resolved with a PR for the affected recipe. So the workflow is: clone the repository, modify or add a recipe, submit a pull request, and the nightly job will eventually verify that your recipe builds and uploads.

A Real Limitation: The Nightly Catch-Up Is Not Real-Time

The nightly build runs once per day. If a recipe is merged after the nightly job has already run, it will not be uploaded until the next night. This introduces a delay between a merge and package availability. For a user waiting for a critical bug fix, that delay can be annoying. The README does not mention any trigger for immediate builds on merge. The nightly job is explicitly described as building recipes that exist on master but were not successfully uploaded. That implies that the primary build pipeline may also run on merge, but the README does not confirm that. In practice, many recipes are built via CI on pull requests, but this is not documented here. The limitation is that the nightly status only reflects the state at build time, and a failure may not be noticed until the next day.

Alternatives: Other Package Managers and Channels

The main alternative is the conda-forge channel, which also hosts recipes for Conda. The difference is scope: conda-forge is a community-driven channel for general software, while bioconda is specialized for bioinformatics. The README does not mention conda-forge, but the distinction is well known in the Conda ecosystem. Another alternative is to use pip or a language-specific package manager, such as Bioconda's own tooling that often wraps Python packages. The approach differs: pip installs from PyPI, which is not Conda-aware and does not handle non-Python dependencies like system libraries. Bioconda recipes explicitly declare dependencies, which is a key advantage. If you are a developer, you might also consider uploading directly to anaconda.org yourself, but then you lose the community testing and the nightly build safety net that bioconda provides.

Maintenance and Upgrade Cost

The repository is under active maintenance, as indicated by the nightly build infrastructure and the presence of a contributor guide. The README does not give a release cadence, and no recent releases are listed. This is typical for a recipe repository, where changes are continuous rather than versioned. The maintenance cost is on the contributors. If you maintain a recipe, you are responsible for updating it when the upstream tool releases a new version. The nightly build will catch a broken recipe, but it will not update a recipe for you. The license is MIT, which means you can reuse the recipe code with minimal restrictions, but you must include the copyright notice. The documentation is hosted on a separate site, which is a good practice, but the README is thin on details, so you must rely on the external docs.

Who Should Use This Repository

This repository is for two groups. First, bioinformatics software developers who want to distribute their tools to a wide audience via Conda. Second, users who want to understand how the bioconda channel works and why some packages are not available. If you are a user, you do not need to clone this repository to install packages; you just use the bioconda channel. But if you are a developer, the contributor guide is your entry point. The nightly build status is a useful signal: if you see a red badge for your architecture, you know a recipe is broken and you can help fix it. The repository is not for those who need Windows packages or who prefer a more decentralized approach. The concrete next step is to read the contributor guide and submit a PR for a recipe that is failing the nightly build.

Editorial conclusion

Adopt bioconda-recipes if you are a bioinformatics tool developer who wants to distribute packages to a large user base via Conda, or a user who needs to understand how packages are built. Do not adopt it if you need Windows support or prefer a decentralized package distribution model. Before contributing, verify the contributor guide at https://bioconda.github.io/contributor/index.html and check the nightly build status for your target architecture. The repository is actively maintained, but its value depends on the community's willingness to fix nightly failures promptly.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
Community notes

Community notes