[PyQt] RFQ on PyQt End-of-Life Policy
phil at riverbankcomputing.com
Mon Mar 25 11:19:29 GMT 2019
Comments welcome on the following...
Historically PyQt5 has supported all versions of Qt v5 and all versions of Python starting with v2.6. As time goes on this is increasingly inappropriate, particularly with the imminent EOL (End-of-Life) of Python v2. The policy described here will be adopted starting with the release of Qt v5.13.0.
In the following, given a version number 5.x.y, 'x' is referred to as the major version number and 'y' the minor version number.
When a new major version of Qt is released there will be a corresponding major release of PyQt5. (The minor release numbers may not correspond if a subsequent minor release of Qt appears before the major release of PyQt5.)
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.)
A new minor version release of PyQt5 may be released at any time if deemed appropriate. The GPL wheels will contain the version of Qt current at the time.
When a new major release of PyQt5 is made support for any major version of Python that has since reached EOL will be removed.
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.
The following dates have been published for Qt and Python (as of March 2019).
Python v3.4 EOL March 2019
Qt v5.13.0 to be released May 2019
Python v2 EOL January 2020
It is assumed that PyQt5 v5.13 will be released in March 2019, sip v5.0 will be released before the end of 2019 and sip v5.1 before the end of 2020.
The following statements can therefore be made.
- Support for Python v3.0, v3.1, v3.2, v3.3 and v3.4 will be removed in PyQt5 v5.13.
- sip v5.0 will support Python v3.5 and later.
- sip v4 must be used with PyQt5 if Python v2 support is required.
- PyQt5 support for Python v2 will be removed when sip v5.1 is released before the end of 2020.
More information about the PyQt