Dear PyGui
Dear PyGui is a simple to use (but powerful) Python GUI framework. Dear PyGui is NOT a wrapping of Dear ImGui in the normal sense. It is a library built with Dear ImGui which simulates a traditional retained mode GUI (as opposed to Dear ImGui's immediate mode paradigm).
Dear PyGui is fundamentally different than other Python GUI frameworks. Under the hood, Dear PyGui uses the immediate mode paradigm and your computer's GPU to facilitate extremely dynamic interfaces. Dear PyGui is currently supported on the following platforms:
In the same manner Dear ImGui provides a simple way to create tools for game developers, Dear PyGui provides a simple way for python developers to create quick and powerful GUIs for scripts.
Installation
Ensure you have at least Python 3.6 64bit.
pip install dearpygui
or
pip3 install dearpygui
Resources
- Documentation comprehensive documentaion, tutorials, and examples.
- Development Roadmap major future features and changes.
- Feature Tracker all proposed new features.
- Bug Tracker current bugs and issues.
- Internal Documentation: Run the
show_documentation
command from within the library to view a reference guide. - Complete Demo: You can also view a mostly complete showcase of Dear PyGui by running:
from dearpygui.core import start_dearpygui
from dearpygui.demo import show_demo
show_demo()
start_dearpygui()
Usage
Using Dear PyGui is a simple as creating a python script like the one below:
Code:
from dearpygui import core, simple
def save_callback(sender, data):
print("Save Clicked")
with simple.window("Example Window"):
core.add_text("Hello world")
core.add_button("Save", callback=save_callback)
core.add_input_text("string")
core.add_slider_float("float")
core.start_dearpygui()
Result:
Some Features
Plotting/Graphing
Dear PyGui includes a plotting API (ImPlot Wrapping)
Node Editor
Dear PyGui includes a node editor API (imnodes Wrapping)
Themes
Dear PyGui currently includes 10 themes and you can create your own:
Canvas
Dear PyGui includes a drawing API to create custom drawings, plot, and even 2D games.