Metadata-Version: 2.4
Name: shiboken6-generator
Version: 6.9.0
Summary: Python / C++ bindings generator
Home-page: https://pyside.org
Author: Qt for Python Team
Author-email: pyside@qt-project.org
License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
Keywords: Qt
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: MacOS X
Classifier: Environment :: X11 Applications :: Qt
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Software Development :: Widget Sets
Requires-Python: >=3.9, <3.14
Description-Content-Type: text/markdown
Requires-Dist: shiboken6==6.9.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Shiboken6-generator

Shiboken is the generator used by the Qt for Python project. It outputs C++
code for CPython extensions, which can be compiled and transformed into
a Python module.

C++ projects based on Qt can be wrapped, but also projects which are not
related to Qt.

## How does it work?

Shiboken uses an API Extractor that does most of the job, but it requires
a typesystem (XML file) to customize how the C++ classes/methods will be
exposed to Python.

The typesystem allows you to remove arguments from signatures, modify return
types, inject code and add conversion rules from the C++ data types to Python
data types, manipulate the ownership of the objects, etc.

# Examples

An example related to wrap a C++ library not depending on Qt can be found in
our [repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/samplebinding).

Additionally, you can find a couple of tests inside the
[git repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/shiboken6/tests).

For a more advanced case regarding extending a Qt/C++ application with Python
bindings based on the idea of the PySide module, you can check the
[scriptableapplication](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/scriptableapplication)
example in our repository.

# Documentation

You can find more information about Shiboken in our
[official documentation page](https://doc.qt.io/qtforpython/shiboken6/).
