Go to file
KIU Shueng Chuan 59fd72a3d1 exampleLoaderTemplate.ui : add Qt6 and remove Qt4 2021-01-23 11:43:34 +08:00
.github add PyQt6 to CI 2021-01-23 08:31:00 +08:00
benchmarks Small ImageItem-related improvements (#1501) 2021-01-19 23:19:03 -08:00
doc Performance enhancement: use CUDA in ImageItem (#1466) 2021-01-19 21:26:24 -08:00
examples exampleLoaderTemplate.ui : add Qt6 and remove Qt4 2021-01-23 11:43:34 +08:00
pyqtgraph add PyQt6 to CI 2021-01-23 08:31:00 +08:00
tools add PySide6 and PyQt6 to rebuildUi.py 2021-01-15 08:25:07 +08:00
.coveragerc MNT: hard code the coverage report location 2015-08-01 11:54:15 -04:00
.flake8 Expand CI + pre-commit (#991) 2019-08-29 13:56:25 -07:00
.gitignore Small ImageItem-related improvements (#1501) 2021-01-19 23:19:03 -08:00
.pre-commit-config.yaml Expand CI + pre-commit (#991) 2019-08-29 13:56:25 -07:00
.readthedocs.yml Add readthedocs config file as recommended 2020-05-17 16:06:00 -07:00
CHANGELOG Page 1 2020-12-19 08:54:27 -08:00
CONTRIBUTING.md Remove a few remaining mentions of the develop branch 2020-09-30 21:04:09 -07:00
LICENSE.txt - Major reorganization; we now follow the standard python package structure. 2012-12-26 17:51:52 -05:00
MANIFEST.in manifest corrections 2014-12-24 11:05:05 -05:00
README.md add PyQt6 to CI 2021-01-23 08:31:00 +08:00
asv.conf.json Small ImageItem-related improvements (#1501) 2021-01-19 23:19:03 -08:00
pytest.ini Up the faulthandler_timeout parameter to 30 2021-01-19 20:36:54 -08:00
setup.py MAINT: Post 0.11.1 release, drop py2, qt4 (#1473) 2020-12-22 10:25:06 -08:00
test.py exampleLoaderTemplate.ui : add Qt6 and remove Qt4 2021-01-23 11:43:34 +08:00
tox.ini MAINT: Post 0.11.1 release, drop py2, qt4 (#1473) 2020-12-22 10:25:06 -08:00

README.md

PyQtGraph

PyPi conda-forge Build Status CodeQL Status Documentation Status Total alerts Language grade: Python

A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6

Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill

http://www.pyqtgraph.org

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 minor versions of Qt 5 and Qt 6 currently supported by upstream Qt

Currently this means:

  • Python 3.7+
  • Qt 5.12-6.0
  • Required
    • PyQt5, PyQt6, PySide2 or PySide6
    • numpy 1.17+
  • Optional
    • scipy for image processing
    • pyopengl for 3D graphics
      • pyopengl on macOS Big Sur only works with python 3.9.1+
    • hdf5 for large hdf5 binary format support
    • colorcet for supplemental colormaps
    • cupy for CUDA-enhanced image processing
      • On Windows, CUDA toolkit must be >= 11.1

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.0
PyQt6-6.0

Support

Installation Methods

  • From PyPI:
    • Last released version: pip install pyqtgraph
    • Latest development version: pip install git+https://github.com/pyqtgraph/pyqtgraph@master
  • From conda
    • Last released version: conda install -c conda-forge pyqtgraph
  • 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.