Le jeudi 07 avril 2022 à 10:49 +0100, Julian Gilbey a écrit : > > > At present, the Debian python3-qtpy package depends on 17 > > > python3-pyqt5* packages, which seems to be at odds with the > > > intention > > > of the package to be Qt-package agnostic. It seems that it would > > > be > > > cleaner for python3-qtpy to > > > Recommends: python3-pyqt5 | python3-pyside2.qtcore > > > or perhaps to Depends: on these, and then if any packages require > > > any > > > more functionality than that provided by python3-pyqt5 or > > > python3-pyside2.qtcore, they should explicitly state the packages > > > they > > > depend on. But it seems strange that a package depending on > > > python3-qtpy should automatically pull in > > > python3-pyqt5.qttexttospeech, for example. > > > > Agreed. I suppose the PyQt5 ecosystem has grown since initial > > submission. There are two issues here: hard or soft depends and to > > which core packages. > > > > Regarding Depends vs Recommends, as you correctly stated before, > > QtPy > > is useless without a "backend" implementation. Which is why I chose > > Depends with a choice of alternatives. This way, a client package > > depending on QtPy would always get a default implementation, whilst > > having the possibility to override it with its own (but then what's > > the > > point?). > > That makes a lot of sense as well. At present, it still seems that > PyQt5 is the most standard, but I don't have much of evidence to back > up that hunch.
The stats for PyPI downloads backs that up: https://libraries.io/pypi/PyQt5 https://libraries.io/pypi/PySide2 I have a feeling this will turn differently for PyQt6 vs PySide6. > > Regarding which packages to depend on, that's subject to which > > subset > > of Qt{5,6} is supported by QtPy today. These might be in a need for > > an > > update. > > It appears that PyQt6 isn't in Debian yet, so that's not really an > option. Neither is PySide6, so it's just PyQt5 or PySide2. > In that case, there is not much else to do. Same status quo as last time I contributed to the package. > > > On the other hand, there are 13 packages in testing that depend > > > on > > > python3-qtpy, so they would potentially all require modifications > > > to > > > their dependencies if we made this change. (Three of these are > > > "mine", but that still leaves 10 that are not.) I have not yet > > > gone > > > through all 13 to see what python3-pyqt5.* dependencies they > > > actually > > > have. > > > > I'd be in favour with the least invasive option, which is to still > > use > > QtPy with Depends on a default implementation but update it with > > what's > > available today. > > I'm happy with sticking with that. I still think we have too many > dependencies, though; it's become rather a metapackage for PyQt5! > But > it's not a big deal. That's the danger with these shim packages. If they don't capture the same granularity of components as the backend implementations it wraps, then it becomes a rather heavy and annoying metapackage. Hope this helps. Ghis