# DearPyGui — High-Performance Python GUI Framework with GPU Rendering > A fast GPU-accelerated Python GUI toolkit built on Dear ImGui for data science, debugging, and interactive developer tools. ## Install Save as a script file and run: # DearPyGui — High-Performance Python GUI Framework ## Quick Use ```bash pip install dearpygui python -c "import dearpygui.dearpygui as dpg; dpg.create_context(); dpg.create_viewport(title='Demo'); dpg.setup_dearpygui(); dpg.show_viewport(); dpg.start_dearpygui(); dpg.destroy_context()" ``` ## Introduction DearPyGui brings Dear ImGui's immediate-mode rendering model to Python with native GPU acceleration. It targets developers who need responsive, interactive UIs for data visualization, tooling, and prototyping without the overhead of traditional widget frameworks. ## What DearPyGui Does - Renders UI elements via GPU (DirectX, OpenGL, Metal) for smooth performance - Provides 70+ widgets including plots, tables, drawlists, and node editors - Supports real-time data plotting with thousands of data points at 60 FPS - Offers a callback-driven API with simple Python function bindings - Runs cross-platform on Windows, macOS, and Linux ## Architecture Overview DearPyGui wraps a custom C++ rendering core that extends Dear ImGui with retained-mode convenience atop the immediate-mode engine. The Python layer communicates through CPython bindings so all heavy lifting stays in compiled code. A viewport manager handles OS window creation, input routing, and the render loop. ## Self-Hosting & Configuration - Install from PyPI: `pip install dearpygui` - Requires Python 3.8+ and a GPU-capable display - Configure viewport size, position, and VSync at creation time - Themes and fonts can be customized via the theming API - No external config files needed; everything is set programmatically ## Key Features - GPU-accelerated rendering for data-heavy interfaces - Built-in node editor for visual programming UIs - Live-updating plots that handle high-frequency data streams - Full DPI-aware scaling and multi-viewport support - Extensive callback system with item-level event handling ## Comparison with Similar Tools - **Tkinter** — ships with Python but lacks GPU rendering and modern aesthetics - **PyQt / PySide** — feature-rich but carries complex licensing and large dependencies - **Kivy** — targets touch and mobile UIs rather than desktop tooling - **Streamlit** — web-based, not suitable for latency-sensitive desktop UIs - **egui (Rust)** — similar immediate-mode model but requires Rust ## FAQ **Q:** Does DearPyGui support web or mobile deployment? A: No. It is desktop-only (Windows, macOS, Linux) and requires a local GPU context. **Q:** Can I use DearPyGui for production applications? A: Yes, but it is designed primarily for tooling, dashboards, and developer UIs rather than consumer-facing apps. **Q:** How does it compare to Dear ImGui in C++? A: DearPyGui uses Dear ImGui internally but adds a retained-mode Python API, built-in plotting, and node editor support. **Q:** Is there a drag-and-drop GUI builder? A: There is no official visual builder. UIs are defined programmatically in Python. ## Sources - https://github.com/hoffstadt/DearPyGui - https://dearpygui.readthedocs.io --- Source: https://tokrepo.com/en/workflows/asset-ea45d519 Author: Script Depot