VisPy 2.0: Next-Generation Interactive Scientific Visualization in Python
Kenneth Harris (University College London)
To support and further develop a library for high-performance scientific visualization in Python by maintaining the VisPy package and improving documentation within the community.
Most scientific disciplines are dealing with exponentially larger amounts of data, which requires scalable interactive scientific visualization technology. The development of massively parallel graphics processing units (GPU), fostered by the video game industry and artificial intelligence, represents a remarkable opportunity in this respect. Real-time computer graphics technology has been used in scientific visualization for decades, mostly via OpenGL, a popular open-source graphics library. While VisPy, one of the main OpenGL-based scientific visualization libraries in Python, now has a wide community of users and contributors across many scientific disciplines (20,000 monthly downloads on the Python package index, 127 contributors), it has accumulated technical debt over the years. Most importantly, VisPy suffers from the limitations of OpenGL, a 30-year-old technology that doesn’t efficiently leverage modern hardware features available in today’s GPUs. This proposal aims to update the core of the VisPy library to take advantage of both Vulkan and WebGPU while keeping mostly unchanged the user-level interface for better performance, better utilization of modern GPU computing power, and improved maintenance.