At least for me it was easier to start with the shiboken examples, to learn how they work. First 'samplebinding', then 'widgetbinding' then 'scriptableapplication' https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples After that I checked the current implementation of typical classes in Qt, like QByteArray, QVector, QPushButton and how the typesystem was defined for those https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside6/PySide6, and lastly I refer to the shiboken docs https://doc.qt.io/qtforpython/shiboken6/index.html