Skip to content
Nicolas P. Rougier edited this page Feb 16, 2015 · 7 revisions

What is VisPy?

VisPy is a high-performance interactive visualization library in Python that brings the power of graphics cards (modern OpenGL: shaders, vertex buffer objects, etc.) to the masses. While VisPy primarily targets scientific visualization of very large datasets, it also offers a powerful and flexible infrastructure for building beautiful and fast data-intensive graphical applications in Python.

VisPy supports visualizations on desktop OpenGL and WebGL in the browser with OpenGL ES 2.0.

Status of the project

VisPy is a relatively young library. The main building blocks are implemented, and we're currently consolidating the main user API. Users can already create 2D and 3D visualizations without knowing OpenGL. We also offer a Pythonic object-oriented API directly on top of OpenGL for those who want maximum flexibility.

The developers

We are five Python developers who have worked on our own visualization libraries in the past. We then decided to team up. Eventually, we all want to see our own libraries superseded by VisPy.

Requirements for candidates

  • Interested in scientific plotting, data visualization, real-time graphics, video games, demo scene, computer art...
  • Experience with Python
  • Experience with open source development, including collaborative workflows, Git/Github, issue tracking...
  • Experience with code quality: unit testing, test-driven development, documentation, continuous integration...
  • Have publicly available code source and projects we can look at.

GSoC 2015 projects

1. Bringing Glumpy to VisPy

One of us (Nicolas Rougier) has implemented experimental ideas in his project, Glumpy. We now want to include them in VisPy.

  • High priority: Axes, grids, ticks visuals
  • More visualizations examples
  • More visuals
  • Collection system

2. High-level plotting interface

Develop a high-quality, user-friendly plotting interface similar to bokeh and seaborn.

3. Make VisPy work on the Raspberry Pi and mobile devices

Using some of the ideas developed in the Kivy project.

4. Improve the website and documentation

Get inspiration from Glumpy.

5. Develop a NumPy-aware Python-to-JavaScript compiler

Using Numba, LLVM, and emscripten. This component would be helpful when porting Python visualizations to JavaScript.

Mentors

Availability:

  • Cyrille Rossant: available throughout the summer
  • Nicolas Rougier: not quite sure about the summer yet but probably ok
  • Almar Klein: ?
  • Luke Campagnola: ?
  • Eric Larson: ?

Links

The information page for 2015 is here: https://wiki.python.org/moin/SummerOfCode/2015