ManyQt
ManyQt is a lightweight abstraction layer that enables developers to write applications with a single API targeting PyQt and PySide. It supports multiple Qt versions and bindings—PyQt4, PyQt5, PySide, PySide2, PyQt6, and PySide6—under a Qt5-style layout, where QtGui and QtWidgets are separated.
(Inspired from `QtPy <https://github.com/spyder-ide/qtpy>`_ and `AnyQt <https://github.com/ales-erjavec/anyqt>`_.)
Purpose & Benefits:
ManyQt simplifies cross-version and cross-binding development:
Write your code using standard Qt API patterns.
Import from manyqt instead of PyQtX or PySideX.
Seamlessly port between Qt4, Qt5, and Qt6.
Resolve incompatibilities automatically.
Incrementally migrate large codebases—module by module.
Requirements:
To use ManyQt, you must have one of the following libraries installed:
PyQt4
PyQt5
PyQt6
PySide
PySide2
PySide6
If multiple packages are available, ``PyQt5`` is selected by default unless overridden by an environment variable.
Selecting the Backend:
The active Qt binding can be set using the QT_API environment variable:
Value |
Selects |
|---|---|
pyqt4 |
PyQt4 |
pyqt5 |
PyQt5 |
pyqt6 |
PyQt6 |
pyside |
PySide |
pyside2 |
PySide2 |
pyside6 |
PySide6 |
Alternatively, you may also configure the API programmatically—as long as no other Qt libraries have been imported yet.
Features at a Glance:
Unified Namespace:
Provides a consistent, Qt5-compatible module layout with some minor renaming for portability.
Environment & Code-Based Selection:
Specify your preferred binding via:
QT_API environment variable.
Python code (early in execution).
Safe Import Hook (Optional):
Includes an import guard that:
Detects and blocks mixed Qt binding imports.
Emulates Qt4-style imports via Qt5-compatible monkey patching.
Simple Usage:
from os import environ
environ["QT_API"] = "pyqt5" # or "pyqt4", "pyside", "pyside2", "pyqt6", "pyside6", to force a specific backend.
from ManyQt.QtWidgets import *
from ManyQt.QtCore import *
from ManyQt.QtGui import *
Metadata
Release files for ManyQt 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| manyqt-0.4.5.tar.gz | 86.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| manyqt-0.4.5-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 207.5 kB
Release files / manyqt-0.4.5.tar.gz
| Download URL | manyqt-0.4.5.tar.gz |
|---|---|
| Size | 86.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0da526a8a914eadb766c188b8bfafcb303cf8ce1cbdd9d82a456e682c079906
|
|
BLAKE2b-256 checksum How to use checksums |
5e4a8a1d972a27492d630af8b7f203085240779cb2bc2e81643e91e705b1180f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.1
|
Release files / manyqt-0.4.5-py2.py3-none-any.whl
| Download URL | manyqt-0.4.5-py2.py3-none-any.whl |
|---|---|
| Size | 120.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
d7876977a8a6dc6dd5720d35e7600ec2ca86ad83bfa8bb7dfe69fc548f66f16b
|
|
BLAKE2b-256 checksum How to use checksums |
b705c3db9bddf7365c72565a74122aa6d01905f8df87695c2a0111eaef04aec8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.1
|
Security for ManyQt 0.4.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.