conda_env
installers / providers plugin hooks
#13833
Labels
plugins::env
pertains to conda-env
plugins
pertains to a plugin/subcommand
source::contributor
created by a frequent contributor
type::feature
request for a new feature or capability
Checklist
What is the idea?
conda env
supports different types of "installers" in theenvironment.yml
specification:Assuming
dependencies
has typelist[str | dict[str, str]
, the key of the accepted mappings must be one module name underconda.env.installers
. There's a base class and everything, so things are almost ready.I'd like to see this used in practice by the plugin system. I don't think it's useful to allow random plugins to implement different tools for custom environment.yml subtypes (e.g. a custom plugin should not be able to parse a
- custom: [spec]
field. However, I do see the point in having different plugins to handle thepip
mappings. This could be used to improve thepip
support inconda env
via additional plugins that allow safer interoperability, or faster solves (looking atuv
).Why is this needed?
Better flexibility for the
pip
section in environment.yml. Allows to iterate with plugins instead of adding more burden on conda core codebase.What should happen?
Plugins should be able to provide a hook implementation that subclasses the installers base class, for known values. For now there's only
pip
but maybe in the future we seenode
?Additional Context
conda env
has also classes for spec files. This could also be used to implement different file formats and/or versions where new behaviour is introduced (e.g. addingpypi-dependencies
instead of using a- pip: [specs]
mapping.The text was updated successfully, but these errors were encountered: