Skip to main content

VisPy: interactive scientific visualization in Python

Main website: http://vispy.org

Build Status Appveyor Status Coverage Status Zenodo Link


VisPy is a high-performance interactive 2D/3D data visualization library. VisPy leverages the computational power of modern Graphics Processing Units (GPUs) through the OpenGL library to display very large datasets. Applications of VisPy include:

  • High-quality interactive scientific plots with millions of points.

  • Direct visualization of real-time data.

  • Fast interactive visualization of 3D models (meshes, volume rendering).

  • OpenGL visualization demos.

  • Scientific GUIs with fast, scalable visualization widgets (Qt or IPython notebook with WebGL).

Announcements

  • Release! Version 0.6.2, November 4, 2019

  • Release! Version 0.6.1, July 28, 2019

  • Release! Version 0.6.0, July 11, 2019

  • Release! Version 0.5.3, March 28, 2018

  • Release! Version 0.5.2, December 11, 2017

  • Release! Version 0.5.1, November 4, 2017

  • Release! Version 0.5, October 24, 2017

  • Release! Version 0.4, May 22, 2015

  • VisPy tutorial in the IPython Cookbook

  • Release! Version 0.3, August 29, 2014

  • EuroSciPy 2014: talk at Saturday 30, and sprint at Sunday 31, August 2014

  • Article in Linux Magazine, French Edition, July 2014

  • GSoC 2014: two GSoC students are currently working on VisPy under the PSF umbrella

  • Release!, Version 0.2.1 04-11-2013

  • Presentation at BI forum, Budapest, 6 November 2013

  • Presentation at Euroscipy, Belgium, August 2013

  • EuroSciPy Sprint, Belgium, August 2013

  • Release! Version 0.1.0 14-08-2013

Using VisPy

VisPy is a young library under heavy development at this time. It targets two categories of users:

  1. Users knowing OpenGL, or willing to learn OpenGL, who want to create beautiful and fast interactive 2D/3D visualizations in Python as easily as possible.

  2. Scientists without any knowledge of OpenGL, who are seeking a high-level, high-performance plotting toolkit.

If you’re in the first category, you can already start using VisPy. VisPy offers a Pythonic, NumPy-aware, user-friendly interface for OpenGL ES 2.0 called gloo. You can focus on writing your GLSL code instead of dealing with the complicated OpenGL API - VisPy takes care of that automatically for you.

If you’re in the second category, we’re starting to build experimental high-level plotting interfaces. Notably, VisPy now ships a very basic and experimental OpenGL backend for matplotlib.

Installation

VisPy runs on Python 2.7+ and Python 3.3+ and depends on NumPy. You also need a backend (PyQt4/PySide, PyQt5/PySide2, glfw, pyglet, SDL, or wx).

PyQt5/PySide2 should be considered more experimental than PyQt4/PySide.

VisPy can be installed either via pip:

` pip install vispy `

or within the Anaconda Python distribution. Anaconda provides a convenient package management system. Installing VisPy can then easily be achieved by adding conda-forge to the channels with:

` conda config --add channels conda-forge `

Once the conda-forge channel has been enabled, vispy can be installed with:

` conda install vispy `

Development Installation

As VisPy is under heavy development at this time, we highly recommend developers to use the development version on Github (master branch). You need to clone the repository and install VisPy with python setup.py install.

As a one-liner, assuming git is installed:

git clone --recurse-submodules https://github.com/vispy/vispy.git && cd vispy && python setup.py install --user

This will automatically install the latest version of vispy.

If you already have vispy cloned, you may need to update the git submodules to make sure you have the newest code:

git pull
git submodule update --init --recursive

Structure of VisPy

Currently, the main subpackages are:

  • app: integrates an event system and offers a unified interface on top of many window backends (Qt4, wx, glfw, IPython notebook with/without WebGL, and others). Relatively stable API.

  • gloo: a Pythonic, object-oriented interface to OpenGL. Relatively stable API.

  • scene: this is the system underlying our upcoming high level visualization interfaces. Under heavy development and still experimental, it contains several modules.

    • Visuals are graphical abstractions representing 2D shapes, 3D meshes, text, etc.

    • Transforms implement 2D/3D transformations implemented on both CPU and GPU.

    • Shaders implements a shader composition system for plumbing together snippets of GLSL code.

    • The scene graph tracks all objects within a transformation graph.

  • plot: high-level plotting interfaces.

