A modern, fast and powerful GUI framework for Python
Features • Installation • How To Use • Demo • Resources • Support • Tech stack • Credits • License • Gallery
Features
- Modern look — Complete theme and style control
- Great performance — GPU-based rendering and efficient C/C++ code
- Stable operation — Asynchronous function support
- Fast graphs — Display over 1 million datapoints at 60 fps, zoom and pan
- Node editor — Intuitive user interaction
- Built-in demo — Quickly learn all features
- Developer tools — Theme and resource inspection, runtime metrics, debugger
- Cross-platform — Windows, Linux, MacOS
- MIT license
Installation
Ensure you have at least Python 3.8 64bit.
pip install dearpygui
or
pip3 install dearpygui
How to use?
Using Dear PyGui is as simple as the following Python script.
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()
Demo
The built-in demo shows all of Dear PyGui's functionality. Use this code to run the demo. The following impression shows a few, but not nearly all, of the available widgets and features. Since the Python code of the demo can be inspected, you can leverage the demo code to build your own apps.
Resources
- API documentation :books:
- Development Roadmap
- FAQ
- Feature Tracker
- Bug Tracker
- Useful code snippets demonstrating best practices
- Showcase apps including source code :star:
- Showcase apps made with older versions of Dear PyGui
- Useful tools and widgets
Support
If you are having issues or want to help, here are some places you can go.
Tech stack
Dear PyGui is built on top of Dear ImGui, including the ImPlot and imnodes extensions, and is fundamentally different than other Python GUI frameworks. Under the hood, it uses the immediate mode paradigm and your computer's GPU to facilitate extremely dynamic interfaces. 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. Dear PyGui is written in C/C++ resulting in highly performant Python applications. 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 |
Credits
-
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.
License
Dear PyGui is licensed under the MIT License.
Sponsor
Continued maintenance and development are a full-time endeavor which we would like to sustain and grow. Ongoing development is financially supported by users and private sponsors. If you enjoy Dear PyGui please consider becoming a sponsor or buy us a cup of coffee.
Gallery
Plotting/Graphing
Dear PyGui includes a plotting API built with ImPlot
Node Editor
Dear PyGui includes a node editor built with imnodes
Canvas
Dear PyGui includes a drawing API to create custom drawings, plot, and even 2D games.