PySide2
Python bindings for the Qt cross-platform application and UI framework
What it is and what it does
PySide2 is the official Python binding layer for Qt 5.12+, a mature cross-platform GUI framework. It exposes Qt's complete API surface to Python developers, allowing them to build desktop applications that run on Windows, macOS, and Linux with native look-and-feel on each platform. The package wraps C++ Qt classes through shiboken2, a code generator that creates Python-callable interfaces to the underlying framework.
The package is production-stable but abandoned: the last release was in January 2022, and there is no active maintenance. It supports Python 2.7 and 3.5–3.10 via prebuilt wheels, though building from source requires manual setup of Clang and LLVM. For new projects, the Qt for Python project has moved forward to PySide6, and this version should be considered for legacy application maintenance only.
Use it for:
- Build cross-platform desktop applications with native UI components on Windows, macOS, and Linux.
- Create data visualization and analysis tools that need a responsive graphical interface.
- Develop system administration or configuration utilities with Qt's rich widget set.
- Migrate or maintain existing PySide2 codebases that cannot yet upgrade to PySide6.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PySide2 provides Python bindings to the Qt 5.12+ framework, enabling developers to build cross-platform desktop applications with a complete GUI toolkit.
No, for new projects. PySide2 is abandoned (last release January 2022, 1673 days ago) with no active maintenance. The Qt for Python project has moved to PySide6. Install only if maintaining existing PySide2 code or if you have specific Qt 5.12 compatibility constraints. The copyleft LGPL license also requires derivative works to be open-sourced or licensed commercially.
Install
pyside2 on PyPI
pip
pip install pyside2uv
uv add pyside2poetry
poetry add pyside2Installing PySide2
Before you install
Medium install friction due to compiled C++ dependencies (shiboken2) and platform-specific wheels. The package is abandoned as of 1673 days since last release, with no active maintenance.
License in practice
PySide2 is licensed under LGPL (copyleft), meaning derivative works must also be open-sourced under compatible terms. Commercial licensing is available separately; see Qt Licensing page for details.
Quickstart
pip install PySide2
from PySide2.QtWidgets import QApplication, QLabel
app = QApplication([])
label = QLabel('Hello World')
label.show()
app.exec_()
Requires Qt 5.12 or higher; prebuilt wheels available for Python 2.7 and 3.5–3.10 on Windows, macOS, and Linux, but building from source requires Clang 6.0+ and LLVM_INSTALL_DIR environment variable setup.
Verify before relying
- Whether shiboken2 dependency is automatically installed and compatible with current Python versions beyond 3.10.
- Current security status and whether abandoned status affects vulnerability disclosure or patching.
- Compatibility with modern Qt versions beyond 5.12 and whether PyQt6 or PySide6 are recommended alternatives.
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 | 1 — shiboken2 |
| Maintenance | abandoned — 1,673 days since the last release |
| First released | |
| Downloads | 165,188/month — #10,527 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PySide2-5.15.2.1-5.15.2-cp27-cp27m-macosx_10_13_intel.whl; PySide2-5.15.2.1-5.15.2-cp27-cp27mu-manylinux1_x86_64.whl; PySide2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-abi3-macosx_10_13_intel.whl; PySide2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl; PySide2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-none-win32.whl; PySide2-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
PySide6PySide6 provides Python bindings to the Qt 6.0+…
copyleft · top 5,000 on PyPI
QtPyQtPy provides a unified API for writing Qt…
permissive · top 5,000 on PyPI
PySide6-EssentialsPySide6 Essentials provides Python bindings to…
copyleft · top 5,000 on PyPI
shiboken2Shiboken2 provides Python access to metadata…
copyleft · top 15,000 on PyPI
PySide6-AddonsPySide6-Addons extends PySide6 with additional…
copyleft · top 5,000 on PyPI
PyQt5PyQt5 provides Python bindings for the Qt v5…
copyleft · top 5,000 on PyPI
magicguiMagicgui builds graphical user interfaces…
permissive · top 15,000 on PyPI
PyQtWebEnginePyQtWebEngine provides Python bindings to embed…
copyleft · top 15,000 on PyPI
PyQtWebEngine-Qt5Provides the Qt5 runtime libraries required by…
copyleft · top 15,000 on PyPI
QDarkStyleQDarkStyle provides pre-built dark and light…
permissive · top 15,000 on PyPI