shiboken6
Python/C++ bindings helper module
What it is and what it does
Shiboken6 is a utility module that exposes the internals of Python/C++ bindings generated by the Shiboken binding generator. It lets you inspect and validate binding objects at runtime—checking whether a Python wrapper is still valid after its underlying C++ object has been destroyed, or retrieving metadata about the binding itself. This is primarily useful for developers building Qt for Python applications or integrating C++ libraries into Python, where understanding the state of language-boundary objects can be critical for debugging memory issues or wrapper lifecycle problems.
The module is part of the Qt for Python project and provides a programmatic interface to binding introspection that would otherwise be opaque. It has no runtime dependencies and supports Python 3.10 through 3.14 across macOS, Linux, and Windows platforms.
Use it for:
- Debug memory lifecycle issues by checking if C++ objects underlying Python wrappers have been destroyed
- Validate binding object state before calling methods that depend on valid C++ pointers
- Inspect binding metadata during development of custom Shiboken-generated bindings
- Diagnose crashes caused by stale wrapper references in long-running applications
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Shiboken6 provides Python access to metadata and introspection functions for C++/Python bindings, allowing you to check object validity and debug wrapper state in applications built with Qt for Python.
Yes, if you are developing with Qt for Python or maintaining Shiboken-generated bindings. The module is actively maintained, has no security vulnerabilities, and fills a specific debugging and introspection niche. The copyleft license is standard for Qt tooling. Install only if you actually need binding introspection; it is not a general-purpose library.
Install
shiboken6 on PyPI
pip
pip install shiboken6uv
uv add shiboken6poetry
poetry add shiboken6Installing shiboken6
Before you install
Medium install friction due to platform-specific wheels; actively maintained with recent release 93 days ago.
License in practice
Copyleft license (LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) requires derivative works to be licensed under compatible terms; proprietary use requires explicit license choice or commercial agreement.
Quickstart
import shiboken6
# Check if a Python wrapper is valid after C++ object destruction
if shiboken6.isValid(wrapped_object):
# Safe to call methods on the wrapper
pass
Requires Python 3.10 or later (supports up to 3.14); platform-specific wheels for macOS, Linux, and Windows
Verify before relying
- Whether shiboken6 can be used standalone or requires additional Qt for Python packages
- Specific debugging capabilities and introspection API surface beyond object validity checks
- Performance characteristics when checking object validity in high-frequency code paths
Package facts
| License | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only (copyleft) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 93 days since the last release |
| First released | |
| Downloads | 3,743,357/month — #2,506 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: shiboken6-6.11.1-cp310-abi3-macosx_13_0_universal2.whl; shiboken6-6.11.1-cp310-abi3-manylinux_2_34_x86_64.whl; shiboken6-6.11.1-cp310-abi3-manylinux_2_39_aarch64.whl; shiboken6-6.11.1-cp310-abi3-win_amd64.whl; shiboken6-6.11.1-cp310-abi3-win_arm64.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
shiboken2Shiboken2 provides Python access to metadata…
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
PySide2PySide2 provides Python bindings to the Qt…
copyleft · top 15,000 on PyPI
QDarkStyleQDarkStyle provides pre-built dark and light…
permissive · top 15,000 on PyPI
cxxheaderparserParses C++ header files into Python data…
permissive · top 15,000 on PyPI
PyQt6PyQt6 provides Python bindings for Qt v6,…
copyleft · top 5,000 on PyPI
qt-materialApplies a Material Design stylesheet to PySide6…
permissive · top 15,000 on PyPI