4bf1866c2a
* Registered parameter types go in their own files * Moves [int, float] item definitions outside `WidgetParameterItem` * Moves [int, float] parameter definitions outside `WidgetParameterItem` * Allow registering ParameterItems for easy parameter defs * Finalizes moving simple parameters to their own files * removes accidentally committed file * Provides class qualnames in rst * Address docstring build issues * Address recent review comments - `registerParameterItemType`: * added to docs and parametertree.__init__ * Remove unsed PARAM_TYPES global * Hyperlink to `registerParameterType` - parameter tree rst: * Alphabetize entries * Rebuild RST without fully qualified class name * Add note at file header that it is auto generated * Remove spurious space during rst doc creation * Ensure created/modified files end with newline * Address CodeQL warnings * toPlainText also returns str * `QTreeWidgetItem.text` returns str |
||
---|---|---|
.github | ||
benchmarks | ||
doc | ||
examples | ||
pyqtgraph | ||
tests | ||
tools | ||
.coveragerc | ||
.flake8 | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.readthedocs.yml | ||
CHANGELOG | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
MANIFEST.in | ||
pytest.ini | ||
README.md | ||
setup.py | ||
test.py | ||
tox.ini |
PyQtGraph
A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6
Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill
PyQtGraph is intended for use in mathematics / scientific / engineering applications. Despite being written entirely in python, the library is fast due to its heavy leverage of numpy for number crunching, Qt's GraphicsView framework for 2D display, and OpenGL for 3D display.
Requirements
PyQtGraph has adopted NEP 29.
This project supports:
- All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions.
- All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions.
- All Qt5 versions from 5.12-5.15, and Qt6 6.1
Currently this means:
Optional added functionalities
Through 3rd part libraries, additional functionality may be added to PyQtGraph, see the table below for a summary.
Library | Added functionality |
---|---|
scipy |
|
pyopengl |
|
h5py |
|
colorcet |
|
matplotlib |
|
cupy |
|
numba |
|
Qt Bindings Test Matrix
The following table represents the python environments we test in our CI system. Our CI system uses Ubuntu 20.04, Windows Server 2019, and macOS 10.15 base images.
Qt-Bindings | Python 3.7 | Python 3.8 | Python 3.9 |
---|---|---|---|
PySide2-5.12 | ✅ | ❌ | ❌ |
PyQt5-5.12 | ✅ | ❌ | |
PySide2-5.15 | ✅ | ||
PyQt5-5.15 | ✅ | ||
PySide6-6.1 | ✅ | ||
PyQt6-6.1 | ✅ |
- ❌ - Not compatible
- ✅ - Tested
Support
- Report issues on the GitHub issue tracker
- Post questions to the mailing list / forum or StackOverflow
Installation Methods
- From PyPI:
- Last released version:
pip install pyqtgraph
- Latest development version:
pip install git+https://github.com/pyqtgraph/pyqtgraph@master
- Last released version:
- From conda
- Last released version:
conda install -c conda-forge pyqtgraph
- Last released version:
- To install system-wide from source distribution:
python setup.py install
- Many linux package repositories have release versions.
- To use with a specific project, simply copy the PyQtGraph subdirectory anywhere that is importable from your project.
Documentation
The official documentation lives at pyqtgraph.readthedocs.io
The easiest way to learn PyQtGraph is to browse through the examples; run python -m pyqtgraph.examples
to launch the examples application.
Used By
Here is a partial listing of some of the applications that make use of PyQtGraph!
- ACQ4
- Orange3
- neurotic
- ephyviewer
- Joulescope
- rapidtide
- argos
- PySpectra
- Semi-Supervised Semantic Annotator
Do you use PyQtGraph in your own project, and want to add it to the list? Submit a pull request to update this listing!