Skip to content

JoelLinn/py-mahi-gui

Repository files navigation

mahi-gui Python bindings

Build Status Build status

This module enables you to create mahi-gui applications with Dear ImGui and ImPlot using Python. Note that there currently are no bindings for NanoVG.

Example using ratcave

Usage is similar to mahi-gui, inherit your Application class from mahi_gui.Application and overwrite the methods _update(), _draw_opengl() (named draw() in C++ interface). To get you started have a look into the examples folder.

Almost all ImGui and ImPlot functions are available, please consult their documentations. You can even call OpenGL functions inside _draw_opengl() to draw custom stuff. If a functionality you require is not mapped feel free to request it or create a pull request.

The bindings are maintained by hand to get the best performance, especially when plotting large datasets.

Installation

The project is available in the Python Package Index PyPi, just run the following command:

pip install mahi-gui

If you are on a platform where no pre-compiled binaries are available or want to build from source you may need to resolve missing build dependencies.