Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/hoffstadt/DearPyGui

Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
https://github.com/hoffstadt/DearPyGui

cpp cross-platform dearpygui graphics gui imgui linux macos native python python-gui toolkit tools ui windows

Last synced: 25 days ago
JSON representation

Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

Lists

README

        




Dear PyGui logo

A modern, fast and powerful GUI framework for Python


Python versions
PYPI
Downloads
MIT License


static-analysis
static-analysis
Deployment
Documentation Status


Features
Installation
How To Use
Demo
Resources
Support
Tech stack
Credits
License
Gallery


![Themes](https://raw.githubusercontent.com/hoffstadt/DearPyGui/assets/linuxthemes.PNG)

## 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.

```Python
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 example window



## Demo
The built-in demo shows all of Dear PyGui's functionality. Use [this code](https://dearpygui.readthedocs.io/en/latest/tutorials/first-steps.html#demo) 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.



Dear PyGui demo



## Resources

- [API documentation](https://dearpygui.readthedocs.io/en/latest/index.html) :books:
- [Development Roadmap](https://github.com/hoffstadt/DearPyGui/projects/4)
- [FAQ](https://github.com/hoffstadt/DearPyGui/discussions/categories/frequently-asked-questions-faq)
- [Feature Tracker](https://github.com/hoffstadt/DearPyGui/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+feature%22)
- [Bug Tracker](https://github.com/hoffstadt/DearPyGui/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+bug%22)
- [Useful code snippets demonstrating best practices](https://github.com/my1e5/dpg-examples)
- [Showcase apps including source code](https://github.com/hoffstadt/DearPyGui/wiki/Dear-PyGui-Showcase) :star:
- [Showcase apps made with older versions of Dear PyGui](https://github.com/hoffstadt/DearPyGui/wiki/Showcase-apps-older-Dear-PyGui-versions)
- [Useful tools and widgets](https://github.com/hoffstadt/DearPyGui/wiki/Tools-and-Widgets)

## Support

If you are having issues or want to help, here are some places you can go.
- [Discord Forum](https://discord.gg/tyE7Gu4) 💬
- [Reddit](https://www.reddit.com/r/DearPyGui/)

[![Chat on Discord](https://img.shields.io/discord/736279277242417272?logo=discord)](https://discord.gg/tyE7Gu4)       [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/dearpygui?label=r%2Fdearpygui)](https://www.reddit.com/r/DearPyGui/)

## Tech stack
Dear PyGui is built on top of Dear ImGui, including the [ImPlot](https://github.com/epezent/implot) and [imnodes](https://github.com/Nelarius/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_ | [![PYPI](https://img.shields.io/pypi/v/dearpygui)](https://pypi.org/project/dearpygui/) |
| **macOS** | _Metal_ | [![PYPI](https://img.shields.io/pypi/v/dearpygui)](https://pypi.org/project/dearpygui/) |
| **Linux** | _OpenGL 3_ | [![PYPI](https://img.shields.io/pypi/v/dearpygui)](https://pypi.org/project/dearpygui/) |
| **Raspberry Pi 4** | _OpenGL ES_ | [![PYPI](https://img.shields.io/badge/pypi-v1.6-blue)](https://img.shields.io/badge/pypi-v1.6-blue) |


## Credits

- Developed by [Jonathan Hoffstadt](https://github.com/hoffstadt), [Preston Cothren](https://github.com/Pcothren) and every direct or indirect contributor.

- [Omar Cornut](http://www.miracleworld.net/) for all his incredible work on [Dear ImGui](https://github.com/ocornut/imgui).

- [Evan Pezent](http://evanpezent.com/) for all his work on [ImPlot](https://github.com/epezent/implot).

- [Johann Muszynski](https://github.com/Nelarius) for all of his work on [imnodes](https://github.com/Nelarius/imnodes).

## License
Dear PyGui is licensed under the [MIT License](https://github.com/hoffstadt/DearPyGui/blob/master/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](https://github.com/hoffstadt/DearPyGui/wiki/Sponsors) or buy us a [cup of coffee](https://www.buymeacoffee.com/DearPyGui).

     

## Gallery

#### Plotting/Graphing
_Dear PyGui_ includes a plotting API built with [ImPlot](https://github.com/epezent/implot)

        

        

        

        

#### Node Editor
_Dear PyGui_ includes a node editor built with [imnodes](https://github.com/Nelarius/imnodes)
![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/nodes2.png)

#### Canvas
_Dear PyGui_ includes a drawing API to create custom drawings, plot, and even 2D games.
![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/tetris.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/3d.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/nodes1.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/space.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/snake.gif)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/drawing.png)


![BasicUsageExample](https://github.com/hoffstadt/DearPyGui/blob/assets/canvas.png?raw=true)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/nodes3.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/3d1.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/game1.png)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/mandlebrot.gif)

![](https://github.com/hoffstadt/DearPyGui/blob/assets/readme/nodes4.png)