Source
> Dear ImGui Bundle: immediate-mode GUIs for python & c++

Stop fighting
GUI frameworks.
Start building.

Interactive Python & C++ apps for desktop, mobile, and web.

Try in Playground →
✓ Windows ✓ macOS ✓ Linux ✓ WebAssembly
Dear ImGui Bundle Explorer
// philosophy

Code that
reads like a book.

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.

fruit_picker.py 9 lines
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)
Fruit Picker
Choose a fruit:
Apple
Banana
Cherry
You selected: Apple
// START HERE

Three ways in.

// pyodide · webassembly

Deploy Python apps
to the web.

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.

Open the playground → /playground/ · runs in your browser
// foundation

Powered by Dear ImGui.

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
// Ecosystem

The ecosystem.

Hello ImGui cross-platform runtime (based on Dear ImGui) Dear ImGui Bundle 23 libs - C++ & Python Python bindings automatically updated via litgen you are here fiatlight low-code prototyping   litgen generates the bindings
Cross-platform runtime built on Dear ImGui

Hello ImGui

Dear ImGui apps made simple — desktop, mobile, web from one codebase.

Minimal code. Maximally readable.

$ open documentation → repo
Low-code prototyping built on Dear ImGui Bundle

fiatlight

Turn Python functions into interactive apps in one line.

Visual pipelines. Persistent state. Zero UI code.

$ open documentation → repo
Automatic Python bindings powers Dear ImGui Bundle

litgen

Automatic Python bindings for C++ — readable and discoverable.

Battle-tested on 20+ libraries.

$ open documentation → repo
// even less code with fiatlight

Annotate a Python function and fiatlight builds the UI for you — sliders, file pickers, dropdowns, live pipelines. Zero UI code.

fiatlight →
// capabilities

A wide range of applications.

Interactive 2D & 3D plots

ImPlot and ImPlot3D — rotatable, zoomable, real-time. Stock prices, signals, scientific data.

// implot & implot3d

GPU-accelerated rendering

Render directly on the GPU. Blend custom shaders and 3D content into your UI at 120 FPS.

// shaders

Image analysis

ImmVision — display, debug and inspect RGB and float images. Zoom, pan, pixel inspection, colormaps.

// immvision

Visual node editors

Explore ideas in graph form — connect functions, see data flow, build pipelines visually.

// imgui-node-editor
// not to be confused with

How does it compare?

Wait, isn't there Dear PyGui?

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.

Coming from a web-first stack (NiceGUI, Streamlit, Gradio)?

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 →