[PyQt] RFQ on PyQt End-of-Life Policy

Florian Bruhin me at the-compiler.org
Mon Mar 25 12:37:21 GMT 2019


On Mon, Mar 25, 2019 at 11:19:29AM +0000, Phil Thompson wrote:
> When a new minor version of Qt is released an assessment will be made as to
> the state of current development and whether a new minor version of PyQt5
> should be released.  If not then the existing GPL wheels will be replaced
> with ones with that Qt release.
> 
> When the new minor version of Qt is part of the latest LTS version then the
> existing GPL wheels will be replaced with ones with that Qt release.  (Note
> that this does not mean that there are LTS versions of PyQt5 as the version
> of PyQt5 will not be changed.)

That sounds amazing! I guess "the latest LTS versions" means you plan to
release updated wheels for Qt 5.12.x LTS releases even after 5.13, but we can't
expect any new wheels with Qt 5.9.x LTS versions?

FWIW with qutebrowser I'd like to keep support for Qt 5.9 LTS for a while
(since it's used e.g. in Ubuntu 18.04 LTS, which doesn't have an upgrade path
before 20.04 LTS in 2020). Having updated wheels would help with testing the
latest patch release on CI.

> Irrespective of the EOL of Python v2, support for it in sip v4 will continue
> until the EOL of sip v4.  sip v5.0 will be developed in parallel to the
> continued maintenance of sip v4 and the two versions will be compatible as
> far as PyQt5 is concerned.  However sip v5 will not support versions of
> Python that have reached EOL (including Python v2).  The EOL of sip v4 will
> occur when sip v5.1 is released.  Any support for Python v2 will then be
> removed from the next major release of PyQt5.

Sounds good to me - FWIW there's also various projects which pledged to remove
Python 2 support in (or before) 2020: https://python3statement.org/

> - Support for Python v3.0, v3.1, v3.2, v3.3 and v3.4 will be removed in PyQt5
> v5.13.

Sounds sensible. FWIW I think it's also good to look at what other projects do,
especially things very low in the stack:

- pip: https://github.com/pypa/pip/issues/4350
  (notably, in May 2018, only 0.04% of downloads used Python 3.3)
  Dropped support for 2.6 and 3.3 around mid-2018:
  https://github.com/pypa/pip/blob/master/NEWS.rst#1000b1-2018-03-31
  https://github.com/pypa/pip/blob/master/NEWS.rst#180-2018-07-22
  Deprecated support for 3.4 in January 2019:
  https://github.com/pypa/pip/blob/master/NEWS.rst#190-2019-01-22
  Plans to drop support for 2.7 in 2020

- virtualenv: Dropped support for Python 3.2 in early 2016:
  https://virtualenv.pypa.io/en/latest/changes/#v14-0-0-2016-01-19

- pytest: Dropped support for 2.6 and 3.3 in late 2017:
  https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst#pytest-330-2017-11-23
  Plans to drop support for 2.7 and 3.4 in pytest 5.0 (before or in 2020).

Looking at PyQt5's own download statistics on PyPI:

$ pypistats python_minor --last-month PyQt5
| category | percent | downloads |
|----------|--------:|----------:|
|      3.6 |  41.35% |    71,285 |
|      3.7 |  41.17% |    70,967 |
|      3.5 |  12.42% |    21,413 |
| null     |   3.86% |     6,648 |
|      3.4 |   0.76% |     1,306 |
|      3.8 |   0.41% |       710 |
|      2.7 |   0.03% |        48 |
| Total    |         |   172,377 |

$ pypistats python_minor --last-month PyQt5-sip
| category | percent | downloads |
|----------|--------:|----------:|
|      3.7 |  43.01% |    57,452 |
|      3.6 |  42.65% |    56,974 |
|      3.5 |  13.12% |    17,523 |
| null     |   1.10% |     1,472 |
|      2.7 |   0.10% |       134 |
|      3.4 |   0.01% |        12 |
|      3.8 |   0.01% |        12 |
| Total    |         |   133,579 |

$ pypistats python_minor --last-month PyQtwebengine  
| category | percent | downloads |
|----------|--------:|----------:|
|      3.7 |  59.15% |     1,526 |
|      3.6 |  27.02% |       697 |
|      3.5 |   8.99% |       232 |
| null     |   4.84% |       125 |
| Total    |         |     2,580 |

(though PyQt doesn't provide Python 3 wheels, thus there are almost no 2.7
downloads)

> - sip v5.0 will support Python v3.5 and later.

It's interesting that there were only 12 PyQt5-sip downloads on 3.4, but 1306
PyQt5 downloads last month.

> - PyQt5 support for Python v2 will be removed when sip v5.1 is released before the end of 2020.

You might want to consider adding PyQt5 to https://python3statement.org/ as
well.

Florian

-- 
https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
         I love long mails! | https://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20190325/d82e17b7/attachment.sig>


More information about the PyQt mailing list