A simplified wrapper for Dear ImGui and GLFW
Project description
Ara_imgui
Ara_imgui is a lightweight and easy-to-use wrapper around Dear ImGui using Python and GLFW. It simplifies GUI application development with ImGui by providing a convenient interface for managing windows, fonts, and application lifecycle.
Features
- Simple ImGui app launch with a single
runfunction - Support for multiple ImGui windows via the
Windowclass - Built-in dark and light themes
- System or custom font loading, including Cyrillic support
- Ready-to-run examples included in the
examplesfolder
Installation
pip install ara_imgui
Or install dependencies manually:
pip install glfw PyOpenGL imgui
⚠️ Make sure you have Python 3.7+ and OpenGL support (e.g., via GPU drivers on Windows).
Usage
Basic example
from ara_imgui import run, imgui
def gui():
imgui.text("Hello, world!")
if imgui.button("Click me"):
print("Clicked!")
run(gui)
Multiple windows
from ara_imgui import App, Window, imgui
app = App("Multi-window App")
def win_ui():
imgui.text("This is another window")
win = Window("Extra Window", frame_ui=win_ui)
def main_ui():
imgui.text("Main Window")
if imgui.button("Open Extra Window"):
app.add_window(win)
app.run(main_ui)
Custom fonts and themes
from ara_imgui import App, imgui
app = App("Font Example")
app.apply_theme("light")
app.load_font(font_size=18)
def gui():
imgui.text("Sample text with custom font")
app.run(gui)
API
run(frame_ui, **kwargs)
Minimal interface to launch the application.
Parameters:
frame_ui: Function to render the main UI.callback: Function called afterframe_ui(optional).title: Window title.width,height: Window size.theme:"dark"or"light".custom_font:False,True, or path to a.ttffile.font_size: Font size.cyrillic_ranges: Include Cyrillic character ranges (Trueby default).
Classes
App— The main application class.Window— Represents a separate ImGui window with its own logic.
Examples
See the examples/ folder:
hello_world.py— Basic "Hello, world!" with a button.basic_window.py— Simple window with input field.custom_font.py— Font and multilingual text rendering.multiple_window.py— GUI with multiple ImGui windows.
Dependencies
imguiglfwPyOpenGL
License
MIT License. Free to use and modify.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ara_imgui-1.0.0.tar.gz.
File metadata
- Download URL: ara_imgui-1.0.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b387ac5e0d53a426cfcfd91dd0f8d0c0274d81b84935c22d3aae2e433ad98eca
|
|
| MD5 |
ca46c9ed63d8580d573e9516ca2f3ca8
|
|
| BLAKE2b-256 |
5d444e5842daca3b28c79b204c6b4ca04b44296d3bb6cbf129f0b865c78dcb00
|
File details
Details for the file ara_imgui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ara_imgui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0484429e30aff4863eed0105a06d2042ad7b41fd6c961f7dc77c120954598f15
|
|
| MD5 |
2ac7a1b402dcadb7e396d9e897e19973
|
|
| BLAKE2b-256 |
4ca91de0471c320c81c41b3ea54ec091171000e62e5ad302aad38e65bac61e54
|