# raylockllc/dearpygui

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/raylockllc-dearpygui).**

15,478 stars · 787 forks · C++ · MIT

## Links

- GitHub: https://github.com/RaylockLLC/DearPyGui
- Homepage: https://dearpygui.readthedocs.io/en/latest/
- awesome-repositories: https://awesome-repositories.com/repository/raylockllc-dearpygui.md

## Description

DearPyGui is a hardware-accelerated Python GUI framework and graphics rendering engine. It operates as an immediate mode user interface system, rendering frames from scratch to ensure high performance and minimal state management for desktop applications.

The project functions as a GPU-accelerated plotting library capable of rendering millions of data points with high frame rates. It also serves as a node editor toolkit for constructing interactive graph-based interfaces to manage visual data flows.

The framework includes capabilities for custom 2D graphics rendering, interface theme customization, and real-time data visualization. Built-in developer tools allow for runtime metrics inspection and the debugging of system resources.

## Tags

### User Interface & Experience

- [Python GUI Frameworks](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/gui-toolkits/python-gui-frameworks.md) — Offers a hardware-accelerated toolkit for building high-performance desktop graphical user interfaces using Python.
- [Immediate Mode GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/immediate-mode-gui-toolkits.md) — Implements a user interface system that rebuilds the display every frame to minimize state management.
- [Visual Node Editors](https://awesome-repositories.com/f/user-interface-experience/visual-node-editors.md) — Implements a dedicated toolkit for constructing interactive, graph-based node editors to manage visual data flows. ([source](https://github.com/raylockllc/dearpygui#readme))
- [Interface Appearance Customizations](https://awesome-repositories.com/f/user-interface-experience/interface-appearance-customizations.md) — Provides comprehensive tools for modifying visual themes and styling to control the application's look and feel. ([source](https://github.com/raylockllc/dearpygui#readme))
- [Node Editors](https://awesome-repositories.com/f/user-interface-experience/ui-components/text-editors/node-editors.md) — Enables the construction of interactive graph-based interfaces for managing complex data flows.

### Part of an Awesome List

- [Plotting and Visualization](https://awesome-repositories.com/f/awesome-lists/devtools/plotting-and-visualization.md) — Provides a dedicated interface for creating charts and graphs to visualize large datasets. ([source](https://github.com/raylockllc/dearpygui#readme))
- [GUI Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/gui-frameworks.md) — GPU-accelerated GUI framework.

### Data & Databases

- [Real-Time Charting Engines](https://awesome-repositories.com/f/data-databases/real-time-data-streaming/real-time-charting-engines.md) — Optimizes the rendering of high-frequency data streams into real-time charts.

### Graphics & Multimedia

- [GPU-Accelerated UI Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering.md) — Utilizes hardware graphics pipelines to render user interface elements and plots directly via the GPU.
- [Coordinate-Based Drawing APIs](https://awesome-repositories.com/f/graphics-multimedia/coordinate-based-drawing-apis.md) — Implements a low-level interface for rendering custom shapes and lines based on screen coordinates.
- [Shape Drawing](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing.md) — Provides a dedicated drawing interface for rendering custom geometric shapes and simple games.
- [Custom Shape Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/canvas-vector-graphics/custom-shape-rendering.md) — Provides a drawing interface for rendering lines and custom geometric shapes directly onto application windows. ([source](https://github.com/raylockllc/dearpygui#readme))
- [Texture Management Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/texture-management-systems.md) — Manages images and fonts as GPU textures to ensure fast access during the rendering cycle.
- [Graphics Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-rendering-engines.md) — Acts as a graphics rendering engine for drawing custom shapes and simple games within desktop applications.

### Scientific & Mathematical Computing

- [GPU-Accelerated Plotting Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/gpu-accelerated-plotting-libraries.md) — Functions as a visualization tool capable of rendering millions of data points and complex charts with high frame rates.

### Software Engineering & Architecture

- [High-Frame-Rate Rendering](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations/high-frame-rate-rendering.md) — Supports rendering millions of data points at high frame rates with integrated zoom and pan functionality. ([source](https://github.com/raylockllc/dearpygui#readme))

### Game Development

- [Command Buffers](https://awesome-repositories.com/f/game-development/engine-architecture/command-buffers.md) — Queues draw calls and geometry data into buffers for efficient batch processing by the graphics API.

### Operating Systems & Systems Programming

- [C-Bindings](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/memory-allocation-libraries/low-level-system-operations/c-bindings.md) — Provides Python wrappers for a high-performance C++ core to minimize execution overhead in complex layouts.
