Skip to main content

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 run function
  • Support for multiple ImGui windows via the Window class
  • Built-in dark and light themes
  • System or custom font loading, including Cyrillic support
  • Ready-to-run examples included in the examples folder

Installation

pip install ara_imgui

Or install dependencies manually:

pip install glfw PyOpenGL imgui ara_core

⚠️ 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

app = App("Hello world example")

def gui():
    imgui.text("Hello, world!")
    if imgui.button("Click me"):
        print("Clicked!")

app.run(gui)

Multiple windows

from ara_imgui import App, Window, imgui

app = App("Multi-window App")

def win_gui():
    imgui.text("This is another window")

win = Window("Extra Window", frame_ui=win_gui)

def gui():
    imgui.text("Main Window")  
    if imgui.button("Open Extra Window"):
        app.add_window(win)

app.run(gui)

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)

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

  • ara_core
  • imgui
  • glfw
  • PyOpenGL

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

ara_imgui-1.2.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ara_imgui-1.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file ara_imgui-1.2.0.tar.gz.

File metadata

  • Download URL: ara_imgui-1.2.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for ara_imgui-1.2.0.tar.gz
Algorithm Hash digest
SHA256 7a27d0c60d26cef662710a345f4c0a674c8b595c4b5f144acf56cab624b12c8e
MD5 32ea972b0dcab704d64e45c620bf491d
BLAKE2b-256 56cff31c850c27f086572e6422ddd42570ed8ada175653ca2ddbc18cdd22af78

See more details on using hashes here.

File details

Details for the file ara_imgui-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ara_imgui-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for ara_imgui-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c23686772e5db9f2d922ff429260dbf062bcb6abe3d276b7af60edbfcf9b0bcd
MD5 d12b686c28f1262eccc67f560dca2bc2
BLAKE2b-256 e89c2509524e21186f552bb42d62932625f0c7742cf4b7f36307322dc14dbf01

See more details on using hashes here.

Supported by

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