Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The plugin manager should be compatible with PyPI sources as a warned fallback #7

Open
jaimergp opened this issue Aug 3, 2022 · 6 comments
Assignees
Labels
plugins Plugin or plugin-manager related UI/UX Needs UI/UX work

Comments

@jaimergp
Copy link
Collaborator

jaimergp commented Aug 3, 2022

From the NAP-2:

Note: Using both conda and pip presents certain risks that could irreversibly disrupt the installation, so it needs to be studied very carefully. Dependencies should be provided from conda-forge whenever possible (see previous experiments on this kind of automation (30) (31)), but PyPI packages can still be used as long as the user consents to a warning detailing the risks and recovery options

@goanpeca
Copy link
Collaborator

so there's no need to convert anything.

Would we still first try to do some "conversion" or dependency checks so we only pip install any non found conda dependencies?

@tlambert03
Copy link

Would be easy enough to add those checks to the Re index script at npe2api if you want

@goanpeca
Copy link
Collaborator

Hi @tlambert03 not sure I follow what you mean :) ?

@tlambert03
Copy link

Would we still first try to do some "conversion" or dependency checks

you could extend what @jaimergp has already done with this script: https://github.com/napari/npe2api/blob/main/scripts/reindex.py

for any given package found with the classifier on pypi, we also look up conda information. At that moment, we've got all of the dependencies needed by both the conda package and the pypi package. If you wanted to, it would be a good moment to check all of the dependencies for availability on conda, and pre-index whether any given package could be installed purely from conda forge, with a hybrid approach, or only from pypi. That index could be stored in a new json file in the public folder there.

that script runs once every 10 minutes

@goanpeca
Copy link
Collaborator

goanpeca commented Aug 16, 2022

Thanks for the explanation @tlambert03. I was thinking more in line with the drag and drop plugin installation for plugins that are not indexed.

That is the main use case for this issue.

@tlambert03
Copy link

got it! thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugins Plugin or plugin-manager related UI/UX Needs UI/UX work
Projects
Status: In Review
Development

No branches or pull requests

3 participants