Skip to main content

ImGui Bundle: easily create ImGui applications in Python and C++. Batteries included!

Project description

CppLib Pip Wheels

ImGui Bundle

ImGui Bundle is a bundle for Dear ImGui, including various useful libraries from its ecosystem. It enables to easily create ImGui applications in C++, as well as in Python.

The python bindings were autogenerated from the original C++ code, so that they are easier to keep up to date, and the python API closely matches the C++ api, making it possible to easily port research code from Python to C++.

Request for feedback : ImGui Bundle is a brand-new python and C++ package (Oct 2022). Feedback from users would be appreciated in order to make sure it works on different platforms.

Warning : The API might evolve a bit during the month of November 2022. I'll remove this warning once it is more stable.

Python

C++

Batteries included

ImGui Bundle include:

Philosophy

  • Closely mirrors the original API of ImGui and other libraries
  • Original code documentation is consciously kept inside the python stubs. See for example the documentation for:
  • Fully typed bindings, so that code completion works like a charm

ImGui Backend

ImGui Bundle uses Hello ImGui, which is configured to use GLFW + OpenGL3. Under C++, this is configurable (see Hello ImGui docs), with some adaptations inside on the cmake side.

Usage with Python

Install

# Install from pypi
pip install imgui-bundle

# or install from clone
git clone https://github.com/pthom/imgui_bundle.git
cd imgui_bundle
pip install -v .

Demo

# imgui_bundle_demo will run the demo shown below. 
# It also acts as a manual for ImGui Bundle with lots of examples and related code source.
imgui_bundle_demo 

The source for the demos can be found inside bindings/imgui_bundle/demos.

Usage with C++

git clone https://github.com/pthom/imgui_bundle.git

Then, take inspiration from demos_cpp/demo_haiku_implot_heart, or demos_cpp/demo_widgets_docking

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgui-bundle-0.6.6.tar.gz (43.9 MB view hashes)

Uploaded Source

Built Distributions

imgui_bundle-0.6.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded PyPy macOS 10.15+ x86-64

imgui_bundle-0.6.6-pp38-pypy38_pp73-win_amd64.whl (11.0 MB view hashes)

Uploaded PyPy Windows x86-64

imgui_bundle-0.6.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-pp38-pypy38_pp73-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded PyPy macOS 10.15+ x86-64

imgui_bundle-0.6.6-cp311-cp311-win_amd64.whl (11.0 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

imgui_bundle-0.6.6-cp311-cp311-win32.whl (10.4 MB view hashes)

Uploaded CPython 3.11 Windows x86

imgui_bundle-0.6.6-cp311-cp311-musllinux_1_1_x86_64.whl (11.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

imgui_bundle-0.6.6-cp311-cp311-musllinux_1_1_i686.whl (11.8 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

imgui_bundle-0.6.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-cp311-cp311-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded CPython 3.11 macOS 10.15+ x86-64

imgui_bundle-0.6.6-cp310-cp310-win_amd64.whl (11.0 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

imgui_bundle-0.6.6-cp310-cp310-win32.whl (10.4 MB view hashes)

Uploaded CPython 3.10 Windows x86

imgui_bundle-0.6.6-cp310-cp310-musllinux_1_1_x86_64.whl (11.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

imgui_bundle-0.6.6-cp310-cp310-musllinux_1_1_i686.whl (11.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

imgui_bundle-0.6.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-cp310-cp310-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded CPython 3.10 macOS 10.15+ x86-64

imgui_bundle-0.6.6-cp39-cp39-win_amd64.whl (11.1 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

imgui_bundle-0.6.6-cp39-cp39-win32.whl (10.4 MB view hashes)

Uploaded CPython 3.9 Windows x86

imgui_bundle-0.6.6-cp39-cp39-musllinux_1_1_x86_64.whl (11.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

imgui_bundle-0.6.6-cp39-cp39-musllinux_1_1_i686.whl (11.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

imgui_bundle-0.6.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-cp39-cp39-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded CPython 3.9 macOS 10.15+ x86-64

imgui_bundle-0.6.6-cp38-cp38-win_amd64.whl (11.0 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

imgui_bundle-0.6.6-cp38-cp38-win32.whl (10.4 MB view hashes)

Uploaded CPython 3.8 Windows x86

imgui_bundle-0.6.6-cp38-cp38-musllinux_1_1_x86_64.whl (11.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

imgui_bundle-0.6.6-cp38-cp38-musllinux_1_1_i686.whl (11.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

imgui_bundle-0.6.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

imgui_bundle-0.6.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (11.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

imgui_bundle-0.6.6-cp38-cp38-macosx_10_15_x86_64.whl (10.8 MB view hashes)

Uploaded CPython 3.8 macOS 10.15+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page