Understand channel paths and priorityUnderstand visibility, mirrors, namespaces, and base or override priority.
A channel path tells tools where to find packages. Channel priority helps the solver choose between package candidates from different sources.
A solver is the part of Pixi, conda, mamba, or micromamba that selects a compatible set of package versions and builds for an environment.
Channel types
A public channel is open for anyone to browse and download. You do not need channel credentials to use it.
A private channel is available only to people and tools that have been given access.
A mirror channel follows packages from an external source. You can browse it on prefix.dev, but the website does not offer settings or package uploads for mirrors.
Namespaces and primary channels
Every channel belongs to a namespace. The namespace is the URL-safe owner identifier and forms the first segment of the channel path.
A namespace has one primary channel, addressed by the namespace alone. Additional channels are non-primary and add their local channel name as a second segment.
The channel overview displays the canonical reference. Copy it rather than constructing it from the display name.
Canonical channel paths
Type | Canonical reference | Website page | Package repository URL |
|---|---|---|---|
Primary |
|
|
|
Non-primary |
|
|
|
The @ appears only in the website route. Do not use it in package-manager, upload, API, or repository paths.
For example, the canonical reference acme/research maps to:
website:
https://prefix.dev/channels/@acme/researchpackage repository:
https://prefix.dev/acme/research
Base and override priority
You can connect a channel to a base channel, an overrides channel, or both. This lets your channel build on another package set without copying its packages.
The package installation card generates the complete channel list in this order, from highest to lowest priority:
base channel -> current channel -> overrides channel
Choose a Base Channel when that source should have higher priority than the current channel.
Choose an Overrides Channel when the current channel should have higher priority.
prefix.dev also writes these relations to repodata, the channel index downloaded by package solvers, using the CEP-0042 convention. Client support varies, so copy the complete generated command instead of assuming that a client will discover related channels automatically.
Channel order is only part of a solve. Existing configured channels and a client’s strict, flexible, or disabled priority mode can change which candidate is selected. A higher-priority channel can also supply an older build.
A channel cannot relate to itself, and the same channel cannot be both base and override. The complete relation graph must remain acyclic: indirect cycles such as A → B → A cause clients that support CEP-0042 relations to abort resolution.