Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #14050

Re: QtPy (python3-qtpy) dependencies

Path csiph.com!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!bofh.it!news.nic.it!robomod
From Julian Gilbey <julian@d-and-j.net>
Newsgroups linux.debian.maint.python
Subject Re: QtPy (python3-qtpy) dependencies
Date Thu, 07 Apr 2022 12:00:01 +0200
Message-ID <E9x5L-750c-3@gated-at.bofh.it> (permalink)
References <E9lxD-6XGR-1@gated-at.bofh.it> <E9wjn-74JV-15@gated-at.bofh.it>
X-Original-To ghisvail@gmail.com
X-Mailbox-Line From debian-python-request@lists.debian.org Thu Apr 7 09:50:06 2022
Old-Return-Path <julian@d-and-j.net>
X-Amavis-Spam-Status No, score=-6.21 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, GMAIL=1, LDO_WHITELIST=-5, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
X-Policyd-Weight using cached result; rate: -4.6
MIME-Version 1.0
Content-Type text/plain; charset=iso-8859-1
Content-Disposition inline
Content-Transfer-Encoding 8bit
X-Mailing-List <debian-python@lists.debian.org> archive/latest/19872
List-ID <debian-python.lists.debian.org>
List-URL <https://lists.debian.org/debian-python/>
List-Archive https://lists.debian.org/msgid-search/Yk6zwClqn3iUqSxz@d-and-j.net
Approved robomod@news.nic.it
Lines 94
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Cc Debian Python list <debian-python@lists.debian.org>
X-Original-Date Thu, 7 Apr 2022 10:49:52 +0100
X-Original-Message-ID <Yk6zwClqn3iUqSxz@d-and-j.net>
X-Original-References <Yk3/v+8HccPnFk9F@d-and-j.net> <3679f0e1cc9439878c25eeb9db9fbfefbbe2b857.camel@gmail.com>
Xref csiph.com linux.debian.maint.python:14050

Show key headers only | View raw


Hi Ghis,

On Thu, Apr 07, 2022 at 11:03:22AM +0200, ghisvail@gmail.com wrote:
> Hi Julian,
> 
> Le mercredi 06 avril 2022 à 22:01 +0100, Julian Gilbey a écrit :
> > I've just uploaded the latest version of QtPy (source: python-qtpy,
> > binary: python3-qtpy).  But I'm disturbed by the dependency list.
> 
> Thank you for taking care of it.

Pleasure; I needed it for the latest version of Spyder, but it's
turning out to be a little harder than I anticipated!

> > QtPy is a wrapper for PyQt5, PyQt6, PySide2 and PySide6 providing a
> > uniform interface to these different packages.  As such, setup.py
> > etc. do not specify a dependency on any Qt library, but the package
> > is
> > of no use without at least one of them installed.
> 
> You analysis is correct.
> 
> I'll add that, at the time of the initial package submission, only
> PyQt5 and PySide2 were supported and the latter was in an uncertain
> state maintenance-wise. So it serves pretty much as a shim layer for
> "some wrapper around modern Qt" but the only viable option was PyQt5.
> 
> Hopefully, things are completely different now and the alternatives
> have caught up. Which I guess is the origin of your struggle today.

That makes a lot of sense!

> > 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.

> 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.

> > 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.

> > I'd appreciate thoughts on how to proceed from this group before
> > doing
> > anything.
> 
> Good luck.
> 
> Cheers,
> Ghis

Thanks!

   Julian

Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

QtPy (python3-qtpy) dependencies Julian Gilbey <julian@d-and-j.net> - 2022-04-06 23:40 +0200
  Re: QtPy (python3-qtpy) dependencies ghisvail@gmail.com - 2022-04-07 11:10 +0200
    Re: QtPy (python3-qtpy) dependencies Julian Gilbey <julian@d-and-j.net> - 2022-04-07 12:00 +0200
      Re: QtPy (python3-qtpy) dependencies ghisvail@gmail.com - 2022-04-07 12:20 +0200

csiph-web