Metadata-Version: 2.1
Name: shiboken6_generator
Version: 6.7.3
Summary: Python/C++ bindings generator
Author-email: Qt for Python Team <pyside@qt-project.org>
License: LGPL
Project-URL: Homepage, https://pyside.org
Project-URL: Documentation, https://doc.qt.io/qtforpython
Project-URL: Repository, https://code.qt.io/cgit/pyside/pyside-setup.git/
Project-URL: Changelog, https://code.qt.io/cgit/pyside/pyside-setup.git/tree/doc/changelogs
Project-URL: Tracker, https://bugreports.qt.io/projects/PYSIDE
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 Library or Lesser General Public License (LGPL)
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: 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.13,>=3.9
Description-Content-Type: text/markdown
License-File: LicenseRef-Qt-Commercial.txt
Requires-Dist: shiboken6 ==6.7.3

# 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/).
