Skip to content

Commit 8dff23d

Browse files
committed
Upstream README
1 parent 942a131 commit 8dff23d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

README.md

+28
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,31 @@ This repository holds the stubs of the PyQt5 framework. It uses the stub files t
66
produced during compilation process of PyQt5. These stub files have been modified by the author
77
to allow using them for type-checking via Mypy. This repository is far from complete and the author will
88
appreciate any PRs or Issues that help making this stub-repository more reliable.
9+
10+
11+
# Building upstream stubs
12+
The Dockerfile in the root of the `upstream` branch is used to build all* of the
13+
stubs for the upstream PyQt5 modules. The Dockerfile consists of multiple build
14+
layers:
15+
* core `PyQt5`
16+
* `PyQt3D`
17+
* `PyQtChart`
18+
* `PyQtDataVisualization`
19+
* `PyQtPurchasing`
20+
* `PyQtWebEngine`
21+
* an output layer.
22+
23+
Each module build layer deposits its stub files within `/output/` in its
24+
filesystem. The output layer then collects the contents of each into its own
25+
`/output/` dir for export to the host computer. Build args are provided to
26+
change the version of each module.
27+
28+
A convenience script, `build_upstream.py`, is provided. It builds the stubs and
29+
copies them to the host computer. Make sure you install `docker-py` to use it.
30+
It builds `$PWD/Dockerfile` (overridden with `--dockerfile`) and outputs the
31+
stubs to `$PWD/PyQt5-stubs` (overridden with `--output-dir`).
32+
33+
\* There are a few missing modules: `QtAxContainer`, `QtAndroidExtras`,
34+
`QtMacExtras`, and `QtWindowsExtras`. The current project understanding is that
35+
they need to be built on the target platform, something a Linux-based docker
36+
image cannot do. The deprecated `Enginio` module is also missing.

0 commit comments

Comments
 (0)