The API of all public interfaces are subject to change in the future, although app and gloo are relatively stable at this point.

Genesis

VisPy began when four developers with their own visualization libraries decided to team up: Luke Campagnola with PyQtGraph, Almar Klein with Visvis, Cyrille Rossant with Galry, Nicolas Rougier with Glumpy.

Now VisPy looks to build on the expertise of these developers and the broader open-source community to build a high-performance OpenGL library.


Release files for vispy 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vispy 0.6.2
File Size Uploaded
vispy-0.6.2.tar.gz 13.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for vispy 0.6.2
File
vispy-0.6.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
vispy-0.6.2-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
vispy-0.6.2-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
vispy-0.6.2-cp37-cp37m-manylinux1_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32 Details
vispy-0.6.2-cp37-cp37m-macosx_10_6_intel.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
vispy-0.6.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
vispy-0.6.2-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
vispy-0.6.2-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
vispy-0.6.2-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
vispy-0.6.2-cp36-cp36m-macosx_10_6_intel.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
vispy-0.6.2-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
vispy-0.6.2-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
vispy-0.6.2-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
vispy-0.6.2-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details
vispy-0.6.2-cp35-cp35m-macosx_10_6_intel.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386) Details

Total release size: 46.7 MB

Release files / vispy-0.6.2.tar.gz

Download URL vispy-0.6.2.tar.gz
Size 13.3 MB
Tags Source
SHA-256 checksum
How to use checksums
c51a67fc1c9d31f2c4fea6338297b423659beedb51bc67b92d563ed8da0fe529
BLAKE2b-256 checksum
How to use checksums
ee6bc0d3a3b0e6776a23e2be91169b49f6f80dd172018139084a2e4d928d8239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp37-cp37m-win_amd64.whl

Download URL vispy-0.6.2-cp37-cp37m-win_amd64.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c56811692727ca73bc5974098dc276f65c008840126068ef8abf0aa26c93744a
BLAKE2b-256 checksum
How to use checksums
5ed8dfb8542377ade253543b3f1d7f8c1055e05b1945df4f7e31cdc26177d386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp37-cp37m-win32.whl

Download URL vispy-0.6.2-cp37-cp37m-win32.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
8f91836d0dc3b2599ff3b27fa17e720ef495ac155fe005a2e2d65052bddfd8f5
BLAKE2b-256 checksum
How to use checksums
94e66af70e471fd7644a025787e3a1d9f598780e5bcc2a8a6af88d4a1ef18c17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp37-cp37m-manylinux1_x86_64.whl

Download URL vispy-0.6.2-cp37-cp37m-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
23734a2738c75ef668739a69db6cd497e6462128f2faf7912d3587f4238bc403
BLAKE2b-256 checksum
How to use checksums
d981a685253e8fb8b08c59ead0fa740a4b3c1b9a105036b0ca51dcb62a4168d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp37-cp37m-manylinux1_i686.whl

Download URL vispy-0.6.2-cp37-cp37m-manylinux1_i686.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
b2d7a829577b045444ce764b03aa6779a51c0c50feb554e832de0d70a66e600a
BLAKE2b-256 checksum
How to use checksums
5db2cbc784740163473d0fb6c123103015fbbfcd850c7107053168a1f9d7edf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp37-cp37m-macosx_10_6_intel.whl

Download URL vispy-0.6.2-cp37-cp37m-macosx_10_6_intel.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
065f88c3725234fb04098006a2de3b24b883c0db4ea7a45a1cd87abef3ac845c
BLAKE2b-256 checksum
How to use checksums
3d67aa0edd78a3bf67c531dacd781c0dd505840760aa2bf0c29d48e4ca391a63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp36-cp36m-win_amd64.whl

Download URL vispy-0.6.2-cp36-cp36m-win_amd64.whl
Size 2.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
ef7928f578cad9da73b5b31b216e7bac6b4b7cabd4be35300256f9855777f443
BLAKE2b-256 checksum
How to use checksums
91d3eab3ff4ebaf9f5b5a418455c3211ea01df4d57c9c14a8d3c29e38626eead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp36-cp36m-win32.whl

