You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kyle Sunden 6fa4a0a3eb
Merge pull request #2012 from j9ac9k/prep-0.12.3-release
9 months ago
.github Update .github/workflows/python-publish.yml 9 months ago
benchmarks add benchmarks/ 11 months ago
doc Adds checklist parameter (#1952) 10 months ago
examples Traditional log10 mode for PlotDataItem (by adding "mapped data" stage) (#1992) 9 months ago
pyqtgraph Merge pull request #2012 from j9ac9k/prep-0.12.3-release 9 months ago
tests skip tests using scipy if not installed 9 months ago
tools Organize paramtypes (#1919) 11 months ago
.coveragerc MNT: hard code the coverage report location 7 years ago
.flake8 Improve target item - incorporate bits from PR 313 (#1318) 1 year ago
.gitignore Protect makeARGB with tests and benchmarks (#1697) 1 year ago
.pre-commit-config.yaml Expand CI + pre-commit (#991) 3 years ago
.readthedocs.yml Add readthedocs config file as recommended 2 years ago
CHANGELOG Update changelog 9 months ago Add a Code of Conduct (#1773) 1 year ago Update contributing guide ahead of scipy sprints 12 months ago
LICENSE.txt - Major reorganization; we now follow the standard python package structure. 10 years ago manifest corrections 8 years ago Bump minimum numpy up per NEP-29 schedule 11 months ago
pytest.ini Fix unraisable exception in test_examples 1 year ago Extend ColorMap with HSL cycles and subset generation (#1911) 12 months ago exampleLoaderTemplate.ui : add Qt6 and remove Qt4 1 year ago
tox.ini Update tox.ini config 1 year ago


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

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.


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
  • Image processing through ndimage
  • Data array filtering through signal
    • 3D graphics
    • Faster image processing
    • Note: on macOS Big Sur only works with python 3.9.1+
    • Export in hdf5 format
    • Add a collection of perceptually uniform colormaps
    • Export of PlotItem in matplotlib figure
    • Add matplotlib collection of colormaps
    • CUDA-enhanced image processing
    • Note: On Windows, CUDA toolkit must be >= 11.1
    • Faster image processing

    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
    • - Not compatible
    • - Tested


    Installation Methods

    • From PyPI:
      • Last released version: pip install pyqtgraph
      • Latest development version: pip install git+
    • From conda
      • Last released version: conda install -c conda-forge pyqtgraph
    • To install system-wide from source distribution: python 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.


    The official documentation lives at

    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!

    Do you use PyQtGraph in your own project, and want to add it to the list? Submit a pull request to update this listing!