(This library is available under a free and permissive license however, if you are using Dear PyGui please consider becoming a Sponsor)
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 creates a unique retained mode API (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:
Platform | Graphics API | Newest Version |
---|---|---|
Windows 10 | DirectX 11 | |
macOS | Metal | |
Linux | OpenGL 3 | |
Raspberry Pi 4 | OpenGL ES |
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 - Usage - Resources - Support |
---|
Features - Sponsors - Credits - License - Gallery |
Ensure you have at least Python 3.6 64bit.
pip install dearpygui
or
pip3 install dearpygui
- Contributor Documentation
- User Documentation comprehensive documentation, 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:
import dearpygui.dearpygui as dpg
from dearpygui.demo import show_demo
dpg.create_context()
dpg.create_viewport()
dpg.setup_dearpygui()
show_demo()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Using Dear PyGui is a simple as creating a python script like the one below:
Code:
import dearpygui.dearpygui as dpg
def save_callback():
print("Save Clicked")
dpg.create_context()
dpg.create_viewport()
dpg.setup_dearpygui()
with dpg.window(label="Example Window"):
dpg.add_text("Hello world")
dpg.add_button(label="Save", callback=save_callback)
dpg.add_input_text(label="string")
dpg.add_slider_float(label="float")
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Dear PyGui includes a plotting API built with ImPlot
Dear PyGui includes a node editor built with imnodes
Dear PyGui includes a drawing API to create custom drawings, plot, and even 2D games.
Dear PyGui includes several tools to help developers with DearPyGui app development:
If you are having issues or want to help, here are some places you can go:
If you enjoy Dear PyGui please consider becoming a sponsor.
Ongoing Dear PyGui development is financially supported by users and private sponsors.
These include:
- 🏢 Anthony Tanbakuchi Corporate Sponsor
- 🏆 Dean Keinan Partner Sponsor
- 🏆 何凌锋 Partner Sponsor
- 🏆 Anthony Doupe Partner Sponsor
- 🏆 Ray Heasman Partner Sponsor
- 🏆 Marco Studer Partner Sponsor
- 🏆 Scripts Partner Sponsor
- 🥇 Caden Bloxham Gold Sponsor
- 🥇 Yan Zaretskiy Gold Sponsor
- 🥇 Leron Gray Gold Sponsor
- 🥇 Barney Mannerings Gold Sponsor
- 🥇 RB Blackstone Gold Sponsor
- 🥇 Charles Ray Gold Sponsor
- 🥇 Alexander G. Morano Gold Sponsor
- 🥇 Johannes Kargl Gold Sponsor
Thank you to all other sponsors for keeping this project moving forward!
Developed by Jonathan Hoffstadt, Preston Cothren, and every direct or indirect contributor.
Omar Cornut for all his incredible work on Dear ImGui.
Evan Pezent for all his work on ImPlot.
Johann Muszynski for all of his work on imnodes.
Dear PyGui is licensed under the MIT License.