Interactive Python & C++ apps for desktop, mobile, and the web.
The same code runs in the browser: no server, no rewrite.
Your UI is just a function that runs every frame: what it draws is what you see, and user input is handled right there. No widget tree, no callbacks, no implicit state (the graphics-programming term for this is immediate mode).
Each frame, the whole UI is redrawn: this is fast, because rendering goes straight to the GPU. The same code runs at 60+ FPS, on desktop and in a browser canvas.
from imgui_bundle import imgui, hello_imgui class App: def __init__(self): self.selected_idx = 0 self.items = ["Apple", "Banana", "Cherry"] def gui(self): imgui.text("Choose a fruit:") _clicked, self.selected_idx = imgui.list_box("##fruits", self.selected_idx, self.items) imgui.text(f"You selected: {self.items[self.selected_idx]}") hello_imgui.run(App().gui, window_title="Fruit Picker", window_size_auto=True)
#include "hello_imgui/hello_imgui.h" #include "imgui.h" int selected_idx = 0; const char* items[3] = { "Apple", "Banana", "Cherry" }; void gui() { ImGui::Text("Choose a fruit:"); /*bool clicked=*/ImGui::ListBox("##fruits", &selected_idx, items, IM_ARRAYSIZE(items)); ImGui::Text("You selected: %s", items[selected_idx]); } int main() { HelloImGui::Run(gui, "Fruit Picker", true); }
ImPlot and ImPlot3D — rotatable, zoomable, real-time. Stock prices, signals, scientific data.
Render directly on the GPU. Blend custom shaders and 3D content into your UI in real time.
ImmVision — display, debug and inspect RGB and float images. Zoom, pan, pixel inspection, colormaps.
Explore ideas in graph form — connect functions, see data flow, build pipelines visually.
Same code. No HTML, no server.
Thanks to Pyodide (which compiles Python
to WebAssembly), the same code runs in the browser. Your UI
can be drawn on a native app window as well as on a <canvas>.
After an 8 MB initial download, the app runs natively on the GPU, fully client-side.
Notes: iOS and Android can also display these apps. C++ uses Emscripten, with the same approach.
Physics simulation, Gaussian splatting, neural rendering, volumetric video: the projects below use Dear ImGui Bundle as an interactive viewerfor real time rendering together with interactive parameters tweaking.
GPU-accelerated physics simulation for robotics.
Neural volumetric video and real-time 4D view synthesis at 4K (ZJU3DV).
Real-time differentiable ray tracing and rasterization.
Interactive 3D Gaussian Splatting viewer.
// also embedded in graphics frameworks
wgpu.utils.imgui; maintained by pygfx
(also the org behind the pygfx 3D engine).
fastplotlib.ui.EdgeWindow (pip install fastplotlib[imgui]).
... and 100+ more on GitHub dependents.
Dear ImGui Bundle stands on the shoulders of Dear ImGui, the battle-tested, widely adopted immediate-mode GUI library created by Omar Cornut, plus 20+ of its most popular addons including ImPlot, ImPlot3D, ImmVision, and imgui-node-editor.
ocornut/imguiDifferent project, different paradigm. Dear PyGui provides retained-mode wrappers around ImGui: you build a widget tree once and wire callbacks.
Dear ImGui Bundle brings true immediate mode to Python. It also tracks the latest Dear ImGui release closely (thanks to auto-generated bindings), and runs in the browser via Pyodide.
Those shine for dashboards and ML demos. Pick Dear ImGui Bundle when you need native performance, offline desktop binary, or smooth web apps without dealing with HTML or a remote server.
Real-time tools, viewers, scientific UIs, creative apps, prototyping. Anything GPU-heavy, or cross-platform from one codebase.
Form-heavy or accessibility-critical apps (limited screen-reader support). Apps that plug into a web design system.

Dear ImGui apps made simple — desktop, mobile, web from one codebase.
Minimal code. Maximally readable.

Turn Python functions into interactive apps in one line.
Visual pipelines. Persistent state. Zero UI code.

Automatic Python bindings for C++ — readable and discoverable.
Battle-tested on 20+ libraries.
Annotate a Python function and fiatlight builds the UI for you: sliders, file pickers, advanced viewers, live pipelines. Zero UI code. Apps save and reload their state automatically.
fiatlight →