Download URL vispy-0.6.2-cp36-cp36m-win32.whl
Size 2.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f2837999dbd41ca8406940a5ad5a1539e345781020015772addb74aa4a96b580
BLAKE2b-256 checksum
How to use checksums
10f4ac3cece3e81c006fa3647aba29b5b1f76ba12706c054a19b00ec06a5134a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp36-cp36m-manylinux1_x86_64.whl

Download URL vispy-0.6.2-cp36-cp36m-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
45c4c1534d8e1b0dc3addfe0315f9c9ac0f66cd1119726c2f8c8c47f6c9d4ca5
BLAKE2b-256 checksum
How to use checksums
72f4f3137b4e6110ba500ff1c5795560153d41c51c2e7eefd863f5d65f62cf90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp36-cp36m-manylinux1_i686.whl

Download URL vispy-0.6.2-cp36-cp36m-manylinux1_i686.whl
Size 2.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
2b9b6979662f7cbd205e6b263e84260824fcc9f6506dccc39e150ec4c8c7033a
BLAKE2b-256 checksum
How to use checksums
8dbc59d0ee23629058d4edd0d1ebf8e24156b9c4b3938c9876f678b907497fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp36-cp36m-macosx_10_6_intel.whl

Download URL vispy-0.6.2-cp36-cp36m-macosx_10_6_intel.whl
Size 2.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
80b9cc4e0d2af98601abd84d5d362e2a348adc2d428740b6e755b03a53ccfbad
BLAKE2b-256 checksum
How to use checksums
14b89266285fccb9f3a12f0a084f327e897599e774fe221b24a6e89a61060c85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp35-cp35m-win_amd64.whl

Download URL vispy-0.6.2-cp35-cp35m-win_amd64.whl
Size 2.2 MB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
104421373fab5895a8f174c249e2ad5942a944046c31e7a6d3b493ce489ded43
BLAKE2b-256 checksum
How to use checksums
56e52a0152c5fd77b1ab1673edda84f56c253c3931db1685ffbaa32c84619677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp35-cp35m-win32.whl

Download URL vispy-0.6.2-cp35-cp35m-win32.whl
Size 2.2 MB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f154cf90116d871b084a96ac8033fcd1dc33bac2b149aac079550fcc934a9fea
BLAKE2b-256 checksum
How to use checksums
ec3b9a8d2e4521491a90ab16f621434b8ad20a3fec6a078e7b4ce560cc3f017e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp35-cp35m-manylinux1_x86_64.whl

Download URL vispy-0.6.2-cp35-cp35m-manylinux1_x86_64.whl
Size 2.3 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
cbb82931efd416beebcec28a53aa896926495a4634bf2a74acc5d642cae06d55
BLAKE2b-256 checksum
How to use checksums
924e9bf5b3dd3549f609b9778a86bf629db14bcb81384895284c6a1695c24f6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp35-cp35m-manylinux1_i686.whl

Download URL vispy-0.6.2-cp35-cp35m-manylinux1_i686.whl
Size 2.2 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
07ebfa066a65267b5bc0fe34e35a249d31467dd1d0a69bd82b1357e21190b9b3
BLAKE2b-256 checksum
How to use checksums
cb9b9c3da127202b878022e2176d52e1767150d5ac883ec6f38495e7eb021fb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release files / vispy-0.6.2-cp35-cp35m-macosx_10_6_intel.whl

Download URL vispy-0.6.2-cp35-cp35m-macosx_10_6_intel.whl
Size 2.2 MB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
160b9135c5f72180c1268cb7e6b690f9ae2a762af6237e0a5338820762a1769f
BLAKE2b-256 checksum
How to use checksums
c78e8081f764a4682737d79c4ffdf7bd535f8cc07a59c086f3dd0284cdc7394b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

Release history Release notifications | RSS feed

0.9.4

16 release files

0.9.3

16 release files

0.9.2

13 release files

0.9.1

13 release files

0.9.0

13 release files

0.8.1

13 release files

0.8.0

13 release files

0.7.3

13 release files

0.7.2

13 release files

0.7.1

19 release files

0.7.0

19 release files

0.6.6

29 release files

0.6.5

22 release files

0.6.4

22 release files

0.6.3

22 release files

This release

0.6.2 This release

16 release files

0.6.1

16 release files

0.6.0

16 release files

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page