Goal: produce one source-complete SemanticQt module from the selected Qt 6.11.2 and PySide6 source surface while preserving all upstream license and third-party notices.
Current generated artifact: SemanticQt.module.zip and module/SemanticQt/.
Each transpiled unit is distributed as a readable .se Semantic Programming
document; JSON is used only as an intermediate conversion format.
GitHub description: Source-complete Qt/PySide6 Semantic module with readable .se units, per-file provenance, license preservation, and transparent parser-recovery reporting.
The user-facing operation is one command:
powershell -ExecutionPolicy Bypass -File .\RUN-ALL.ps1Internally the pipeline is deliberately unit-based:
- Acquire Qt 6.11.2 source and supporting API/binding sources.
- Harvest original license / notice / SPDX / SBOM files.
- Apply a fail-closed license gate.
- Inventory C, C++, headers and Python sources.
- Export each accepted source file to its own SemanticProgram unit.
- Preserve per-unit source provenance and license provenance.
- Normalize Qt / PySide API evidence into one module namespace.
- Package all units into one
SemanticQt.module.zip.
This is intentionally not a giant merged AST. It is one module containing many Semantic compilation units. This avoids multi-GB giant-UAST memory growth.
- Qt 6.11.2 C/C++: primary implementation source.
- PySide6 6.11.2: LGPL-capable binding/API source and evidence.
- Qt.py: API-normalization evidence. MIT license is preserved if code is ever included.
- qtwebview2: WebView2 integration evidence. MPL-2.0 code is quarantined by default.
- PyQt5 / PyQt6: GPL evidence only. Never transpiled into the LGPL-safe module by default.
Raw Qt sources rely heavily on generated configuration headers, the C preprocessor,
moc/uic/rcc generated code, platform conditions, templates and build-time feature probes.
The supplied pipeline is fail-closed: unsupported or unparsed files are written to
work/reports/failures.jsonl; they are not silently omitted from a “complete” build.
The current run has 7,135 readable .se units and zero hard transpilation failures. 33 units are marked
opaque-source-fallback and retain their exact source bytes, but are not claimed as fully
analysed semantic graphs. See module/SemanticQt/README.md and its manifest.
SemanticQt-authored material is GPL-3.0-only, copyright Semantic Tarek Wasfy. Upstream
licenses remain applicable to their respective files; see LICENSE and LICENSE.md.
“LGPL-safe” here means: no GPL-only Qt/PyQt code is allowed into the produced SemanticQt module. Qt also contains third-party software under permissive or other compatible licenses; those notices must remain present. The pipeline therefore harvests all license and SBOM files from the exact sources used rather than pretending that every file is literally LGPL-3.0.
A direct transformation of LGPL-covered Qt/PySide source remains subject to the applicable LGPL obligations. Keep the transformed Semantic source available as corresponding source for the transformed module, together with the original notices.