Package: fastplotlib
Installation|GPU Drivers|Documentation|Examples|ContributingA fast plotting library built using thepygfxrendering engine that can utilizeVulkan,DX12, orMetalvia WGPU, so it is very fast! We also aim to be an expressive plotting library that enables rapid prototyping for large scale explorative scientific visualization.SciPy 2023 TalkNotebooks from talk:https://github.com/fastplotlib/fastplotlib-scipy2023Supported frameworksfastplotlibcan run on anything thatpygfxcan also run, this includes::heavy_check_mark:Jupyter lab, usingjupyter_rfb:heavy_check_mark:PyQtandPySide:heavy_check_mark:glfw:heavy_check_mark:wxPythonNotes::heavy_check_mark: Non-blocking Qt output is supported in ipython and notebooks by using%gui qtbefore creating plots. This hook only supports pyqt6 at the moment.:grey_exclamation: We do not officially supportjupyter notebookthroughjupyter_rfb, this may change with notebook v7:disappointed:jupyter_rfbdoes not work in collab yet, seehttps://github.com/vispy/jupyter_rfb/pull/77Notefastplotlibis currently in thealpha stage with breaking changes every ~month, but you're welcome to try it out or contribute! See ourRoadmap. See this for a discussion on API stability:https://github.com/fastplotlib/fastplotlib/issues/121Documentationhttp://fastplotlib.readthedocs.io/The Quickstart guide is not interactive. We recommend cloning/downloading the repo and trying out thedesktopornotebookexamples:https://github.com/kushalkolar/fastplotlib/tree/main/examplesIf someone wants to integratepyodidewithpygfxwe would be able to have live interactive examples! :smiley:Questions, issues, ideas? Post anissueor post on thediscussion forum!InstallationInstall usingpip.Minimal, use with your ownQtorglfwapplicationspipinstallfastplotlibThis does not give youQtorglfw, you will have to install one of them yourself depending on your preference.Notebookpipinstall"fastplotlib[notebook]"Optional: installsimplejpegfor much faster notebook visualization, you will need C compilers andlibjpeg-turboto install it:pipinstallsimplejpegNotefastplotlibandpygfxare 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 on pypi here:https://pypi.org/project/fastplotlib/#historyFor developersgitclonehttps://github.com/kushalkolar/fastplotlib.gitcdfastplotlib# install all extras in placepipinstall-e".[notebook,docs,tests]"ExamplesNotefastplotlibandpygfxare fast evolving, you may require the latestpygfxandfastplotlibfrom github to use the examples in the main branch.Note thatfastplotlibcode is basically identical between desktop and notebook usage. The differences are:Running inQtorglfwrequire afastplotlib.run()call (which is really just awgpurun()call)Notebooks plots have ipywidget-based toolbars and widgets 😄Desktop examples usingglfworQtGLFW examples are here. GLFW is a "minimal" desktop framework.https://github.com/fastplotlib/fastplotlib/tree/main/examples/desktopQt examples are here:https://github.com/fastplotlib/fastplotlib/tree/main/examples/qtSome of the examples require imageio:pip install imageioNotebook examplesNotebook examples are here:https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooksStart withsimple.ipynb.Some of the examples require imageio:pip install imageioVideoYou can watch our SciPy 2023 talk if you prefer watching demos:https://github.com/fastplotlib/fastplotlib#scipy-talkGraphics driversYou will need a relatively modern GPU (newer integrated GPUs in CPUs are usually fine). Generally if your GPU is from 2017 or later it should be fine.For more information see:https://wgpu-py.readthedocs.io/en/stable/start.html#platform-requirementsWindows:Vulkan drivers should be installed by default on Windows 11, but you will need to install your GPU manufacturer's driver package (Nvidia or AMD). If you have an integrated GPU within your CPU, you might still need to install a driver package too, check your CPU manufacturer's info.We also recommend installing C compilers so that you can installsimplejpegwhich improves remote frame buffer performance in notebooks.Linux:Debian based distros:sudoaptinstallmesa-vulkan-drivers# for better performance with the remote frame buffer install libjpeg-turbosudoaptinstalllibjpeg-turboFor other distros install the appropriate vulkan driver package, and optionally the correspondinglibjpeg-turbopackage for better remote-frame-buffer performance in jupyter notebooks.CPU/software rendering (Lavapipe)If you do not have a GPU you can perform limited software rendering using lavapipe. This should get you everything you need for that on Debian or Ubuntu based distros:sudoaptinstallllvm-devlibturbojpeg*libgl1-mesa-devlibgl1-mesa-glxlibglapi-mesalibglx-mesa0mesa-common-devmesa-vulkan-driversMac OSX:WGPU uses Metal instead of Vulkan on Mac. You will need at least Mac OSX 10.13. The OS should come with Metal pre-installed so you should be good to go!:heart: ContributingWe welcome contributions! See the contributing guide:https://github.com/kushalkolar/fastplotlib/blob/main/CONTRIBUTING.mdYou can also take a look at ourRoadmap for 2024andIssuesfor ideas on how to contribute!