[PyQt] ANN: SIP v5.0.0 and PyQt-builder v1.0.0 Released

Phil Thompson phil at riverbankcomputing.com
Tue Oct 8 18:28:16 BST 2019


SIP v5.0.0 and PyQt-builder v1.0.0 have been released and can be 
installed from PyPI.

SIP v4 was released 15 years ago and was only really a code generator. 
It was up to the bindings author to get the generated code compiled and 
turned into something that could be distributed and installed. SIP v5 
implements a complete extensible build system with which it is easy to 
create sdists and wheels for uploading to PyPI.

There are very few changes to the code generator (so long as you aren't 
using deprecated features) so there should be no need to modify your 
.sip files. Current PyQt snapshots will build with either SIP v4 or SIP 
v5. PyQt v5.14 will be built with SIP v5. Therefore, migrating to SIP v5 
should be all about changing (and hopefully significantly simplifying) 
the way you build your bindings rather than making changes to the 
bindings themselves.

If features are added to SIP v5 then they will also be backported to new 
releases of SIP v4. However when SIP v6 is released (in mid-2020) 
support for SIP v4 will be dropped and the old configure.py build 
scripts will be removed from the next major release of PyQt (which will 
probably be PyQt v5.15). In other words Linux distro packagers should 
have at least 9 months to migrate to SIP v5.

SIP v5 does not support Python v2.

PyQt-builder is an extension to the SIP v5 buildsystem used to build 
PyQt and projects that depend on it. It also includes pyqt-bundle which 
is a command line tool for taking a PyQt wheel and bundling it with a 
locally installed copy of Qt.

The PyQt documentation has been updated to a beta version of the v5.14 
documentation and includes the new build instructions, using pyqt-bundle 
and the PyQt-builder API.

PyQt5-sip has been updated to v12.7.0. This is identical to the previous 
release but adopts a different versioning scheme based on semantic 
versioning of the sip module ABI rather than the version of SIP used to 
create it. SIP v5 itself will also use semantic versioning.

Phil


More information about the PyQt mailing list