pyproject.toml Reference

PyQt-builder adds the following keys to those implemented by SIP.

Note

Individual projects may also add their own project-specific keys.

[tool.sip.builder] Section

Unless stated otherwise, all values are strings. Unless stated otherwise, the values of all list options may contain environment markers as defined in PEP 508.

jobs

The integer value is the number of make jobs that will be run in parallel (on Linux and macOS). There is also a corresponding command line option.

make

The boolean value specifies if make (or nmake on Windows) is executed automatically. By default it is executed automatically. There is also a corresponding command line option for sip-build.

qmake

The value is the full path name of the qmake executable. By default it is assumed to be on PATH. There is also a corresponding command line option.

qmake-settings

The value is a list of strings, usually of the form NAME += VALUE, that are added to any qmake .pro file that is created. There is also a corresponding command line option.

spec

The value is passed as the -spec argument to qmake whenever it is executed by the builder. There is also a corresponding command line option.

[tool.sip.project] Section

The key/values in this section apply to the project as a whole. Unless stated otherwise, all values are strings. Unless stated otherwise, the values of all list options may contain environment markers as defined in PEP 508.

android-abis

The value is a list of target Android ABIs (e.g. armeabi-v7a, arm64-v8a). There is also a corresponding command line option.

apple-universal2

The boolean value specifies that the project is built as an Apple universal package supporting both x86_64 and arm64 architectures. The default is to build for the native architecture. There is also a corresponding command line option.

link-full-dll

The boolean value specifies if, on Windows, the full Python DLL should be linked against rather than the limited API DLL. There is also a corresponding command line option.

py-pylib-dir

The value is the name of the directory containing the target Python interpreter library. By default this is determined dynamically from the Python installation.

py-pylib-lib

The value is the name of the target Python interpreter library. By default this is determined dynamically from the Python installation.

py-pylib-shlib

The value is the name of the target Python interpreter library if it is a shared library. By default this is determined dynamically from the Python installation.

qml-debug

The boolean value specifies if the QML debugging infrastructure should be enabled. There is also a corresponding command line option.

tag-prefix

The value is the prefix of the timeline tag to use (with the Qt version automatically appended). By default the value of the name key in the [tool.sip.metadata] section of pyproject.toml is used with any leading Py removed.

target-qt-dir

The value specifies the name of the directory where the Qt libraries will be found. By default the location of the Qt libraries being built against is used. If Qt libraries to be included by running pyqt-bundle are to be used then the value should be Qt/lib. There is also a corresponding command line option for sip-wheel.

tests-dir

The value is the name of the directory, relative to the directory containing pyproject.toml, containing any external test programs. The default value is config-tests.

Bindings Sections

Unless stated otherwise, all values are strings. Unless stated otherwise, the values of all list options may contain environment markers as defined in PEP 508.

qmake-CONFIG

The value is a list of modifications to make to the CONFIG value in all generated .pro files. An element may start with - to specify that the value should be removed.

qmake-QT

The value is a list of modifications to make to the QT value in all generated .pro files. An element may start with - to specify that the value should be removed.

test-headers

The value is a list of .h header files to include in any internal test program.

test-statement

The value is a C++ statement that will be included in any internal test program.