Path: csiph.com!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!bofh.it!news.nic.it!robomod From: ghisvail@gmail.com Newsgroups: linux.debian.maint.python Subject: Re: QtPy (python3-qtpy) dependencies Date: Thu, 07 Apr 2022 12:20:01 +0200 Message-ID: References: X-Original-To: Julian Gilbey X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Apr 7 10:18:32 2022 Old-Return-Path: X-Amavis-Spam-Status: No, score=-6.572 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, LDO_WHITELIST=-5, RCVD_IN_DNSWL_NONE=-0.0001, SARE_MSGID_LONG40=0.637, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -5.5 X-Gm-Message-State: AOAM530KoVVs2GN+wCUIwhn0WE+FIYMZLreYDUFDBEkGkaVdr3m7luS+ 3FV5nMYL/gIIADkzmLJCmu2wNN74zDyXdA== X-Google-SMTP-Source: ABdhPJxwI2rOB6U9VcE82AYr+D+pQNzi1FMn5T1Q+qk7q9fcAxOqFR5y6dcynt8IP5yfW9H7XHHIwQ== X-Received: by 2002:a1c:740b:0:b0:38e:7b7d:1cd6 with SMTP id p11-20020a1c740b000000b0038e7b7d1cd6mr11623341wmc.78.1649326697662; Thu, 07 Apr 2022 03:18:17 -0700 (PDT) Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailing-List: archive/latest/19873 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/fc37500c14aa2e590aa1d69c82cde9ef694fa85b.camel@gmail.com Approved: robomod@news.nic.it Lines: 84 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Cc: Debian Python list X-Original-Date: Thu, 07 Apr 2022 12:18:16 +0200 X-Original-Message-ID: X-Original-References: <3679f0e1cc9439878c25eeb9db9fbfefbbe2b857.camel@gmail.com> Xref: csiph.com linux.debian.maint.python:14051 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