# conda-forge: Community Conda Package Channel


conda-forge is a community-maintained collection of [conda packages](https://pydevtools.com/handbook/reference/conda-package.md) distributed through a public channel on [anaconda.org](https://anaconda.org/conda-forge). Over 25,000 feedstocks (package repositories) produce builds for Linux, macOS, and Windows across multiple CPU architectures. Each feedstock contains a build recipe in its own GitHub repository, and automated infrastructure rebuilds packages when dependencies change or new platforms appear.

> [!NOTE]
> The default [Anaconda](https://pydevtools.com/handbook/reference/anaconda.md) channel [requires a paid license](https://pydevtools.com/handbook/explanation/is-conda-actually-free.md) for commercial use in organizations with more than 200 employees. conda-forge has no such restriction.

## Key Features

- Free for all use, including commercial, with no licensing restrictions
- Automated version bumps: bots monitor upstream releases on [PyPI](https://pydevtools.com/handbook/explanation/what-is-pypi.md) and open pull requests to update feedstocks within hours
- Broad platform coverage: Linux (x86_64, aarch64, ppc64le), macOS (x86_64, arm64), and Windows (x86_64)
- Community governance: an elected steering council and open RFC process manage policy decisions
- OCI mirror: an experimental mirror on GitHub Packages provides a vendor-independent distribution path using the Open Container Initiative specification

## Default Channel Configuration

[Conda](https://pydevtools.com/handbook/reference/conda.md) and [Miniconda](https://pydevtools.com/handbook/explanation/understanding-the-conda-anaconda-ecosystem.md) ship with the Anaconda repository as the default channel. Switching to conda-forge removes the commercial licensing requirement:

```bash
conda config --add channels conda-forge
conda config --set channel_priority strict
```

Setting `channel_priority strict` tells conda to prefer conda-forge when both channels provide the same package, preventing version conflicts from mixed channels.

[Miniforge](https://github.com/conda-forge/miniforge) and [Pixi](https://pydevtools.com/handbook/reference/pixi.md) use conda-forge as the default channel out of the box.

## Package Submission Process

Anyone can submit a new package by opening a pull request to the [staged-recipes](https://github.com/conda-forge/staged-recipes) repository with a build recipe. Once merged, conda-forge creates a dedicated feedstock repository and grants the submitter maintainer access. A single feedstock may produce multiple output packages (for example, a library and its Python bindings) through multi-output recipes.

## conda-forge vs. the Anaconda Channel

| | conda-forge | Anaconda channel |
|---|---|---|
| Maintainer | Community volunteers | Anaconda, Inc. |
| License | Free for all use | [Paid license required](https://pydevtools.com/handbook/explanation/is-conda-actually-free.md) for organizations above 200 employees |
| Feedstocks / packages | 25,000+ feedstocks | ~7,500 curated packages |
| Update speed | Hours to days after upstream release | Weeks to months |
| Platform coverage | Linux (x86_64, aarch64, ppc64le), macOS (x86_64, arm64), Windows | Linux, macOS, Windows (x86_64 only) |
| Governance | Elected steering council, open RFCs | Internal to Anaconda, Inc. |

## Pros

- No commercial licensing restrictions
- Faster package updates than the Anaconda channel
- Broader platform and architecture support
- Transparent, open-source build infrastructure
- Large maintainer community (thousands of contributors)

## Cons

- Package quality depends on volunteer maintainers, not a dedicated curation team
- Mixing conda-forge with the Anaconda channel can cause solver conflicts
- Build infrastructure relies on donated CI resources, which occasionally leads to build backlogs

## Learn More

### Handbook Pages

- [Understanding the Conda/Anaconda ecosystem](https://pydevtools.com/handbook/explanation/understanding-the-conda-anaconda-ecosystem.md)
- [Is Conda actually free?](https://pydevtools.com/handbook/explanation/is-conda-actually-free.md)
- [Why should I choose conda?](https://pydevtools.com/handbook/explanation/why-should-i-choose-conda.md)
- [uv vs. Pixi vs. Conda for scientific Python](https://pydevtools.com/handbook/explanation/uv-vs-pixi-vs-conda-for-scientific-python.md)

### Official Resources

- [conda-forge documentation](https://conda-forge.org/docs/)
- [Contributing packages](https://conda-forge.org/docs/maintainer/adding_pkgs/)
- [conda-forge status dashboard](https://conda-forge.org/status/)
- [conda-forge on GitHub](https://github.com/conda-forge)
- [Miniforge](https://github.com/conda-forge/miniforge)
