PyQt6
Python bindings for the Qt cross platform application toolkit
What it is and what it does
PyQt6 is a comprehensive set of Python bindings for the Qt v6 cross-platform application framework. It wraps Qt's C++ libraries to allow Python developers to build desktop and mobile applications with native look-and-feel across Windows, macOS, Linux, iOS, and Android. The bindings are implemented as more than 35 extension modules, covering Qt's high-level APIs for UI development, multimedia, location services, Bluetooth, NFC, and a Chromium-based web browser.
The package is designed for developers who want to leverage Qt's mature ecosystem without writing C++. It can also be embedded in C++ applications to enable scripting or configuration through Python. Installation is straightforward via pip for most platforms, though building from source requires Qt's qmake tool. The GPL v3 license is a critical consideration: proprietary applications must either adopt GPL or purchase a commercial license from Riverbank Computing.
Use it for:
- Build cross-platform desktop applications with native UI components that run on Windows, macOS, and Linux
- Create data visualization and analysis tools with Qt's graphics and multimedia capabilities
- Develop configuration or scripting interfaces for C++ applications by embedding PyQt6
- Build mobile applications for iOS and Android using Python instead of native languages
- Prototype rapid UI-driven applications that need professional appearance and native platform integration
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyQt6 provides Python bindings for Qt v6, enabling Python developers to build cross-platform desktop and mobile applications using Qt's C++ libraries without writing C++ code.
Yes, if you need a mature, cross-platform desktop GUI framework and can accept the GPL v3 copyleft license or obtain a commercial license. PyQt6 is actively maintained, widely used (top 5000 on PyPI), has no known vulnerabilities, and offers comprehensive Qt v6 coverage. Install friction is moderate but manageable with prebuilt wheels. Not suitable for proprietary closed-source applications without a commercial license.
Install
pyqt6 on PyPI
pip
pip install pyqt6uv
uv add pyqt6poetry
poetry add pyqt6Installing PyQt6
Before you install
Medium install friction: prebuilt wheels are available for macOS, Linux, and Windows across multiple architectures, but the sdist requires Qt's qmake tool on PATH or use of sip-install for configuration. Package is actively maintained with a recent release.
License in practice
PyQt6 is released under GPL v3 (copyleft), which means any application using it must either be GPL-licensed or use PyQt6 under a separate commercial license from Riverbank Computing. This is a significant constraint for proprietary software.
Quickstart
pip install PyQt6
from PyQt6.QtWidgets import QApplication, QMainWindow
app = QApplication([])
window = QMainWindow()
window.show()
app.exec()
Requires Python 3.10 or later. Building from sdist requires Qt's qmake tool on PATH, or use sip-install for guided configuration.
Verify before relying
- Whether the 35+ extension modules cover all Qt v6 APIs or if there are gaps in coverage
- Performance characteristics compared to other Python GUI frameworks for typical desktop applications
- Availability and quality of third-party documentation beyond the official Riverbank docs
Package facts
| License | GPL-3.0-only (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — PyQt6-sip, PyQt6-Qt6 |
| Maintenance | actively maintained — 137 days since the last release |
| First released | |
| Downloads | 2,714,859/month — #2,925 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyqt6-6.11.0-cp310-abi3-macosx_10_14_universal2.whl; pyqt6-6.11.0-cp310-abi3-manylinux_2_34_x86_64.whl; pyqt6-6.11.0-cp310-abi3-manylinux_2_39_aarch64.whl; pyqt6-6.11.0-cp310-abi3-win_amd64.whl; pyqt6-6.11.0-cp310-abi3-win_arm64.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
PyQt5PyQt5 provides Python bindings for the Qt v5…
copyleft · top 5,000 on PyPI
wxPythonwxPython provides Python bindings to the…
unclear · top 15,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
PyQt6-sipPyQt6-sip provides the runtime support module…
permissive · top 5,000 on PyPI
PySide6-EssentialsPySide6 Essentials provides Python bindings to…
copyleft · top 5,000 on PyPI
PyQt6-Qt6Provides the Qt6 runtime libraries required by…
copyleft · top 5,000 on PyPI
PyQtWebEnginePyQtWebEngine provides Python bindings to embed…
copyleft · top 15,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