Pythonic bindings for the great imgui and implot libraries.
The goal of this project is to create bindings, which map the immediate mode gui paradigm in a pythonic way, so that writing GUIs in python (especially visualization heavy ones, meaning plots and stuff) becomes easy.
While writing visualization tools for research, I (personally) found the different python bindings of imgui/implot somewhat unsatisfactory, because:
- pyimgui maps the api but does not include implot
- imgui_datascience seems abandoned and does not include implot
- dearpygui includes implot, but does not replicate the immediate mode paradigm in python
This is for the people who are too impatient to wait for matplotlib to render 10e5 data points. And for the people who are just completely unwilling (me) or utterly incapable (also me) to deal with application state management in PyQt (otherwise pyqtgraph would be fine).
OpenGL libraries, GLFW, and GLEW are mandatory dependencies and are expected to be installed on the system.
On Ubuntu 22.04 OpenGL libraries are already installed and GLFW, GLEW can be installed with:
sudo apt-get install -y libglfw3-dev
sudo apt-get install -y libglew-dev
For convenience a source distribution is available on PyPI. Install via pip:
python3 -m pip install imviz
The setup.py
script configures and builds the project via cmake, which in
turn downloads further required dependencies. An internet connection is
therefore necessary at build time.
The project can then be installed by executing the following command in the project root directory:
python3 -m pip install .