Skip to content

Commit e1f714d

Browse files
committed
Add section for building upstream branches in README.md
1 parent c6b9855 commit e1f714d

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,29 @@ The following modules are supported by PyQt5-stubs:
3838
* QtTest
3939
* QtXml
4040
* sip
41+
42+
# Building upstream stubs
43+
The Dockerfile is used to build all of the stubs for the upstream PyQt5 modules.
44+
The Dockerfile consists of multiple build layers:
45+
* core: `PyQt5`
46+
* `PyQt3D`
47+
* `PyQtChart`
48+
* `PyQtDataVisualization`
49+
* `PyQtPurchasing`
50+
* `PyQtWebEngine`
51+
* an output layer
52+
53+
Each module build layer deposits its stub files within `/output/` in its
54+
filesystem. The output layer then collects the contents of each into its own
55+
`/output/` dir for export to the host computer. Build args are provided to
56+
change the version of each module.
57+
58+
A convenience script, `build_upstream.py`, is provided. It builds the stubs and
59+
copies them to the host computer. Make sure you install `docker-py` to use it.
60+
It builds `$PWD/Dockerfile` (overridden with `--dockerfile`) and outputs the
61+
stubs to `$PWD/PyQt5-stubs` (overridden with `--output-dir`).
62+
63+
\* There are a few missing modules: `QtAxContainer`, `QtAndroidExtras`,
64+
`QtMacExtras`, and `QtWindowsExtras`. The current project understanding is that
65+
they need to be built on the target platform, something a Linux-based docker
66+
image cannot do. The deprecated `Enginio` module is also missing.

0 commit comments

Comments
 (0)