[PySide] Wish to help out with PySide - WebAssembly / Pyodide compatibility (#PYSIDE-962)

Friedemann Kleint Friedemann.Kleint at qt.io
Mon Mar 6 16:17:24 CET 2023


Hi Alex,

thank you for your mail. Contributions and ideas for WebAssembly are 
always welcome.

For us, PySide for WebAssembly is currently on the backburner since we 
do not see a way of building the support libraries.

The task basically boils down to:

- Building shiboken_generator on the host
- Building the support libraries (libshiboken/libpyside/libpysideqml) 
against CPython
- Building the Python modules (shibokenmodule, Qt modules)

If one day CPython provides a way of building modules and Qt and CPython 
settle on one EMSDK version, it all could be done using the normal 
cross-building support for PySide which exists for embedded platforms 
(PYSIDE-802).

Pyodide is an option for building Python modules; it might be possible 
to get a Qt module to build by creating a setup.py (see 
https://codereview.qt-project.org/c/pyside/pyside-setup/+/443740 ). We 
changed the shiboken_generator to have it generate the defines of the Qt 
configure system into the code so that the generated code can be used 
for different configuration options of Qt (some classes are missing in 
WebAssembly). This would require Qt and Pyodide to use compatible EMSDKs.

Pyodide cannot seem to build the support libraries though, and also does 
not provide a build environment for use; it merely unpacks it 
temporarily when building modules.

A mix of Pyodide and CPython is also conceivable, but then all three 
would have to settle on an un-patched EMSDK version.

Ideas how to progress with this would be appreciated.

Regards,
Friedemann

Some links:

Qt Contribution guidelines: contribute.qt-project.org/guidelines
Qt for WASM https://doc.qt.io/qt-6/wasm.html


-- 
Friedemann Kleint
The Qt Company GmbH


More information about the PySide mailing list