PyQt5
Python bindings for the Qt cross platform application toolkit
What it is and what it does
PyQt5 is a comprehensive set of Python bindings for Qt v5, a mature cross-platform C++ framework. It exposes more than 35 extension modules, allowing you to build desktop applications that run on Windows, macOS, Linux, iOS, and Android with native look and feel. The bindings cover traditional UI widgets, multimedia playback, a Chromium-based web browser, location services, Bluetooth and NFC connectivity, and system integration APIs.
You install it via pip (precompiled wheels available for major platforms) and import from PyQt5 submodules to create applications. The package depends on PyQt5-sip and PyQt5-Qt5. It is mature and widely used, but the project is currently dormant—the latest release was in July 2024—so you should assess whether ongoing support matters for your use case.
Use it for:
- Build a cross-platform desktop application with native widgets and menus for Windows, macOS, and Linux.
- Embed a web browser or multimedia player in a Python application using Qt's Chromium engine.
- Create a configuration GUI for a C++ application, or embed PyQt5 in C++ to allow runtime scripting.
- Develop a data visualization or scientific tool with custom widgets and real-time updates.
- Build a mobile app for iOS or Android using PyQt5's cross-platform capabilities.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyQt5 provides Python bindings for the Qt v5 C++ framework, enabling you to build cross-platform desktop applications with native UI components, multimedia, web browsing, and system integration features.
Yes, if you need a mature, feature-complete desktop GUI framework and accept the GPL v3 copyleft license (or can obtain a commercial license). PyQt5 is stable and widely used, but its dormant maintenance status means no active bug fixes or security updates are expected—evaluate whether that risk is acceptable for your project timeline.
Install
pyqt5 on PyPI
pip
pip install pyqt5uv
uv add pyqt5poetry
poetry add pyqt5Installing PyQt5
Before you install
Medium install friction: PyQt5 ships as precompiled wheels for common platforms (macOS arm64/x86_64, Linux x86_64, Windows 32/64-bit), but the package is dormant (756 days since last release), so no recent maintenance activity is evident.
License in practice
PyQt5 is released under GPL v3 (copyleft), which means any application linking it must also be open-source under a compatible license, or you must obtain a commercial license from Riverbank Computing Limited.
Quickstart
pip install PyQt5
import PyQt5
# PyQt5 exposes more than 35 extension modules for UI, multimedia, and system integration
Requires Python >=3.8; building from source requires Qt's qmake tool on PATH.
Verify before relying
- Whether the dormant status reflects stable maintenance or abandonment risk.
- Current state of the upstream Qt v5 support and security patches.
- Whether alternative bindings are recommended for new projects.
- Specific module names and APIs available within the 35+ extension modules.
Package facts
| License | GPL v3 (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — PyQt5-sip, PyQt5-Qt5 |
| Maintenance | dormant — 756 days since the last release |
| First released | |
| Downloads | 3,521,949/month — #2,594 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyQt5-5.15.11-cp38-abi3-macosx_11_0_arm64.whl; PyQt5-5.15.11-cp38-abi3-macosx_11_0_x86_64.whl; PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl; PyQt5-5.15.11-cp38-abi3-win32.whl; PyQt5-5.15.11-cp38-abi3-win_amd64.whl
Tags
More Application Frameworks packages
FastAPI 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
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
pyqt5-toolsProvides Qt Designer, QML Scene, and QML Test…
copyleft · top 15,000 on PyPI
PyQt6PyQt6 provides Python bindings for Qt v6,…
copyleft · top 5,000 on PyPI
wxPythonwxPython provides Python bindings to the…
unclear · top 15,000 on PyPI
PyQtWebEnginePyQtWebEngine provides Python bindings to embed…
copyleft · top 15,000 on PyPI
PyQt5-Qt5Provides the Qt5 runtime libraries required by…
copyleft · top 5,000 on PyPI
QtPyQtPy provides a unified API for writing Qt…
permissive · top 5,000 on PyPI
KivyKivy is a Python framework for building…
permissive · top 15,000 on PyPI
PyQt5-sipPyQt5-sip provides the runtime support module…
permissive · top 5,000 on PyPI
PyQt6-WebEnginePyQt6-WebEngine provides Python bindings to…
copyleft · top 15,000 on PyPI
pyqtgraphPyQtGraph is a pure-Python graphics library for…
permissive · top 5,000 on PyPI