Introduction

PyQt-builder is a tool for generating Python bindings for C++ libraries that use the Qt application framework. The bindings are built on top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.

PyQt-builder also includes the pyqt-bundle command line tool used to bundle a copy of Qt with a PyQt wheel. This is separate from the build system and described in Bundling Qt Using pyqt-bundle.

PyQt-builder is actually an extension of the PEP 517-compliant SIP bindings generator and build system. In the simplest cases all that is needed is a pyproject.toml file that specifies how the bindings are to be generated. More complicated cases require additional code, typically implemented in a project.py file.

SIP provides a number of task-orientated command line tools and a sipbuild module which can be used to extend the build system. The command line tools include sip-install to build and install a set of bindings, and sip-wheel to create a wheel that can be uploaded to PyPI.

PyQt-builder doesn’t provide any additional command line build tools but does extend the SIP tools by providing additional command line options and options that can be specified in the pyproject.toml file. These are implemented by the pyqtbuild module which also provides an API that can be used by a project’s project.py file.

This documentation assumes you are already familiar with the SIP documentation.

PyQt-builder is hosted at GitHub.

The documentation is hosted at Read the Docs.

PyQt-builder is licensed under the BSD 2 clause license.