Feature: check for explicit Qt dependencies #333
Replies: 1 comment
-
I absolutely think this is something we should surface for users and plugin developers. We could surface it only on the preview page initially and give plugin developers time to correct this before displaying it on plugin detail pages. I do ultimately think that this needs to be shown as a warning to users on individual plugins, because I agree with @tlambert03 that we need to be careful about plugin developer practices reflecting back on napari as instability. Today we reached over 100 plugins on the napari hub. I'd like us to implement this feature (as well as those in #331 and #334) as a matter of some urgency. This one in particular is relatively trivial. Pinging @neuromusic so we can start roadmapping these. |
Beta Was this translation helpful? Give feedback.
-
From napari/napari#3223 (comment), the culprit is allencell-segmenter, which explicitly declares
pyqt5
in its dependencies which is doubly problematic:conda install napari
, they will have gotten pyqt from conda, (which names itpyqt
) ... and the pip installation (namedpyqt5
) will cause problems. They will basically break their environment.Proposal
plugins should never explicitly require a Qt backend. The end-user will not have gotten napari running at all if a backend wasn't there, so it's unnecessary, and can only lead to issues. They should only import from
qtpy
(instead of PyQt5 or PySide2), and not mention a backend.Would be nice to add a check for this and somehow notify developers.
Beta Was this translation helpful? Give feedback.
All reactions