Imgui-bundle

Latest version: v1.6.2

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

Scan your dependencies

Page 1 of 4

1.6.2

New library: ImPlot3D
- The excellent [ImPlot3D](https://github.com/brenocq/implot3d) library is now included!

Fixes
- Fix [293](https://github.com/pthom/imgui_bundle/issues/293): IM_ASSERT( g.CurrentDpiScale > 0.0f && g.CurrentDpiScale < 99.0f )
- Fix initial window positioning / HighDPI on windows (demo window origin was offscreen)

Build
- Some fixes for conda-forge package

Python
- make it possible to recover from exceptions in notebooks
- preliminary work on pyodide support

1.6.1

ImGuizmo

* **Breaking change on ImGuizmo Python API**: Added classes Matrix3/6/16, modifiable by manipulate and view_manipulate
See [changes in demo_gizmo.py](https://github.com/pthom/imgui_bundle/commit/a455607381eeaa65e05cfa7eac39f68e516b1ec4) to see how to adapt to the new API
Basically:
- use `gizmo.Matrix3` / `Matrix6` / `Matrix16` instead of `np.array`
- `gizmo.manipulate` and `view_manipulate` will modify the matrices they receive
- if using glm, you will to need to convert to Matrix16, see `glm_mat4x4_to_float_list` in demo_gizmo.py

Python
- fix bindings for implot.plot_bar_groups
- sdl pure backend: fix get_clipboard_text
- patches for [conda-forge package](https://github.com/conda-forge/imgui-bundle-feedstock) (in preparation)

iOs
- Improved font rendering on iOS (use static freetype, use retina resolution)

1.6.0

ImGui
* Updated ImGui to v1.91.5

1.6.0b

* SVG Font rendering: plutosvg replaces lunasvg (option HELLOIMGUI_USE_FREETYPE_PLUTOSVG on by default)
* Added AddDockableWindow / RemoveDockableWindow
* demo_docking: better demonstration / theme customization
* Add `HelloImGui::ManualRender: a namespace that groups functions, allowing fine-grained control over the rendering process
* Work on pyodide integration (for ImGui Bundle)
* Improve font rendering on iOS

Node editor
* better handle popup placement and child windows: see https://github.com/thedmd/imgui-node-editor/issues/310
* InputTextMultiline compatible with imgui-node-editor
* Node theme colors will try to be coherent with the main theme

ImGuiMd
* Add ImGuiMd::GetFont(const MarkdownFontSpec& fontSpec)

ImmApp
* Add namespace Immapp::ManualRender: functions allowing fine-grained control over the rendering process

ImmVision
- **Breaking Change - October 2024**: Color Order Must Be Set
ImmVision now requires you to explicitly set the color order (RGB or BGR) at the start of your program.
To configure the color order, you must call one of the following **once** before displaying images:
- In C++: `ImmVision::UseRgbColorOrder()` or `ImmVision::UseBgrColorOrder()`
- In Python: `immvision.use_rgb_color_order()` or `immvision.use_bgr_color_order()`
- To enforce a temporary color order, use `ImmVision::PushColorOrderBgr/Rgb()` and `ImmVision::PopColorOrder()`.
This change ensures that you are explicitly aware of the color order used throughout your program.
If the color order is not configured, an error will be thrown when attempting to display images.
Note: The `IsColorOrderBGR` member in `ImageParams` and the corresponding `isBgrOrBgra` parameter in `ImageDisplay` have been **removed**.
* Publish GlTexture in the API
* Refuse zoom if too extreme

Python bindings
**Switched binding library from pybind11 to nanobind - Nov 2024**:
This change should be almost transparent to users. However, if you encounter any issues, please report them.
Support Python 3.13
* Binary wheels are provided for Python 3.11, 3.12, and 3.13 (3.10 is still supported, building from source)
Other
* python glfw_backend: updated clipboard handling to new api
* enum Key bindings: remove prefix im_gui_ in values
* Flags enums (InputTextFlagsPrivate_, TreeNodeFlagsPrivate_, etc.): remove unwanted prefixes
* ImFontGlyph: publish get_codepoint(), is_visible(), is_colored()
* imgui_fig: let the user change matplotlib renderer
* add stubs for ImVec2/4 math operators (fix 267)
* pyglet backend: fix version checking (thks DragonMoffon)
* implot: fix binding for setup_axis_links()
* delay loading PIL and matplotlib to make startup faster
* Initial efforts to support pyodide

Demos
* demo docking: improve demo / setup customized theme
* demos python: do not require opencv (use pillow to load images)
* suppressed demos / ImGuizmo curve edit (we only maintain the 3D gizmo compatibility)

1.5.0

ImGui:
* Updated ImGui to v1.90.9-docking
* Added support for [StackLayout](https://github.com/ocornut/imgui/pull/846): ImGui::BeginHorizontal & ImGui::BeginVertical (by thedmd)
* Warn if users reuse an ID (cf https://github.com/ocornut/imgui/issues/7669)

Hello ImGui
See changes in [Hello ImGui v1.5.0-rc1](https://github.com/pthom/hello_imgui/releases/tag/v1.5.0-rc1)
* add FontDpiResponsive
* add OpenGlOptions
* add null backends
* Improved text rendering on windows (via improved antialiasing)
* Can set OpenGL options in hello_imgui.ini in any parent folder
* add InputTextResizable & WidgetWithResizeHandle
* Logger: use less vertical space
* add Push/PopTweakedTheme (different windows can have different themes)
* add callback PostRenderDockableWindows
* Polish Themes

Libraries

immvision
* fixup Custom version of cv::warpAffine for small sizes
* ImmVision::Image is now resizable / added ImmVision::ImageDisplayResizable
* fix icon buttons size
* Add option ResizeKeepAspectRatio: when resizing an image, the widget will keep the aspect ratio of the image

imgui-knobs
* can drag knob horizontally or vertically

ImPlot
* Add Python binding for colors (cf https://github.com/pthom/imgui_bundle/issues/221)

imgui-node-editor
* Add ForceWindowContentWidthToNodeWidth: ImGui::TextWrapped(), ImGui::Separator(), and ImGui::SliderXXX can now fit inside a Node. See proposed fix to thedmd here: https://github.com/thedmd/imgui-node-editor/issues/298
* The theme of the node editor can be derived and adapted automatically from ImGui Theme (see UpdateNodeEditorColorsFromImguiColors)

Python
* imgui_fig is now resizable
* Added binding for ColorPicker4
* Added mathematical operators for ImVec2, ImVec4, ImColor
* add pickle support for ImVec2, ImVec4, ImColor
* Add eq operator to ImVec2/4/ImColor bindings
* add pydantic support for ImVec2, ImVec4, ImColor

Build
* Add [CMake options](https://github.com/pthom/imgui_bundle/blob/6b0132a4bf6bfb82b7eb90e15ba3db52b0daa778/CMakeLists.txt#L119-L128) to disable some libraries

1.3.0

New libraries
* Added [NanoVG](https://github.com/memononen/nanovg): see [python bindings](https://github.com/pthom/imgui_bundle/blob/main/bindings/imgui_bundle/nanovg.pyi), code of [python demos](https://github.com/pthom/imgui_bundle/tree/main/bindings/imgui_bundle/demos_python/demos_nanovg), code of [C++ demos](https://github.com/pthom/imgui_bundle/tree/main/bindings/imgui_bundle/demos_cpp/demos_nanovg), online [full demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_nanovg_full.html), online [simple demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_nanovg_heart.html), and [API for integration with ImGui](https://github.com/pthom/imgui_bundle/blob/main/external/nanovg/nvg_imgui/nvg_imgui.h). Works on Linux, Windows, macOS, emscripten, iOS and Android (OpenGL only).

Bundle
* Update imgui to v1.90.1-docking
* Update implot, imgui_test_engine, imgui-node-editor

Python
* Release the Python GIL when rendering: improve multithreading performance (see [171](https://github.com/pthom/imgui_bundle/issues/171))
* Fix an issue under Ubuntu where cibuildwheel binary wheels did not work (see [170](https://github.com/pthom/imgui_bundle/issues/170))

Hello ImGui
* Added EdgeToolbars: see [definition](https://github.com/pthom/hello_imgui/blob/3a279ce7459b04a4c2e7460b844cbf354833964e/src/hello_imgui/runner_callbacks.h#L72-L102), [callbacks](https://github.com/pthom/hello_imgui/blob/3a279ce7459b04a4c2e7460b844cbf354833964e/src/hello_imgui/runner_callbacks.h#L140-L147), [example usage](https://github.com/pthom/hello_imgui/blob/3a279ce7459b04a4c2e7460b844cbf354833964e/src/hello_imgui_demos/hello_imgui_demodocking/hello_imgui_demodocking.main.cpp#L694-L714), and [demo](https://traineq.org/ImGuiBundle/emscripten/bin/demo_docking.html)
* Callbacks: add [EnqueuePostInit, EnqueueBeforeExit, PostInit_AddPlatformBackendCallbacks](https://pthom.github.io/hello_imgui/book/doc_params.html#runnercallbacks)
* Add [renderer_backend_options](https://pthom.github.io/hello_imgui/book/doc_params.html#renderer-backend-options)
* Add support for Extended Dynamic Range (EDR) on macOS : see [PR](https://github.com/pthom/hello_imgui/pull/89). Added [demo / EDR](https://github.com/pthom/hello_imgui/tree/master/src/hello_imgui_demos/hello_edr) - Only works with Metal
* Test Engine: can re-call params.callbacks.RegisterTests
* rememberEnableIdling default=false (true is too surprising)
* emscripten: Use webgl2 / GLES3

Fixes
* Fix usage of `ShowIdStackTool` without ImGui Test Engine (see [166](https://github.com/pthom/imgui_bundle/issues/166))
* ImGuiColorTextEdit: added bindings for GetSelection / Fixed keyboard selection (see [169](https://github.com/pthom/imgui_bundle/issues/169))

Page 1 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.