About conda plugins#
conda’s plugin system
lets anyone extend conda with new functionality. Plugins are regular
Python packages that declare entry points under
[project.entry-points.conda] in their pyproject.toml.
What plugins can do#
Plugins can hook into many parts of conda’s lifecycle via plugin hooks. Each hook has its own documentation page in the conda developer guide:
- Auth handlers
Handle channel authentication and credential storage.
- Environment exporters
Export environments in custom formats.
- Environment specifiers
Provide alternative environment specification formats.
- Error hints
Add contextual hints when conda reports an expected error.
- Exception observers
Observe unexpected exceptions for external reporting or diagnostics.
- Health checks
Run diagnostic checks on environments.
- Package extractors
Extract packages from custom archive formats.
- Pre-commands / Post-commands
Run code before or after built-in conda commands.
- Pre-solves / Post-solves
Inspect requested specifications before a solve or records after it.
- Pre-transactions / Post-transactions
Hook into environment transactions (installs, updates, removes).
- PrefixData loaders
Customize how installed package metadata is read.
- Reporter backends
Provide custom output formats for conda commands.
- Request and session headers
Inject HTTP headers into individual channel requests or client sessions.
- Settings
Register custom configuration options.
- Solvers
Provide alternative dependency resolution backends.
- Subcommands
Add new
conda <name>CLI commands.- Virtual packages
Provide virtual package information to the solver.
For the full API reference, see the Plugin API docs.