Skip to main content

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 *

Pydroid 3 (Android):

Pydroid 3 decides before running a script whether to start it in Qt mode, by searching the script text for import PySide6, from PySide6 or the comment #Pydroid run qt. A script that only imports ManyQt is started in terminal mode, where QApplication([]) or QGuiApplication([]) crashes with Segmentation fault. Put this line at the top of your main script:

#Pydroid run qt
from ManyQt.QtWidgets import QApplication, QLabel

app = QApplication([])
label = QLabel("Hello from ManyQt")
label.show()
app.exec()

ManyQt prints a warning when it detects this situation (set MANYQT_NO_PYDROID_CHECK=1 to silence it).

Metadata

Release files for ManyQt 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ManyQt 0.5.0
File Size Uploaded Provenance
manyqt-0.5.0.tar.gz 91.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ManyQt 0.5.0
File Interpreter ABI Platform
manyqt-0.5.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 218.9 kB

Release files / manyqt-0.5.0.tar.gz

Download URL manyqt-0.5.0.tar.gz
Size 91.6 kB
Tags Source
SHA-256 checksum
How to use checksums
14b65731a1378922c290085e3eebc4462bc8e5d10c320fe589c61b67ecbbcc19
BLAKE2b-256 checksum
How to use checksums
19b0439ba307ad8093bcc74ec6f59173023742dda4e2ebe43b03fec5da389a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / manyqt-0.5.0-py2.py3-none-any.whl

Download URL manyqt-0.5.0-py2.py3-none-any.whl
Size 127.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
31e169fa3fca0e66d36e7904afc2bd612d4856ef15eb54d2b9b260094c3cd7d4
BLAKE2b-256 checksum
How to use checksums
1efa3df4c35c39997eae71192ec0517b6ae2e588fc4a50f9703d8894103c181f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Security for ManyQt 0.5.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for manyqt-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page