Replies: 5 comments 8 replies
-
See also #331 |
Beta Was this translation helpful? Give feedback.
-
This would actually be easy to do even with "old"
This would probably be useful regardless of whether we introspect dependencies or not as there's always going to be gremlins we can't foresee.
This is the bit that I think is trickier. I feel like at most we could provide a link to the failing workflow run, and maybe also a link to a workflow file they could use themselves to mimic the failure. We could possibly support custom instructions for some very common failures if we know how to fix them, but I worry that would be a big can of worms.
I agree here to an extent. I think we should provide opportunities for the developers to fix these issues before surfacing them to users, and provide as many tools as we can to help the developers investigate these issues, but as the plugin ecosystem grows I think we'll start needing to be prescriptive e.g. flagging plugins if they consistently fail installs for multiple releases. I think the preview page can be a good middle ground for communicating these issues to developers before we flag them to users. |
Beta Was this translation helpful? Give feedback.
-
Does enabling a way to do the plugin pip install as |
Beta Was this translation helpful? Give feedback.
-
does this approach (explicitly trying a vanilla install on each OS) effectively cover the scenarios that #331 addresses? |
Beta Was this translation helpful? Give feedback.
-
here is a workflow (borrowing @DragaDoncila's plugin matrix json strategy 🙏) that I made to try to install every plugin and do some basic discovery and health checks:
About a third (35/111) of plugins fail one or more of these tests on mac and/or windows (Note, I haven't yet disabled dev tools, so some of these may actually be successfully building sdists, and this might be an optimistic summary). That's a bit disappointing. Some might have custom install instructions (conda, etc.), that would make them work, but they would fail in the builtin installer. As we promote rapid adoption of napari, I would love to see us put more resources into keeping the expected success rate up! expected to fail on both
expected to fail on mac
expected to fail on windows
|
Beta Was this translation helpful? Give feedback.
-
One of the issues flagged in napari/napari#3223 is that we will always have issues installing plugins that depend on a compilation step, because they don't provide a wheel or (in the future) a conda-forge package.
@tlambert03 writes:
To scale such encouragement, napari-hub could systematically attempt to either introspect plugin dependencies (this should be easier with our new setup.cfg-based cookiecutter), OR to install each plugin on a vanilla machine on each OS (ie one that doesn't have developer tools installed). If installation fails, this would be marked on the plugin page. Plugin developers would be provided instructions on how that mark could be removed.
The whole process needs to be carefully designed so that this is indeed encouragement rather than discouragement. 😂
CC @sofroniewn @tlambert03
Beta Was this translation helpful? Give feedback.
All reactions