Dear ImGui Bundle
lastmod 2026-11-02created 2025-03-217 edits
From expressive code to powerful GUIs in no time: a fast, feature-rich, cross-platform toolkit for C++ & Python.
Key Features
- A lot of widgets and libraries: All of Dear ImGui along with a suite of additional libraries for plotting, node editing, markdown rendering, and much more.
- Always up-to-date: The libraries are always very close to the latest version of Dear ImGui. This is also true for Python developers, since the bindings are automatically generated.
- Interactive Demos and Documentation: Quickly get started with our interactive manual and demos that showcase the capabilities of the pack. Read or copy-paste the source code (Python and C++) directly from the interactive manual!
- Cross-platform: Works on Windows, Linux, macOS, iOS, Android, and WebAssembly!
- Easy to use, yet very powerful: Start your first app in 3 lines. The Immediate Mode GUI (IMGUI) paradigm is simple and powerful, letting you focus on the creative aspects of your projects.
- Fast: Rendering is done via OpenGL (or any other renderer you choose), through native code.
- Beautifully documented Python bindings and stubs: The Python bindings stubs reflect the C++ API and documentation, serving as a reference and aiding autocompletion in your IDE. See for example the stubs for imgui, and for hello_imgui (which complete the hello_imgui manual).
For a detailed look at each feature and more information, explore the sections listed in the Table of Contents.
What’s in the pack?
The Dear ImGui Bundle includes the following libraries, available for C++ and Python.
| | |
| Bloat-free Graphical User interface with minimal dependencies | |
| | ImGui Test Engine |
| Dear ImGui Tests & Automation Engine | |
| Demo_docking.jpg | Hello ImGui |
| cross-platform Gui apps with the simplicity of a "Hello World" app | |
| | ImPlot |
| Immediate Mode Plotting | |
| | ImPlot3D |
| Immediate Mode 3D Plotting | |
| | ImGuizmo |
| Immediate mode 3D gizmo for scene editing and other controls based on Dear ImGui | |
| | ImGuiColorTextEdit |
| Colorizing text editor for ImGui | |
| | imgui-node-editor |
| Node Editor built using Dear ImGui | |
| | imgui_md |
| Markdown renderer for Dear ImGui using MD4C parser | |
| Demo_immvision_process_1.jpg | ImmVision |
| Immediate image debugger and insights | |
| | |
| Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations | |
| | imgui_tex_inspect |
| A texture inspector tool for Dear ImGui | |
| | ImFileDialog |
| A file dialog library for Dear ImGui | |
| | portable-file-dialogs |
| OS native file dialogs library (cpp11, single-header) | |
| | imgui-knobs |
| Knobs widgets for ImGui | |
| | imspinner |
| Set of nice spinners for imgui | |
| | imgui_toggle |
| A toggle switch widget for Dear ImGui | |
| | ImCoolBar |
| A Cool bar for Dear ImGui | |
| | imgui-command-palette |
| A Sublime Text or VSCode style command palette in ImGui | |
Install for Python
- imgui-bundle: Binary wheels are available for Windows, MacOS, and Linux. If compiling from source is needed, the build process can take up to 5 minutes and requires an internet connection.
- opencv-python: To run the immvision module, install opencv-python. Alternative OpenCV versions such as opencv-python-headless (headless) and opencv-contrib-python (with extra modules) also work.
- pyGLM: Install pyGLM to run the demos.
Horizontal Example
avail_size = imgui.get_content_region_avail()
imgui.begin_horizontal("Horizontal", size=(avail_size.x, 0))
try:
imgui.spring()
if imgui.button("Open", size=(0, avail_size.y)):
self.context.open_flow_workspace(recent.value)
finally:
imgui.end_horizontal()