Fastplotlib

Latest version: v0.4.0

Safety actively analyzes 722581 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.4.0

New
* Window layouts! You can create subplots with arbitrary rects/extents on the canvas, move and resize them! From 740.
See the Examples Gallery to learn how to create them.

https://github.com/user-attachments/assets/f24d0273-4f86-48f9-b06c-8bf062fae142

* Bidirectional events are supported! No changes in the API, just add event handlers as you normally would without worrying about recursion if you end up with cycles in your event graph. :smile: 744
* 771 , not officially documented for now, the way in which you access this might change in the future but we plan to keep this because it's very useful

Breaking
* `Subplot.set_title` no longer exists, use `Subplot.title = "new_title_text"`. `Subplot.title` will return a `TextGraphic` that you can further format.
* The prototype video recorder (which wasn't really exposed) has been removed since it was very wonky. Once 765 is done we will have a proper way to create a video.

What's Changed
* Update governance by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/719
* removes size attribute use for histogram component of imagewidget by apasarkar in https://github.com/fastplotlib/fastplotlib/pull/712
* fit old rtd links in faq by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/720
* bump version to 0.4.0 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/713
* Update `WGPU_FORCE_OFFSCREEN` to `RENDERCANVAS_FORCE_OFFSCREEN` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/723
* Get nearest graphics indices by FlynnOConnell in https://github.com/fastplotlib/fastplotlib/pull/699
* replace weird quotes, update `GraphicMethodsMixin` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/735
* move viewport rect logic from subplot and docks to Figure by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/724
* remove old video writer code by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/736
* Update CONTRIBUTING.md by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/737
* add kmeans clustering example by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/734
* implemenet `block_reentrance` decorator by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/744
* docs via ssh by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/751
* Rectangle/bbox layouts in a Figure by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/740
* fix comment, fix doc example readme file by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/769
* Imgui stats by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/771
* update gov and CoC about LLM spam by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/774
* soft pin to pygfx~=0.9.0 for fpl release v04.0 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/775


**Full Changelog**: https://github.com/fastplotlib/fastplotlib/compare/v0.3.0...v0.4.0

0.3.0

New
* Axes! We finally have basic axes, thanks to almarklein :partying_face: . Currently not very performative but good enough for many use cases. If you do not need axes and require the absolute highest performance set the axes visibility to `False`.
* ImGUI integration! Optional imgui integration using [`imgui_bundle`](https://github.com/pthom/imgui_bundle). Provides subplot toolbars, right click menus, and allows implementation of UI elements within the canvas. This allows you to create UIs that will work across all GUI backends, Qt, glfw, and jupyter! See the examples to learn more.
* use the [`cmap`](https://github.com/pyapp-kit/cmap) library
* RectangleRegionSelector
* More examples

What's Changed
* add user guide by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/513
* fix guide by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/536
* fix legend by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/544
* Bump version by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/543
* adjust to latest wgpu by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/542
* Use real references to `Graphics`, proper garbage collection in ipython and jupyter by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/546
* Update GOVERNANCE.md by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/556
* Figure_shape in imagewidget and related histogram widget bug fix by apasarkar in https://github.com/fastplotlib/fastplotlib/pull/555
* catchup with pygfx, remove checks for pending uploads from tests by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/562
* Basic axes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/551
* use cmap library for colormaps (390) by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/574
* change basis of axes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/567
* Update README.md by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/594
* fix `BaseSelector._move_to_pointer` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/592
* add rectangular region selector by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/576
* add lorenz attractor example by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/595
* add FAQ by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/559
* Fix move to pointer for selectors again by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/601
* pin pygfx>=0.4.0 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/607
* Fix rect selector by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/609
* do get_ipython() only once in import by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/611
* start imgui implementation by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/571
* `ImageWidget` rgb bool arg by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/630
* Fix lfs file by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/632
* fix auto canvas detection by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/638
* docs reorganization take 3 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/639
* fix limits when rect selector is added from image by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/641
* update github workflows by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/651
* cleanup readme and move driver stuff to gpu guide by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/653
* add example of exploration of a covariance matrix by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/652
* remove ipywidget code from selectors and cleanup docstrings by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/644
* better event docs, better docstring too by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/654
* remove .readthedocs.yml by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/655
* PlotArea.center_graphic() default zoom 1.35 -> 1.0 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/656
* cleanup CI by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/661
* display adapters in HTML table upon import in notebooks by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/659
* Update LICENSE by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/665
* Delete apt.txt by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/666
* add vertex, edge, and fill color properties by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/664
* update contrib guide, add developer notes by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/667
* update comments for image data shapes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/668
* updates related to upstream changes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/687
* Update year by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/688
* add `size_space` to `pygfx.PointsMaterial` scatter kwargs by FlynnOConnell in https://github.com/fastplotlib/fastplotlib/pull/689
* small wgpu changes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/691
* update python versions for CI by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/692
* add fft example by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/693
* fix `ImageWidget.reset_vmin_vmax()` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/690
* remove glfw import that leaked in by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/696
* raise ModuleNotFoundError if user tries to import imgui and it doesn't exist by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/697
* simplify CI and install extras by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/698
* update screenshot by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/700
* Update ci step by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/701
* add job that uses release version of pygfx by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/706
* add macos-latest to CI matrix by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/707
* Fix imgui popup menus by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/695
* pin pygfx to v0.7.x for release by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/708
* Update the README by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/704
* separate CI workflow that uses release version of pygfx by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/709
* reorganized Figure export stuff by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/710

New Contributors
* FlynnOConnell made their first contribution in https://github.com/fastplotlib/fastplotlib/pull/689

**Full Changelog**: https://github.com/fastplotlib/fastplotlib/compare/v0.2.0...v0.3.0

0.2.0

Major release

Breaking changes
* `Graphic` properties (such as data, colors, thickness etc.) have been refactored. They are much simpler now.
* Please see this for a description of the new API, concise and in-depth comparison are given: https://github.com/fastplotlib/fastplotlib/pull/511#issuecomment-2160077218
* Events should be added onto graphics now, not onto graphic properties. ex: do not do: `line.colors.add_event_handler()`, instead do: `line.add_event_handler(<callback>, "colors")`. Decorators are also supported, for more info see https://github.com/fastplotlib/fastplotlib/pull/511#issuecomment-2160077218
* selector `selection` is now in data space, and doesn't return indices. For example, `linear_selector.selection` will return the x or y position of the selector in data space, not the index like before. See the "selectors" section here for more details or the selector docs: https://github.com/fastplotlib/fastplotlib/pull/511#issuecomment-2160077218
* `Figure` is new and is largely the same as the former `Gridplot`. `Plot` no longer exists. See 479

What's Changed
* update contrib guide for git-lfs by tlambert03 in https://github.com/fastplotlib/fastplotlib/pull/391
* add faq to docs index by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/400
* fix bug when remove_graphic() is used by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/405
* add `Deleted` as a graphic feature by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/404
* Update README.md by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/411
* gpu info upon notebook import by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/410
* set default renderer pixel_ratio=2 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/412
* add gpu info to docs by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/409
* update screenshots, pygfx line shader changes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/414
* add gif files to .gitattributes by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/415
* legends, part 1 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/406
* use `pytest<8` until things catch up by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/419
* more detailed contrib docs by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/418
* ruff format everything by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/421
* add zmq example by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/422
* fix `fastplotlib.__init__` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/424
* Fix typo by almarklein in https://github.com/fastplotlib/fastplotlib/pull/423
* Just use asarray by almarklein in https://github.com/fastplotlib/fastplotlib/pull/426
* Image widget by almarklein in https://github.com/fastplotlib/fastplotlib/pull/429
* Remove duplicate code (mesh_masks) by almarklein in https://github.com/fastplotlib/fastplotlib/pull/430
* Lazy import av by almarklein in https://github.com/fastplotlib/fastplotlib/pull/432
* A bit of black by almarklein in https://github.com/fastplotlib/fastplotlib/pull/433
* Add black to setup in optional feature set for tests by EricThomson in https://github.com/fastplotlib/fastplotlib/pull/436
* update for changes in pygfxmain by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/443
* add codeowners file by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/442
* Rotation by BalzaniEdoardo in https://github.com/fastplotlib/fastplotlib/pull/439
* require only one reviewer by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/455
* Use simpler form of super() where possible by almarklein in https://github.com/fastplotlib/fastplotlib/pull/453
* env var required for nb test funcs to run by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/460
* Improvements to GUI selection and Qt support by almarklein in https://github.com/fastplotlib/fastplotlib/pull/431
* simplify screenshot testing by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/447
* set min version py3.10, cleanup type annotations by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/465
* revert setting pixel ratio by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/466
* add `References` object to `PlotArea`, other cleanup, better garbage collection by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/467
* gridplot controllers kwarg is back, other improvements to gp by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/477
* Iw refactor by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/482
* `Gridplot` -> `Figure` by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/479
* making picking default for all graphics by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/484
* update qt examples by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/485
* remove `__all__` from top level by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/490
* Select gpu by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/491
* Create GOVERNANCE.md by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/402
* Small cleanup by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/498
* simple scatter animation example in quickstart by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/500
* cycle colors in scatter example by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/501
* Graphic features refactor by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/511
* ndarray.ptp -> np.ptp for numpy v2 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/524
* update example w.r.t. gfeatures refactor by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/528
* always cast to float32, try to convert other array types too by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/527
* Get nearest graphics by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/519
* disable cmap property for RGB images by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/529
* sphinx gallery by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/509
* Fix off by one error by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/530
* Figure.export() by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/531
* update readme by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/532
* Update deps by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/533

New Contributors
* tlambert03 made their first contribution in https://github.com/fastplotlib/fastplotlib/pull/391
* EricThomson made their first contribution in https://github.com/fastplotlib/fastplotlib/pull/436
* BalzaniEdoardo made their first contribution in https://github.com/fastplotlib/fastplotlib/pull/439

**Full Changelog**: https://github.com/fastplotlib/fastplotlib/compare/v0.1.0.a16...v0.2.0

0.1.0

0.1.0.a16

Breaking changes
* in 382 the `controllers` argument for `GridPlot` has been replaced by two new arguments. See the new docstring for details, briefly:
- `controller_ids` to specify how controllers can be synced across subplots
- `controller_types` to specify the controller types, such as "panzoom", "fly", "orbit", etc.
* after 364 `PlotArea.auto_scale()` only takes keyword arguments and no positional arguments.

What's Changed
* try CI with bigmem runner again by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/363
* set canvas default fps as 60 by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/370
* `Plot.auto_scale()` shouldn't change the camera aspect unless desired by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/364
* `ImageWidget` notebook tests by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/371
* histogram LUT calculation fix, kinda by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/372
* forget notebook_finished() call by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/373
* skip setting data to hlut tool if not present in image widget subplot dock by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/378
* cameras and controllers refactor by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/382


**Full Changelog**: https://github.com/fastplotlib/fastplotlib/compare/v0.1.0.a15...v0.1.0.a16

0.1.0.a15

What's Changed
* fix controller getting disabled by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/354
* fix normalize_min_max by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/353
* make hlut widget optional by clewis7 in https://github.com/fastplotlib/fastplotlib/pull/351
* bugfixes and more tests by kushalkolar in https://github.com/fastplotlib/fastplotlib/pull/358

Note: CI for this version was performed locally and reference images were checked manually. GitHub actions was bugging out heavily.

**Full Changelog**: https://github.com/fastplotlib/fastplotlib/compare/v0.1.0.a14...v0.1.0.a15

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.