Awesome
<h1 align="center"> <br> <a href="https://github.com/hoffstadt/DearPyGui"><img src="https://raw.githubusercontent.com/hoffstadt/DearPyGui/assets/readme/dpg_logo_button.png" alt="Dear PyGui logo"></a> </h1> <h4 align="center">A modern, fast and powerful GUI framework for Python</h4> <h1></h1> <p align="center"> <a href=""><img src="https://img.shields.io/pypi/pyversions/dearpygui" alt="Python versions"></a> <a href="https://pypi.org/project/dearpygui/"><img src="https://img.shields.io/pypi/v/dearpygui" alt="PYPI"></a> <a href="https://pepy.tech/project/dearpygui"><img src="https://pepy.tech/badge/dearpygui" alt="Downloads"></a> <a href="#license"><img src="https://github.com/hoffstadt/DearPyGui/blob/assets/readme/mit_badge.svg" alt="MIT License"></a> </p> <p align="center"> <a href="https://github.com/hoffstadt/DearPyGui/actions?workflow=Embedded%20Build"><img src="https://github.com/hoffstadt/DearPyGui/workflows/Embedded%20Build/badge.svg?branch=master" alt="static-analysis"></a> <a href="https://github.com/hoffstadt/DearPyGui/actions?workflow=Static%20Analysis"><img src="https://github.com/hoffstadt/DearPyGui/workflows/Static%20Analysis/badge.svg?branch=master" alt="static-analysis"></a> <a href="https://github.com/hoffstadt/DearPyGui/actions/workflows/Deployment.yml"><img src="https://github.com/hoffstadt/DearPyGui/actions/workflows/Deployment.yml/badge.svg?branch=master" alt="Deployment"></a> <a href="https://dearpygui.readthedocs.io/en/latest/?badge=latest"><img src="https://readthedocs.org/projects/dearpygui/badge/?version=latest" alt="Documentation Status"></a> </p> <h1></h1> <p align="center"> <a href="#features">Features</a> • <a href="#installation">Installation</a> • <a href="#how-to-use">How To Use</a> • <a href="#demo">Demo</a> • <a href="#resources">Resources</a> • <a href="#support">Support</a> • <a href="#tech-stack">Tech stack</a> • <a href="#credits">Credits</a> • <a href="#license">License</a> • <a href="#gallery">Gallery</a> </p> <h1></h1><BR>
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()
<br/>
<p align="center"><a href="https://dearpygui.readthedocs.io/en/latest/tutorials/first-steps.html#first-run"><img src="https://raw.githubusercontent.com/hoffstadt/DearPyGui/assets/readme/first_app.gif" alt="Dear PyGui example window"></a></p>
Demo
The built-in demo shows all of Dear PyGui's functionality. To run the demo, you can run:
python -m dearpygui.demo
Or you can 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 <a href="https://github.com/hoffstadt/DearPyGui/blob/master/dearpygui/demo.py" alt="demo code repository">inspected</a>, you can leverage the demo code to build your own apps. <br/><br/>
<p align="center"><a href="https://dearpygui.readthedocs.io/en/latest/tutorials/first-steps.html#demo"><img src="https://raw.githubusercontent.com/hoffstadt/DearPyGui/assets/readme/demo.gif" alt="Dear PyGui demo"></a></p>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 <a href="https://github.com/ocornut/imgui" target="_blank">Dear ImGui</a>, 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. <br/>
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.
<img src="https://img.shields.io/github/sponsors/hoffstadt?label=Github%20Sponsors"> <img src="https://img.shields.io/opencollective/sponsors/dearpygui?label=Open%20Collective%20Sponsors">
Gallery
Plotting/Graphing
Dear PyGui includes a plotting API built with ImPlot
<img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/controls.gif" width="380"> <img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/dnd.gif" width="380">
<img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/query.gif" width="380"> <img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/bars.gif" width="380">
<img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/rt.gif" width="380"> <img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/markers.gif" width="380">
<img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/shaded.gif" width="380"> <img src="https://raw.githubusercontent.com/wiki/epezent/implot/screenshots3/heat.gif" width="380">
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.
<BR>
SAST Tools
PVS-Studio - static analyzer for C, C++, C#, and Java code.