-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Summary
This epic outlines the development that will be undertaken during the second phase of development for plugins in conda
. We hope that this successfully summarizes all efforts surrounding plugins and serves as a one-stop-shop for those wishing to know how we are progressing. Below, you will find epics related to our ongoing plugins work. These epics are primarily new plugin hooks we will be adding, new plugins themselves or other larger chunks of work related to plugins. Additionally, you will find a list of miscellaneous issues related to this phase of plugin work.
We also invite community members to use this epic as a place to discuss the ongoing work of plugins, especially if they are interested in getting involved with these ongoing development efforts.
What are our goals?
In the initial phase of plugin development, we set out to develop a prototype for how our plugin system could look like. During that phase, we added crucial components to conda such as the pluggy dependency and a hook to add conda sub-commands as registered plugins. Also included in this development were the beginnings of a separate repository that will hold example plugins. Although this initial work was a big step forward in accomplishing our ultimate goal of creating a plugin system, there is still a lot of work left to do to make this a fully featured system.
For the second phase of this work, we intend to accomplish the following goals:
- Create several new hooks that will allow further overriding and customizing conda's behavior (e.g. hooks for HTTP requests and overriding the solver)
- Add examples for how to use these hooks to our examples repository
- Release a plugin for the libmamba solver (this will utilize our new solver hook)
-
Release a plugin for overriding HTTP calls within conda - Create lots of new documentation that will empower our community to begin writing their own plugins
- Further refine our existing plugin hook for creating new conda sub-commands
Plugin Epics 📚
Here is a list of all the ongoing epics that are related to our high-level goals above.
Fetch Plugin Hook #11821- Implement Virtual Package Plugin Hook and Plugins #11811
- Towards a non-experimental conda-libmamba-solver plugin conda-libmamba-solver#109
- Virtual Package Plugins #11826
Administrative Tasks
Plugin Issues 📄
Here is a list of miscellaneous tasks related to completing this phase of development that were not large enough for their own epic.
Documentation
New plugin example templates
Create an example/template for using click with sub-command plugins conda-plugin-template#9Create template/example for the virtual package plugin hook conda-plugin-template#10
Refinements to existing plugin system
- Add ability to use CLI parsers like "click" for conda sub-command plugins #11777
SPIKE 🔍 Add a "plugins" sub-command for listing/searching conda approved plugins #11823- SPIKE 🔍 Developing Non-Python
conda
Plugins #11860 Plugin code executed in core modules should have extra error handling #12149- Conda should not crash on plugin load "ImportError" #12455
Metadata
Metadata
Labels
Type
Projects
Status