abc

Click the bird for
the interactive manual!

Dear ImGui Bundle: an extensive set of ready-to-use widgets and libraries, based on ImGui. Start your first app in 5 lines of code, or less.

Whether you prefer Python or C++, this pack has you covered, with the same ease in both languages.

sources doc manual

Key Features

  • Easy to use, yet very powerful: Start your first app in 3 lines. The Immediate Mode GUI (IMGUI) paradigm is simple and powerful, letting you focus on the creative aspects of your projects.

  • A lot of widgets and libraries: All of Dear ImGui along with a suite of additional libraries for plotting, node editing, markdown rendering, and much more.

  • Cross-platform in C++ and Python: Works on Windows, Linux, macOS, iOS, Android, and WebAssembly!

  • Web ready: Develop full web applications, in C++ via Emscripten; or in Python thanks to ImGui Bundle’s integration within Pyodide

  • Always up-to-date: The libraries are always very close to the latest version of Dear ImGui. This is also true for Python developers, since the bindings are automatically generated.

  • Interactive Demos and Documentation: Quickly get started with our interactive manual and demos that showcase the capabilities of the pack. Read or copy-paste the source code (Python and C++) directly from the interactive manual!

  • Fast: Rendering is done via OpenGL (or any other renderer you choose), through native code.

  • Beautifully documented Python bindings and stubs: The Python bindings stubs reflect the C++ API and documentation, serving as a reference and aiding autocompletion in your IDE. See for example the stubs for imgui, and for hello_imgui (which complete the hello_imgui manual).

For a detailed look at each feature and more information, explore the sections listed in the Table of Contents.

Interactive Manual

Click on the animated demonstration below to launch the fully interactive manual.

Demo
Figure 1. Dear ImGui Bundle interactive manual (in C++, via Emscripten)

Online playground in Pure Python (via Pyodide)

Since ImGui Bundle is available in Python and Pyodide, an online playground will enable you to run and edit various ImGui applications in the browser without any setup.

Playground
Figure 2. ImGui Bundle online playground (in Python, via Pyodide)

See this page for more information about availability of ImGui Bundle in Pyodide.

Example code

A hello world example with Dear ImGui Bundle

demo hello

For Python developers

from imgui_bundle import imgui, immapp
immapp.run(gui_function=lambda: imgui.text("Hello, world!"))

For C++ developers

#include "immapp/immapp.h"
#include "imgui.h"
int main() {   ImmApp::Run([] {   ImGui::Text("Hello, world!");   });  }

Table of Contents