vispy
Interactive visualization in Python
Decision gist · record as of 2026-08-14
Yes, if you need GPU-accelerated visualization of large datasets and can accept medium install friction and experimental high-level APIs. The gloo layer is stable and well-suited for custom graphics work. Skip if you need only static plots or lack GPU/display hardware, or if you prefer matplotlib/plotly's mature ecosystem.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an OpenGL-capable GPU and a display server (X11 on Linux, native on macOS/Windows; headless rendering requires additional setup).
- Medium install friction due to compiled dependencies (freetype-py, hsluv, kiwisolver).
- Pre-built wheels cover Python 3.10–3.13 across macOS, Linux, and Windows.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you can use, modify, and distribute VisPy freely in commercial or private projects provided you retain the license notice.
last release 2026-05-20 (86 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,685,141 downloads/mo, #3,655 on PyPI
Alternatives
Verify before relying
import vispy
from vispy import app, gloo
canvas = app.Canvas()
canvas.show()
app.run()- Whether the experimental high-level plotting interfaces are production-ready or remain research-stage.
- Specific performance characteristics for datasets at different scales (millions vs. billions of points).
- Compatibility with Jupyter/IPython WebGL backend in modern notebook environments.
What it is and what it does
VisPy is a Python visualization library that harnesses GPU power through OpenGL to render interactive 2D and 3D plots of very large datasets. It targets two audiences: developers comfortable with OpenGL who want a Pythonic interface to graphics programming, and scientists seeking high-performance plotting without graphics expertise. The library provides gloo, a NumPy-aware wrapper around OpenGL ES 2.0, plus experimental scene-graph and plotting modules for building scientific GUIs. It integrates with multiple window backends (Qt, wx, glfw, Jupyter) and supports real-time data streaming, 3D mesh rendering, and volume visualization.
The package depends on numpy for array handling, freetype-py for text rendering, hsluv for color space conversion, kiwisolver for constraint solving, and packaging for version management. Installation requires a working OpenGL driver and display environment. VisPy is in active development (Alpha status) with a relatively stable app and gloo API, though higher-level plotting interfaces remain experimental.
Use it for
- Render interactive scatter plots with millions of points for exploratory data analysis.
- Visualize 3D meshes and volumetric medical imaging data in real-time.
- Build scientific GUIs with fast, scalable visualization widgets in Qt or Jupyter notebooks.
- Stream live sensor or simulation data to an interactive OpenGL canvas.
- Create custom OpenGL visualizations using gloo without low-level graphics boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need GPU-accelerated visualization of large datasets and can accept medium install friction and experimental high-level APIs.
The gloo layer is stable and well-suited for custom graphics work. Skip if you need only static plots or lack GPU/display hardware, or if you prefer matplotlib/plotly's mature ecosystem.
Install
vispy on PyPI
Before you install
Medium install friction due to compiled dependencies (freetype-py, hsluv, kiwisolver). Pre-built wheels cover Python 3.10–3.13 across macOS, Linux, and Windows. Actively maintained with a recent release.
Requires an OpenGL-capable GPU and a display server (X11 on Linux, native on macOS/Windows; headless rendering requires additional setup).
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute VisPy freely in commercial or private projects provided you retain the license notice.
Quickstart
import vispy
from vispy import app, gloo
canvas = app.Canvas()
canvas.show()
app.run()
Verify before relying
- Whether the experimental high-level plotting interfaces are production-ready or remain research-stage.
- Specific performance characteristics for datasets at different scales (millions vs. billions of points).
- Compatibility with Jupyter/IPython WebGL backend in modern notebook environments.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 5 packagesnumpyfreetype-pyhsluvkiwisolverpackaging |
| Maintenance | Actively maintained 86 days since the last release |
| First released | |
| Downloads | 1,685,141 / month, #3,655 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaFramework :: IPythonIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Visualization |
Evidence: vispy-0.16.2-cp310-cp310-macosx_10_9_x86_64.whl; vispy-0.16.2-cp310-cp310-macosx_11_0_arm64.whl; vispy-0.16.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; vispy-0.16.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; vispy-0.16.2-cp310-cp310-win_amd64.whl; vispy-0.16.2-cp311-cp311-macosx_10_9_x86_64.whl; vispy-0.16.2-cp311-cp311-macosx_11_0_arm64.whl; vispy-0.16.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; vispy-0.16.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; vispy-0.16.2-cp311-cp311-win_amd64.whl; vispy-0.16.2-cp312-cp312-macosx_10_13_x86_64.whl; vispy-0.16.2-cp312-cp312-macosx_11_0_arm64.whl; vispy-0.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; vispy-0.16.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; vispy-0.16.2-cp312-cp312-win_amd64.whl; vispy-0.16.2-cp313-cp313-macosx_10_13_x86_64.whl; vispy-0.16.2-cp313-cp313-macosx_11_0_arm64.whl; vispy-0.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; vispy-0.16.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; vispy-0.16.2-cp313-cp313-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “OpenGL interactive plotting”
- vispyVisPy is a GPU-accelerated 2D/3D visualization library that renders…
- pyqtgraphPyQtGraph is a pure-Python graphics library for building scientific…
- modernglModernGL is a Python wrapper over OpenGL Core that simplifies…
Give your agent the search over MCP, or paste the wish link into any chat.
More Visualization packages
matplotlib creates static, animated, and interactive visualizations in Python, producing publication-quality figures in multiple formats for scripts, shells, web servers, and graphical interfaces.
Install it if you need to visualize data, generate publication-quality figures, or embed plots in applications.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Plotly is an interactive, browser-based graphing library that creates charts and visualizations from Python, rendering them as HTML that can be viewed in Jupyter notebooks, standalone files, or web applications.
Generates DOT language source code for graph structures and renders them using the Graphviz graph drawing software installed on your system.
Install it if you need to generate or render graphs from Python.
Streamlit transforms Python scripts into interactive web applications with minimal code, enabling rapid development of data dashboards, reports, and chat interfaces without requiring web development expertise.
Leather is a lightweight Python charting library for quick, no-frills data visualization. It generates charts without requiring perfect styling or extensive configuration.
See also moderngl · napari · dearpygui · viser · PyOpenGL · datashader · PyOpenGL-accelerate · sunpy · pythreejs · wgpu