A high-performance GPU rendering library for scientific data visualization, built on Vulkan and up to 10,000x faster than matplotlib.
Datoviz is a high-performance GPU rendering library specifically designed for scientific data visualization. It leverages the Vulkan graphics API to deliver fast, interactive rendering of 2D and 3D visual primitives, scaling to millions of elements and outperforming traditional libraries like matplotlib by up to 10,000x. The library provides fine-grained control over visuals through a flexible API while supporting graphical user interfaces for interactive exploration.
Scientific researchers, data scientists, and developers working with large datasets who need real-time, interactive visualization capabilities. It is particularly suited for those in fields like neuroscience, physics, or engineering where high-performance rendering of complex data is essential.
Developers choose Datoviz for its unparalleled performance in GPU-accelerated rendering, its lightweight and cross-platform design, and its flexible low-level API that allows fine-grained control over visualizations. Unlike heavier toolkits, it focuses exclusively on fast rendering without unnecessary dependencies, making it ideal for interactive data exploration.
⚡ Datoviz: high-performance GPU rendering for scientific data visualization
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show up to 10,000x faster than matplotlib for interactive scatter plots, enabling real-time visualization of millions of points with GPU acceleration.
Supports a wide range of 2D and 3D primitives including markers, paths, text, images, meshes, and volumes, all with built-in antialiasing for high-quality output.
Minimal dependencies (Vulkan, GLFW, Dear ImGui) and precompiled wheels for Linux, macOS, and Windows make installation straightforward and deployment easy.
Exposes low-level visual primitives rather than high-level functions, allowing developers to customize rendering details for specific performance or aesthetic needs.
The library is young (v0.3.x) and the README explicitly warns that breaking changes may still occur, posing risks for projects requiring long-term stability.
Lacks high-level plotting functions like Matplotlib; users must assemble visuals from primitives, which increases development time for common plots.
Focuses solely on rendering and excludes data file I/O, computational geometry, or processing tools, requiring integration with other libraries for full workflows.
Requires up-to-date Vulkan-capable GPUs and drivers, which may not be available on older systems or cloud environments without dedicated graphics hardware.