Metadata-Version: 2.1
Name: shiboken2-generator
Version: 5.15.0
Summary: Python / C++ bindings generator
Home-page: https://www.pyside.org
Author: Qt for Python Team
Author-email: pyside@qt-project.org
License: LGPL
Download-URL: https://download.qt.io/official_releases/QtForPython
Keywords: Qt
Platform: UNKNOWN
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 :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
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: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.9
Description-Content-Type: text/markdown
Requires-Dist: shiboken2 (==5.15.0)

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


