Use npe2api instead of scraping PyPI for active plugins #1331
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Recent changes to the PyPI website to prevent scraping search results have...prevented us from scraping search results.
npe2api faced the same issue but also uses the public BigQuery PyPI metadata database as a source of truth for active plugins (with the Framework::napari trove classifier). This means the index is only updated every 2h (could possibly be reduced to 1h), but it's a more robust and future-proof solution.
I believe relying on npe2api (https://api.napari.org) as a source of truth is reasonable given the plan to move napari-hub to community support.
Related
napari/npe2api#35
napari/npe2api#37
napari/npe2api#41
napari Zulip Thread
PyPI Discussion