Interactive Python & C++ apps for desktop, mobile, and web.
Immediate mode means your UI code is the UI. No widget trees, no callbacks, no implicit state.
In the age of generated code, brain time is the scarce resource. Readability wins.
from imgui_bundle import imgui, hello_imgui selected_idx = 0 items = ["Apple", "Banana", "Cherry"] def gui(): global selected_idx imgui.text("Choose a fruit:") _, selected_idx = imgui.list_box("##fruits", selected_idx, items) imgui.text(f"You selected: {items[selected_idx]}") hello_imgui.run(gui, window_title="Fruit Picker", window_size_auto=True)
Same code. No HTML, no server.
The same source runs as a desktop binary or as a web app that runs entirely in the browser via Pyodide. iOS and Android can run it too.
Pyodide startup adds an 8 MB initial download; after that, the app runs at about 60 FPS on the GPU, fully client-side.
Dear ImGui Bundle stands on the shoulders of Dear ImGui, a battle-tested, fast, and widely adopted immediate-mode GUI library created by Omar Cornut, as well as several of is most popular addons such as ImPlot, ImPlot3D, ImmVision, and imgui-node-editor (this list is incomplete as there are more than 20 libraries).
ocornut/imgui
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, dropdowns, live pipelines. Zero UI code.
fiatlight →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 at 120 FPS.
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.
Different 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 Web apps at 60 FPS without dealing with HTML and/or a distant server.
Full side-by-side comparison →