napari / packaging

6 stars 9 forks source link

Exclude `pyqt` from installers #31

Open jaimergp opened 2 years ago

jaimergp commented 2 years ago

Pending new version of constructor, which provides solver-less installs thanks to https://github.com/conda/constructor/pull/559

jaimergp commented 2 years ago

Even if we will remove pyqt from the installation, a plugin might still bring it back if it directly depends on it, or a dependency does. We have setup a CI pipeline to analyse potential cases like this, and we are finding a few.

I'll be collecting them here, along with the relevant issues and PRs fixing it.

psobolewskiPhD commented 2 years ago

@jaimergp another thing to check for might be depending on napari[all] since this also pulls in PyQt. See for example PlatyMatch: https://github.com/juglab/PlatyMatch/pull/7

jaimergp commented 2 years ago

Thanks @psobolewskiPhD! I checked the conda-forge recipe and it doesn't suffer from that issue, since there's no napari[all] option in conda, just napari, so we are covered in this case!

psobolewskiPhD commented 2 years ago

Oh good. Alas that specific one does have a from PyQt5.QtCore import Qt as well. Hopefully the devs take a look at my PR.

jaimergp commented 2 years ago

Oh I had missed the PR content! Good catch! So far the experimental CI doesn't check the source content. I think we could talk with the napari-hub team to set some kind of static code analysis though.