ImGui Node Editor: node graphs made of nodes, pins and links, on a canvas that zooms and pans.
The app declares its graph at each frame, between begin() and end(): begin_node() / end_node(),
begin_pin() / end_pin(), link(). The user’s creations and deletions go through begin_create() and
begin_delete(). Run the app with immapp.run(..., with_node_editor=True), which creates the editor’s context.
Upstream repository · The book’s page
Modules¶
In imgui_bundle (from imgui_bundle import imgui_node_editor):
imgui_node_editor: 115 functions, 5 classes, 6 enums · the C++ view
Demos using it¶
The demos of the catalog that use it (the pictures link to their code and to the playground).

Node editor: a color mixer¶
Colors flow through a small graph: pick two colors, mix them, and see the result in the swatches.
More
Each link is drawn in the color it carries. A first graph with imgui-node-editor: the nodes, pins and links that the app owns, and how the user edits them.
Uses: node editor

Node editor: an image pipeline¶
An image flows through a graph of filters, and each node shows its result.
More
Change a parameter, and the nodes downstream follow at once. The patterns of imgui-node-editor for a real app: typed pins, links refused with a reason, a node created by dropping a link in empty space, menus, a group.
Uses: ImPlot, ImmVision, node editor, OpenCV