Skip to main content

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

Project description

logo


CI PyPI version Deploy docs DOI

Installation | GPU Drivers | Documentation | Examples | Contributing

Next-gen plotting library built using the pygfx rendering engine that utilizes Vulkan, DX12, or Metal via WGPU, so it is very fast! fastplotlib is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization.

Note: fastplotlib is currently in the late alpha stage, but you're welcome to use it or contribute! See our Roadmap. Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121

What are some things I can do with fastplotlib?

  • GPU-accelerated visualization

  • interactive visualization via an intuitive and expressive API

  • rapid prototyping and algorithm design

  • easy exploration and fast rendering of large-scale data

  • design, develop, evaluate, and ship machine learning models

  • create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.)

Supported frameworks

fastplotlib can run on anything that pygfx can also run, this includes:

:heavy_check_mark: Jupyter lab, using jupyter_rfb
:heavy_check_mark: PyQt and PySide
:heavy_check_mark: glfw
:heavy_check_mark: wxPython

Write your code once and run it anywhere. Whether you are using Qt, glfw, jupyter lab, or doing offscreen rendering, fastplotlib works across all major platforms (Linux, Windows, Mac OS X) :smile: See the FAQ for more details on where and how you can use fastplotlib.

Documentation

http://www.fastplotlib.org/ver/dev

Questions, issues, ideas? You are welcome to post an issue or post on the discussion forum! :smiley:

Installation

To install use pip:

# with imgui and jupyterlab
pip install -U "fastplotlib[notebook,imgui]"

# minimal install, install glfw, pyqt6 or pyside6 separately
pip install -U fastplotlib

# with imgui
pip install -U "fastplotlib[imgui]"

# to use in jupyterlab without imgui
pip install -U "fastplotlib[notebook]"

We strongly recommend installing simplejpeg for use in notebooks, you must first install libjpeg-turbo

Once you have libjpeg-turbo:

pip install simplejpeg

Note: fastplotlib and pygfx are fast evolving projects, the version available through pip might be outdated, you will need to follow the "For developers" instructions below if you want the latest features. You can find the release history here: https://github.com/fastplotlib/fastplotlib/releases

For developers

Make sure you have git-lfs installed.

git clone https://github.com/fastplotlib/fastplotlib.git
cd fastplotlib

# install all extras in place
pip install -e ".[notebook,docs,tests,imgui]"

# install latest pygfx
pip install git+https://github.com/pygfx/pygfx.git@main

See Contributing for more details on development

Examples

Examples gallery: http://fastplotlib.org/ver/dev/_gallery/index.html

User guide: http://fastplotlib.org/ver/dev/user_guide/guide.html

fastplotlib code is identical across notebook (jupyterlab), and desktop use with Qt/PySide or glfw.

Notebooks

The quickstart.ipynb tutorial notebook is a great way to get familiar with the API: https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooks/quickstart.ipynb

GPU drivers and requirements

Generally if your GPU is from 2017 or later it should be fine. Modern integrated graphics are usually fine for many use cases. The exact requirements will depend on how complex your visualization is and how many objects you need to render.

More detailed information on GPUs and drivers is here: http://fastplotlib.org/ver/dev/user_guide/gpu.html

For more detailed information, such as use on cloud computing infrastructure, see the WGPU docs: https://wgpu-py.readthedocs.io/en/stable/start.html#cloud-compute

Contributing :heart:

We welcome contributions! See the contributing guide: https://github.com/fastplotlib/fastplotlib/blob/main/CONTRIBUTING.md

You can also take a look at our Roadmap for 2025 and Issues for ideas on how to contribute!

Developers :brain:

A special thanks to all of the pygfx developers and the amazing work they have done.

Sponsors

Fastplotlib is free and open source. We would like to thank the following institutions for helping to support fastplotlib over the past few years.

  • UNC Chapel Hill, Giovannucci Lab & Hantman Lab
  • Flatiron Institute CCN, Chklovskii Lab
  • Duke University, Pearson Lab

We are always open to new sponsors that can help further develop and improve the library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastplotlib-0.6.1.tar.gz (162.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastplotlib-0.6.1-py3-none-any.whl (196.2 kB view details)

Uploaded Python 3

File details

Details for the file fastplotlib-0.6.1.tar.gz.

File metadata

  • Download URL: fastplotlib-0.6.1.tar.gz
  • Upload date:
  • Size: 162.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastplotlib-0.6.1.tar.gz
Algorithm Hash digest
SHA256 2de8b7cec83d5eeb7c39aacdf28994a46f87ce94354a684c8d3d89ebdbe796dd
MD5 21c9bd114428125275c90d885ea926cc
BLAKE2b-256 555d8d8188e2702713b783774da30df40158b68650baae3c9a0eda50910ef5f5

See more details on using hashes here.

File details

Details for the file fastplotlib-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: fastplotlib-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 196.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastplotlib-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfc0c02a948d80b4e983bc77467d1b0edefd46be6e862e7b63b7c06d712b5955
MD5 f7b099a0289ce8b1d6ddb6ae61d01057
BLAKE2b-256 62f1c47cf226d712c39e5bf655d8b6b2e6fcb96a95e5defc5b576b115fbb4412

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page