All Projects → swistakm → Pyimgui

swistakm / Pyimgui

Licence: bsd-3-clause
Cython-based Python bindings for dear imgui

Programming Languages

python
139335 projects - #7 most used programming language
cython
566 projects

Projects that are alternatives of or similar to Pyimgui

Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-43.06%)
Mutual labels:  gamedev, opengl
Tinygizmo
📐 An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC
Stars: ✭ 321 (-36.31%)
Mutual labels:  gamedev, opengl
Mxengine
C++ open source 3D game engine
Stars: ✭ 284 (-43.65%)
Mutual labels:  gamedev, opengl
Panda3d
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
Stars: ✭ 3,035 (+502.18%)
Mutual labels:  gamedev, opengl
Exengine
A C99 3D game engine
Stars: ✭ 391 (-22.42%)
Mutual labels:  gamedev, opengl
Qfusion
Source code for cross-platform OpenGL gaming engine
Stars: ✭ 255 (-49.4%)
Mutual labels:  gamedev, opengl
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+611.31%)
Mutual labels:  gamedev, opengl
Magnum Examples
Examples for the Magnum C++11/C++14 graphics engine
Stars: ✭ 180 (-64.29%)
Mutual labels:  gamedev, opengl
Ncine
A cross-platform 2D game engine
Stars: ✭ 372 (-26.19%)
Mutual labels:  gamedev, opengl
Overload
3D Game engine with editor
Stars: ✭ 335 (-33.53%)
Mutual labels:  gamedev, opengl
Babyloncpp
A port of Babylon.js to C++
Stars: ✭ 183 (-63.69%)
Mutual labels:  gamedev, opengl
Ruby2d
🎮 The Ruby 2D gem
Stars: ✭ 427 (-15.28%)
Mutual labels:  gamedev, opengl
Trial
Yet another Common Lisp game engine
Stars: ✭ 181 (-64.09%)
Mutual labels:  gamedev, opengl
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+476.59%)
Mutual labels:  gamedev, opengl
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-64.09%)
Mutual labels:  gamedev, opengl
Rabbittoolbox
🤸🏾‍♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (-38.69%)
Mutual labels:  gamedev, opengl
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+325%)
Mutual labels:  gamedev, opengl
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (-72.62%)
Mutual labels:  gamedev, opengl
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+639.68%)
Mutual labels:  gamedev, opengl
Imgui
Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui)
Stars: ✭ 394 (-21.83%)
Mutual labels:  gamedev, opengl

completion Coverage Status Documentation Status

Builds:

  • Build status (Windows)
  • Build Status (OS X & Linux)

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 ImGui 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 and Travis. 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 to shipping the built wheels for these three systems (even for Linux using manylinux1 wheels). The build pipeline covers multiple Python versions:

  • py27
  • py33 (macOS wheel not available on PyPI)
  • py34
  • py35
  • py36
  • py37
  • py38
  • py39

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.

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

Development tips

We have tried hard to make the process of bootstrapping this project as simple as possible.

In order to build and install project locally ,ake sure you have created and activated virtual environment using virtualenv or python -m venv (for newer Python releases). Then you can just run:

make build

This command will bootstrap whole environment (pull git submodules, install dev requirements etc.) and build the project. make will automatically install imgui in the development/editable mode. Then you can run some examples found in the doc/examples directory in order to verify if project is working.

For building documentation and running tests you will need some additional requirements from doc/requirements-test.txt.

You can run tests with:

py.test

If you have any problems with building or installing the project just ask us for help by creating GitHub issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].