napari / napari-plugin-manager

napari plugin manager to provide a graphical user interface for installing napari plugins.
https://napari.org/napari-plugin-manager
BSD 3-Clause "New" or "Revised" License
5 stars 5 forks source link

Allow customization of conda channels in use #78

Open jaimergp opened 1 month ago

jaimergp commented 1 month ago

One request I would like to add.

  • [ ] The developer defines the channels (other than conda-forge ) proposed for the plugin, and the GUI allows the user to activate those channels with a single click when they install it.

This is very useful for plugins that rely on very important but released libraries in their own channel, such as pytorch, for example.

Originally posted by @hiroalchem in https://github.com/napari/napari-plugin-manager/issues/14#issuecomment-1611532586

jaimergp commented 1 month ago

@hiroalchem question, is your request gear towards the lineedit in the bottom of the dialog where you can type any package or drag and drop a tarball from the filesystem?

Do you mean to add extra channel besides conda-forge, is the case for plugins in the napari plugin ecosystem that they need extra channels besides conda forge?

Thanks!

Originally posted by @goanpeca in https://github.com/napari/napari-plugin-manager/issues/14#issuecomment-2219545407

goanpeca commented 1 month ago

Haven't heard from @hiroalchem, so I am not sure I follow. Is this about adding extra channels that will be added globally to any conda install, or locally (per package item) when installing something?

Thoughts @jaimergp ?

jaimergp commented 1 month ago

I think they'd like to obtain plugins for non-conda-forge channels? We currently feed it from the npe2api, so I guess they'll need to supply additional endpoints with the same JSON payloads. This is not urgent or even required, but I created the issue so it wouldn't get lost when closing the other meta issue.

goanpeca commented 1 month ago

We currently feed it from the npe2api, so I guess they'll need to supply additional endpoints with the same JSON payloads.

Indeed, since that is a static site, I don't see this happening soonish :-|

psobolewskiPhD commented 1 month ago

I don't think it would be plugins in other channels, but rather plugins with dependencies in other channels? like -c nvidia or something? (bad example, i know they've moved into conda-forge)

jaimergp commented 1 month ago

I feel that's only for very specific packages (e.g. pytorch on Windows, etc), and not a widespread need. As in, this is likely going to cause more issues that it solves. I would be ok with a very specific setting like "Obtain PyTorch from -c pytorch on Windows". That said, I think this particular example will be soon gone thanks to https://github.com/conda-forge/pytorch-cpu-feedstock/pull/231

hiroalchem commented 1 week ago

My original post was mainly about PyTorch, particularly how to make it easier for users to install it when they want to use a GPU.