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
Intro×
Dear ImGui×
Demo Apps×
Visualization×
Widgets×
Tools×
Open Explorer →
Font scale: 1.000 | Dear ImGui Bundle Explorer · v1.92.700 Enable idling ☐ FPS: 120.0
// 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.

No React. No CSS. No server. No fuss.

The same source runs as a desktop binary or as a web app that loads entirely in the browser via Pyodide. No rewrite, no server, no HTML to author. iOS and Android will happily run those web apps.

Same code. No HTML, no server. A unique & powerful combination.

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

The ecosystem.

// four libraries · one philosophy
engine

Hello ImGui

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

Minimal code. Maximally readable.

$ open documentation → repo
built on top

fiatlight

Turn Python functions into interactive apps in one line.

Visual pipelines. Persistent state. Zero UI code.

$ open documentation → repo
binding generator

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