Fastplotlib: Driving scientific discovery through data visualization

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Judoscale - Save 47% on cloud hosting with autoscaling that just works
Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.
judoscale.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. pygfx

    Powerful and versatile visualization for Python.

    I don't know Datashader that well, but from what I understand, it generates an image from a set of primitives (e.g. points), and then allows you to interactively inspect that image. It does not re-render the points on every frame like Fastplotlib/Pygfx does.

    Depending on your GPU, you can render say 1-50 million points smoothly. Also see e.g. https://github.com/pygfx/pygfx/discussions/819

  2. Judoscale

    Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.

    Judoscale logo
  3. wgpu-py

    WebGPU for Python

    This library builds upon pygfx and wgpu-py. Unfortunately, the latter doesn't support running on WASM, pyscript or pyodide yet, but there's an issue about it:

    https://github.com/pygfx/wgpu-py/issues/407

    PRs welcome though :-)

  4. jupyter_rfb

    Remote Frame Buffer for Jupyter

    I just remembered, I think there is something weird with Google's servers or the network because performance was very poor even with a custom Google Cloud instance running jupyterlab, see this: https://github.com/vispy/jupyter_rfb/issues/95#issuecomment-...

  5. datoviz

    ⚡ Datoviz: high-performance GPU scientific data visualization C/C++/Python library

    I've been looking into this issue with Datoviz [1] following a user request. It turns out there may be a way to achieve it using Vulkan [2] (which Datoviz is based on) and CuPy's UnownedMemory [3]. I wrote a simple proof of concept using only Vulkan and CuPy.

    I'm now working on a way for users to wrap a Datoviz GPU buffer as a CuPy array that directly references the Datoviz-managed GPU memory. This should, in principle, enable efficient GPU-based array operations on GPU data without any transfers.

    [1] https://datoviz.org/

  6. fastplotlib

    Next-gen fast plotting library running on WGPU using the pygfx rendering engine

    Thanks!

    > When would you reach for a different library instead of fastplotlib?

    Use the best tool for your usecase, we're focused on GPU accelerated interactive visualization. Our use cases broadly are developing ML algorithms are looking at data off of live instruments.

    > How does this deal with really large datasets? Are you doing any type of downsampling?

    Depends on your hardware, see https://fastplotlib.org/ver/dev/user_guide/faq.html#do-i-nee...

    > How does this work with pandas? I didn't see it as a requirement in setup.py

    If you pass in numpy-like types that use the buffer protocol it should work, we also want to support direct dataframe input in the future: https://github.com/fastplotlib/fastplotlib/issues/395

    There are more low-level priorities in the meantime.

    > Does this work in Jupyter notebooks? What about marimo?

    Jupyter yes via juptyer-rfb, see our repo: https://github.com/fastplotlib/fastplotlib?tab=readme-ov-fil...

  7. rerun

    Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.

    This looks very promising. I'll have to think my visualization cases against new possibilities this enables.

    I have been intermittently following Rerun, a "robotics-style data visualization" app [1]. Their architecture bears certain similarities [2]. Wgpu in both, egui and imgui, Rust with Python. Rerun's stack does compile to WASM and works in browser. Use cases seem different, but somewhat the same. I don't do scientific nor robotic stuff at all, so no opinions on feasibility of either...

    [1] https://rerun.io

  8. PyQtGraph

    Fast data visualization and GUI tools for scientific / engineering applications

    Very interesting and promising package.

    I especially like that there is a PyQt interface which might provide an alternative to another great package: pyqtgraph[0].

    [0] https://github.com/pyqtgraph/pyqtgraph

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. voila

    Voilà turns Jupyter notebooks into standalone web applications

    In the browser only jupyter for now, you can use voila to make a server based application using jupyter: https://github.com/voila-dashboards/voila

    As Caitlin pointed out below pyodide is a future goal.

  11. tinygrad

    You like pytorch? You like micrograd? You love tinygrad! ❤️

    Thanks! That is a great question and one that I've we've been battling with as well. As far as we know, this is not possible due to the way different contexts are set up on the GPU https://github.com/pygfx/pygfx/issues/510

    tinygrad which I haven't used seems torch-like and has a WGPU backend: https://github.com/tinygrad/tinygrad

  12. imgui_bundle

    From expressive code to powerful GUIs in no time: a fast, feature-rich, cross-platform toolkit for C++ & Python.

  13. mosaic

    An extensible framework for linking databases and interactive views. (by uwdata)

    Check out Mosaic as well if you are looking for something to plot crap ton of data points.

    [1] https://idl.uw.edu/mosaic/

  14. rendercanvas

    One canvas API, multiple backends

    Rendering frames and saving them to disk can be done with rendercanvas but we haven't exposed this in fastplotlib yet: https://github.com/pygfx/rendercanvas/issues/49

  15. wgpu-native

    Native WebGPU implementation based on wgpu-core

  16. anywidget

    reusable widgets made easy

    non-jupyter notebook implementations have their quirks, eventually we hope to make a more universal jupyter-rfb kind of library, perhaps using anywidget. Anywidget is awesome: https://github.com/manzt/anywidget

  17. gsp-py

    GSP (Generalized Sequence Pattern) algorithm in Python

    What is GSP in this context? Searching Python GSP brings up Generalized Sequence Pattern (GSP) algorithm [1] and Graph Signal Processing [2], neither of which seem to be a protocol. I also found "Generic Signaling Protocol" and "Global Sequence Protocol" which also don't seem relevant. Forgive me if GSP is some well know thing which I am just not familiar with.

    1. https://github.com/jacksonpradolima/gsp-py

    2. https://pygsp.readthedocs.io/en/stable/

  18. manim

    Animation engine for explanatory math videos

  19. holoviz

    High-level tools to simplify visualization in Python.

    How is it compared to HoloViz?[1]

    I followed one of their online workshops, and it feels really powerful, although it is a bit confusing which part of it does what (it's basically 6 or 7 projects put together under an umbrella)

    [1] https://holoviz.org/

  20. vispy2

    I wrote a quick draft outlining the vision here. [1]

    [1] https://github.com/vispy/vispy2/blob/main/ARCHITECTURE.md

  21. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Pygfx/wgpu-py: Next generation GPU API for Python

    1 project | news.ycombinator.com | 20 Feb 2024
  • I'm working on techno audio-visuals using Ableton & Javascript

    1 project | /r/Techno | 5 May 2023
  • lux VS Rath - a user suggested alternative

    2 projects | 12 Jan 2023
  • What tools are missing in Python?

    10 projects | /r/Python | 5 Aug 2021
  • Help shape the future of VisPy 2.0 – ideas, feedback, and contributors welcome

    1 project | news.ycombinator.com | 5 Apr 2025