Skip to main content

LyGui: Immediate-Mode GUI library with auto backend (CustomTkinter preferred, falls back to Tkinter).

Project description

completion Documentation Status Build status

pyimgui

Python bindings for the amazing dear imgui C++ library - a Bloat-free Immediate Mode Graphical User Interface.

Documentation: pyimgui.readthedocs.io

Installation

pyimgui is available on PyPI so you can easily install it with pip:

pip install imgui[full]

Above command will install imgui package with additional dependencies for all built-in rendering backend integrations (pygame, cocos2d, etc.). If you don't want to install all additional dependencies you can always use bare pip install imgui command or select a specific set of extra requirements:

  • for pygame backend use pip install imgui[pygame]
  • for GLFW3 backend use pip install imgui[glfw]
  • for SDL2 backend use pip install imgui[sdl2]
  • for Cocos2d backend use pip install imgui[cocos2d]
  • for pyglet backend use pip install imgui[pyglet]

Package is distributed in form of built wheels so it does not require compilation on most operating systems. For more details about compatibility with diffferent OSes and Python versions see the Project ditribution section of this documentation page.

Project status

The imgui package provides support for the majority of core DearImGui 1.82 widgets and functionalities. Some low-level API elements and complex widgets (like plots) may be missing. We are working hard to provide 100% feature mapping of the core ImGui library. The completion badge shows up-to-date status of that goal.

Project distribution

This project has a working build pipeline on Appveyor. It builds succesfully for all major operating systems with different architectures:

  • Windows (32bit & 64bit)
  • Linux (32bit & 64bit)
  • OS X (universal build)

Right now we are ready shipping the built wheels for these three systems (even for Linux using manylinux1 wheels). The build pipeline covers multiple Python versions:

  • py36
  • py37, pp37
  • py38, pp38
  • py39, pp39
  • py310
  • py311

Note: We dropped support for py27, py33, py34, and py35 starting from release 2.0. Those were supported until release 1.4.0. Pypy is only supported since release 2.0.

If none of these wheels work in your environment you can install the imgui package by compiling it directly from sdist distribution using one of following commands:

# will install Cython as extra dependency and compile from Cython sources
pip install imgui[Cython] --no-binary imgui

# will compile from pre-generated C++ sources
pip install imgui --no-binary imgui

pyimgui provides documentation with multiple visual examples. Thanks to custom Sphinx extensions, we are able to render GUI examples off-screen directly from docstring snippets. These examples work also as automated functional tests. Documentation is hosted on pyimgui.readthedocs.io.

Contributing

Contributions are welcomed. If you want to help us by fixing bugs, mapping functions, or adding new features, please feel free to do so and propose a pull request.

Development tips and information for developers are given in HACKING.md.

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

lygui-0.2.1.tar.gz (1.4 MB view details)

Uploaded Source

File details

Details for the file lygui-0.2.1.tar.gz.

File metadata

  • Download URL: lygui-0.2.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for lygui-0.2.1.tar.gz
Algorithm Hash digest
SHA256 51aea610e7a75bc66c9e57bda7c5f92f1eb6d73e7d0e47d85b6bad3a99f75e39
MD5 b88cb6c2ab1fefb286de2cf5ff71f3e5
BLAKE2b-256 20d2bc354d7d8839b7b6ebc70182386521f11683dcc39bd893bf8c6d2cd54672

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