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: about 13 hours ago
JSON representation
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
- Host: GitHub
- URL: https://github.com/hoffstadt/dearpygui
- Owner: hoffstadt
- License: mit
- Created: 2020-05-28T17:12:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-16T01:56:55.000Z (3 months ago)
- Last Synced: 2024-10-29T12:43:11.553Z (3 months ago)
- Topics: cpp, cross-platform, dearpygui, graphics, gui, imgui, linux, macos, native, python, python-gui, toolkit, tools, ui, windows
- Language: C++
- Homepage: https://dearpygui.readthedocs.io/en/latest/
- Size: 139 MB
- Stars: 13,153
- Watchers: 157
- Forks: 685
- Open Issues: 333
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
A modern, fast and powerful GUI framework for Python
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**
## InstallationEnsure 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 dpgdef 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. To run the demo, you can run:```bash
python -m dearpygui.demo
```Or you can 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.
## 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)
## SupportIf 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)## SAST Tools
[PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.