shiboken2
Python / C++ bindings helper module
What it is and what it does
Shiboken2 is a utility module for inspecting and debugging Python bindings generated from C++ code, primarily used within the Qt for Python ecosystem. It exposes functions to check whether a Python wrapper object is still valid—that is, whether the underlying C++ object it wraps has been destroyed—and provides other binding-related metadata useful for integration work and debugging.
The package has no runtime dependencies and ships as platform-specific wheels for Windows, macOS, and Linux. However, it is abandoned: the last release was 1673 days ago, and no active maintenance or security updates are planned. It is designed to be used alongside C++/Python binding frameworks, not as a standalone tool.
Use it for:
- Debug applications to detect when Python wrappers reference destroyed C++ objects
- Validate binding integrity during C++/Python integration testing
- Inspect binding metadata to understand wrapper lifecycle in mixed-language codebases
- Troubleshoot segmentation faults caused by invalid wrapper access after C++ cleanup
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Shiboken2 provides Python access to metadata and utilities for C++/Python bindings, letting you inspect binding validity and debug wrapper state after C++ object destruction.
No. Shiboken2 is abandoned (last release 1673 days ago) with no active maintenance or security updates. If you are actively using a binding framework that depends on it, verify whether your version still bundles shiboken2; if you need binding introspection for new projects, evaluate whether your binding framework itself is still maintained first.
Install
shiboken2 on PyPI
pip
pip install shiboken2uv
uv add shiboken2poetry
poetry add shiboken2Installing shiboken2
Before you install
Medium install friction due to platform-specific wheels across Windows, macOS, and Linux variants. Package is abandoned—last release was 1673 days ago—so no active maintenance or security updates are forthcoming.
License in practice
Dual-licensed under LGPL (copyleft) and proprietary terms. LGPL copyleft obligations apply to derivative works; proprietary license terms may offer alternatives under separate agreement.
Quickstart
import shiboken2
# Check if a Python object wraps a valid C++ instance
is_valid = shiboken2.isValid(some_cpp_wrapped_object)
print(is_valid)
Requires a pre-existing C++-wrapped Python object (typically from PySide2 or similar binding); shiboken2 alone does not create bindings.
Verify before relying
- Whether shiboken2 5.15.2.1 remains compatible with Python versions beyond the <3.11 cap
- Current state of Qt for Python maintenance and whether shiboken2 is still usable with active versions
- Whether the dual LGPL/proprietary license terms are clearly documented in the package or require external reference
Package facts
| License | LGPL (copyleft) |
| Python support | capped below the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,673 days since the last release |
| First released | |
| Downloads | 125,730/month — #11,804 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: shiboken2-5.15.2.1-5.15.2-cp27-cp27m-macosx_10_13_intel.whl; shiboken2-5.15.2.1-5.15.2-cp27-cp27mu-manylinux1_x86_64.whl; shiboken2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-abi3-macosx_10_13_intel.whl; shiboken2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl; shiboken2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-none-win32.whl; shiboken2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-none-win_amd64.whl
Keywords: Qt
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
shiboken6Shiboken6 provides Python access to metadata…
copyleft · top 5,000 on PyPI
PySide2PySide2 provides Python bindings to the Qt…
copyleft · top 15,000 on PyPI
PySide6PySide6 provides Python bindings to the Qt 6.0+…
copyleft · top 5,000 on PyPI
PySide6-EssentialsPySide6 Essentials provides Python bindings to…
copyleft · top 5,000 on PyPI
PySide6-AddonsPySide6-Addons extends PySide6 with additional…
copyleft · top 5,000 on PyPI
QtPyQtPy provides a unified API for writing Qt…
permissive · top 5,000 on PyPI
QDarkStyleQDarkStyle provides pre-built dark and light…
permissive · top 15,000 on PyPI
mecabPython binding for MeCab, a morphological…
copyleft · top 15,000 on PyPI
superqtProvides additional Qt widgets and UI…
permissive · top 15,000 on PyPI
PyBindGenPyBindGen generates clean C or C++ code that…
copyleft · top 15,000 on PyPI