This repository holds the stubs of the PyQt5 framework. The stub files released within the PyQt5 packages have been modified to allow using them for type-checking via mypy. Improvements over the default stubs include:
- Signals are properly typed as signals and not as methods
- QFlags derived classes correctly support all combination operations
- Many methods accepting an optional None have been annotated so
- and more...
This repository can always be improved and the authors will appreciate any PRs or Issues that help making this stub-repository more reliable.
Install the stubs with pip:
$ pip install PyQt5-stubs
To opt into enforcement of any declared PyQt5 version compatibility constraints,
select the pyqt5 extra:
$ pip install "PyQt5-stubs[pyqt5]"
The extra currently declares no PyQt5 version bounds. Selecting it may also cause pip to install PyQt5 as a side effect of satisfying the dependency.
Or clone the latest version from Github and install it via Python setuptools:
$ git clone https://github.com/python-qt-tools/PyQt5-stubs
$ python setup.py install
The modules supported by PyQt5-stubs include modules from the PyQt5 package as well as modules from the other packages released by Riverbank Computing (PyQt3D, PyQtCharts, ...). Here is the full list of packages and modules:
- package PyQt5:
- QtBluetooth
- QtCore
- QtDBus
- QtGui
- QtLocation
- QtMultimedia
- QtNetwork
- QtNfc
- QtOpenGL
- QtPositioning
- QtPrintSupport
- QtQml
- QtQuick
- QtQuickWidgets
- QtRemoteObjects
- QtSensors
- QtSerialPort
- QtSql
- QtSvg
- QtTest
- QtWebChannel
- QtWebSockets
- QtWidgets
- QtX11Extras
- QtXml
- QtXmlPatterns
- sip
- package PyQt3D:
- Qt3DAnimation
- Qt3DCore
- Qt3DExtras
- Qt3DInput
- Qt3DLogic
- Qt3DRender
- package PyQtChart:
- QtChart
- package PyQtDataVisualization:
- QtDataVisualization
- package PyQtNetworkAuth:
- QtNetworkAuth
- package PyQtPurchasing:
- QtPurchasing
- package PyQtWebEngine:
- QtWebEngine
- QtWebEngineCore
- QtWebEngineWidgets
- package PyQtWebkit:
- QtWebKit
- QtWebKitWidgets
- Stefan Lehmann
- Kyle Altendorf
- Bryce Beagle
- Florian Bruhin
- Philippe Fremy