<p align="center">
<img src="https://github.com/fastplotlib/fastplotlib/blob/main/docs/source/fastplotlib_logo.svg" height="220" alt="logo">
</p>
---
[](https://github.com/fastplotlib/fastplotlib/actions/workflows/ci.yml)
[](https://badge.fury.io/py/fastplotlib)
[](https://fastplotlib.org/ver/dev/)
[](https://zenodo.org/doi/10.5281/zenodo.13365890)
[**Installation**](https://github.com/fastplotlib/fastplotlib#installation) |
[**GPU Drivers**](https://github.com/kushalkolar/fastplotlib#graphics-drivers) |
[**Documentation**](https://github.com/fastplotlib/fastplotlib#documentation) |
[**Examples**](https://github.com/kushalkolar/fastplotlib#examples) |
[**Contributing**](https://github.com/kushalkolar/fastplotlib#heart-contributing)
Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization.
<div align="center">
<img src=https://github.com/user-attachments/assets/5c6bede6-e0cb-4867-bb9b-f86cc5e98619 width="1000" />
</div>
> **Note:**
> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). 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`](https://github.com/pygfx/pygfx) can also run, this includes:
:heavy_check_mark: `Jupyter lab`, using [`jupyter_rfb`](https://github.com/vispy/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](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) 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](https://github.com/fastplotlib/fastplotlib/issues) or post on the [discussion forum](https://github.com/fastplotlib/fastplotlib/discussions)! :smiley:
# Installation
To install use pip:
```bash
# 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](https://libjpeg-turbo.org/)
- If you use ``conda``, you can get ``libjpeg-turbo`` through conda.
- If you are on linux, you can get it through your distro's package manager.
- For Windows and Mac compiled binaries are available on their release page: https://github.com/libjpeg-turbo/libjpeg-turbo/releases
Once you have ``libjpeg-turbo``:
```bash
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](https://github.com/git-lfs/git-lfs#installing) installed.
```bash
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](https://github.com/fastplotlib/fastplotlib?tab=readme-ov-file#heart-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**](https://github.com/fastplotlib/fastplotlib/issues/55) and [**Issues**](https://github.com/fastplotlib/fastplotlib/issues) for ideas on how to contribute!
# Developers :brain:
- [**Kushal Kolar**](https://github.com/kushalkolar)
- [**Caitlin Lewis**](https://github.com/clewis7)
- [**Almar Klein**](https://github.com/almarklein)
- [**Amol Pasarkar**](https://github.com/apasarkar)
A special thanks to all of the `pygfx` developers and the amazing work they have done.
Raw data
{
"_id": null,
"home_page": null,
"name": "fastplotlib",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "visualization, science, interactive, pygfx, webgpu, wgpu, vulkan, gpu",
"author": "Kushal Kolar, Caitlin Lewis",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d7/dd/171a052588ce0a944b75b5ccfab417ea8d591afea79ef6c733473e227c15/fastplotlib-0.5.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<img src=\"https://github.com/fastplotlib/fastplotlib/blob/main/docs/source/fastplotlib_logo.svg\" height=\"220\" alt=\"logo\">\n</p>\n\n---\n\n[](https://github.com/fastplotlib/fastplotlib/actions/workflows/ci.yml)\n[](https://badge.fury.io/py/fastplotlib)\n[](https://fastplotlib.org/ver/dev/)\n[](https://zenodo.org/doi/10.5281/zenodo.13365890)\n\n[**Installation**](https://github.com/fastplotlib/fastplotlib#installation) | \n[**GPU Drivers**](https://github.com/kushalkolar/fastplotlib#graphics-drivers) | \n[**Documentation**](https://github.com/fastplotlib/fastplotlib#documentation) | \n[**Examples**](https://github.com/kushalkolar/fastplotlib#examples) | \n[**Contributing**](https://github.com/kushalkolar/fastplotlib#heart-contributing)\n\nNext-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization.\n\n<div align=\"center\">\n <img src=https://github.com/user-attachments/assets/5c6bede6-e0cb-4867-bb9b-f86cc5e98619 width=\"1000\" /> \n</div>\n\n> **Note:**\n> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121\n\n# What are *some* things I can do with `fastplotlib`?\n\n- GPU-accelerated visualization\n\n- interactive visualization via an intuitive and expressive API\n\n- rapid prototyping and algorithm design\n\n- easy exploration and fast rendering of large-scale data\n\n- design, develop, evaluate, and ship machine learning models\n\n- create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.)\n\n# Supported frameworks\n\n`fastplotlib` can run on anything that [`pygfx`](https://github.com/pygfx/pygfx) can also run, this includes:\n\n:heavy_check_mark: `Jupyter lab`, using [`jupyter_rfb`](https://github.com/vispy/jupyter_rfb)\\\n:heavy_check_mark: `PyQt` and `PySide`\\\n:heavy_check_mark: `glfw`\\\n:heavy_check_mark: `wxPython`\n\nWrite 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](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) for more details on where and how you can use `fastplotlib`.\n\n# Documentation\n\nhttp://www.fastplotlib.org/ver/dev\n\nQuestions, issues, ideas? You are welcome to post an [issue](https://github.com/fastplotlib/fastplotlib/issues) or post on the [discussion forum](https://github.com/fastplotlib/fastplotlib/discussions)! :smiley: \n\n# Installation\n\nTo install use pip:\n\n```bash\n# with imgui and jupyterlab\npip install -U \"fastplotlib[notebook,imgui]\"\n\n# minimal install, install glfw, pyqt6 or pyside6 separately\npip install -U fastplotlib\n\n# with imgui\npip install -U \"fastplotlib[imgui]\"\n\n# to use in jupyterlab without imgui\npip install -U \"fastplotlib[notebook]\"\n```\n\nWe strongly recommend installing ``simplejpeg`` for use in notebooks, you must first install [libjpeg-turbo](https://libjpeg-turbo.org/)\n\n- If you use ``conda``, you can get ``libjpeg-turbo`` through conda.\n- If you are on linux, you can get it through your distro's package manager.\n- For Windows and Mac compiled binaries are available on their release page: https://github.com/libjpeg-turbo/libjpeg-turbo/releases\n\nOnce you have ``libjpeg-turbo``:\n\n```bash\npip install simplejpeg\n```\n\n> **Note:**\n> `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\n\n### For developers\n\nMake sure you have [git-lfs](https://github.com/git-lfs/git-lfs#installing) installed.\n\n```bash\ngit clone https://github.com/fastplotlib/fastplotlib.git\ncd fastplotlib\n\n# install all extras in place\npip install -e \".[notebook,docs,tests,imgui]\"\n\n# install latest pygfx\npip install git+https://github.com/pygfx/pygfx.git@main\n```\n\nSee [Contributing](https://github.com/fastplotlib/fastplotlib?tab=readme-ov-file#heart-contributing) for more details on development\n\n# Examples\n\nExamples gallery: http://fastplotlib.org/ver/dev/_gallery/index.html\n\nUser guide: http://fastplotlib.org/ver/dev/user_guide/guide.html\n\n`fastplotlib` code is identical across notebook (`jupyterlab`), and desktop use with `Qt`/`PySide` or `glfw`. \n\n**Notebooks**\n\nThe `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\n\n# GPU drivers and requirements\n\nGenerally 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.\n\nMore detailed information on GPUs and drivers is here: http://fastplotlib.org/ver/dev/user_guide/gpu.html\n\nFor 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\n\n# Contributing :heart:\n\nWe welcome contributions! See the contributing guide: https://github.com/fastplotlib/fastplotlib/blob/main/CONTRIBUTING.md\n\nYou can also take a look at our [**Roadmap for 2025**](https://github.com/fastplotlib/fastplotlib/issues/55) and [**Issues**](https://github.com/fastplotlib/fastplotlib/issues) for ideas on how to contribute!\n\n# Developers :brain:\n\n- [**Kushal Kolar**](https://github.com/kushalkolar)\n\n- [**Caitlin Lewis**](https://github.com/clewis7)\n\n- [**Almar Klein**](https://github.com/almarklein)\n\n- [**Amol Pasarkar**](https://github.com/apasarkar)\n\nA special thanks to all of the `pygfx` developers and the amazing work they have done. \n\n",
"bugtrack_url": null,
"license": null,
"summary": "Next-gen fast plotting library running on WGPU using the Pygfx rendering engine ",
"version": "0.5.1",
"project_urls": {
"Documentation": "https://www.fastplotlib.org/",
"Homepage": "https://www.fastplotlib.org/",
"Repository": "https://github.com/fastplotlib/fastplotlib"
},
"split_keywords": [
"visualization",
" science",
" interactive",
" pygfx",
" webgpu",
" wgpu",
" vulkan",
" gpu"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7eaaca601e48788165d7945013c8b9fa28c714e5d822aedea584cb4828a351d2",
"md5": "e73efb847f6e44d1af47fc8a37c24cd5",
"sha256": "550b427da5555dcfb149b694afded90ce43b28b60a8312bfd80f4e6f3e3061f1"
},
"downloads": -1,
"filename": "fastplotlib-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e73efb847f6e44d1af47fc8a37c24cd5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 156214,
"upload_time": "2025-07-10T19:47:07",
"upload_time_iso_8601": "2025-07-10T19:47:07.219668Z",
"url": "https://files.pythonhosted.org/packages/7e/aa/ca601e48788165d7945013c8b9fa28c714e5d822aedea584cb4828a351d2/fastplotlib-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d7dd171a052588ce0a944b75b5ccfab417ea8d591afea79ef6c733473e227c15",
"md5": "a350f6b25720f2f80ce656207b7aa9b0",
"sha256": "009ba1110f2ad1d94fe6ec4c63668e7dd3c18d9336185237a7bce725cfcbcbc2"
},
"downloads": -1,
"filename": "fastplotlib-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "a350f6b25720f2f80ce656207b7aa9b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 130745,
"upload_time": "2025-07-10T19:47:08",
"upload_time_iso_8601": "2025-07-10T19:47:08.957062Z",
"url": "https://files.pythonhosted.org/packages/d7/dd/171a052588ce0a944b75b5ccfab417ea8d591afea79ef6c733473e227c15/fastplotlib-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 19:47:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fastplotlib",
"github_project": "fastplotlib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fastplotlib"
}