dearpygui
DearPyGui: A simple Python GUI Toolkit
What it is and what it does
dearpygui is a Python GUI framework built on Dear ImGui, using GPU-accelerated rendering and C/C++ internals to deliver high-performance interfaces. It implements the immediate-mode paradigm, where the UI is rebuilt each frame, enabling highly dynamic and responsive applications without the overhead of traditional retained-mode frameworks.
The package includes built-in plotting (via ImPlot), node editing (via imnodes), and canvas drawing capabilities. It supports theme customization, asynchronous operations, and developer tools for inspection and debugging. Cross-platform support spans Windows (DirectX 11), macOS (Metal), and Linux (OpenGL 3), with precompiled wheels for Python 3.8–3.14.
Use it for:
- Build real-time data visualization dashboards that display and update large datasets at 60 fps.
- Create node-based editors for workflow design, shader graphs, or visual programming interfaces.
- Develop quick prototyping tools and internal utilities with minimal UI boilerplate.
- Build 2D canvas-based applications including games, drawing tools, or custom visualizations.
- Design cross-platform desktop applications requiring modern theming and responsive layouts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dearpygui is a GPU-accelerated GUI framework for Python that builds immediate-mode interfaces with built-in support for plotting, node editing, and canvas drawing.
Yes. dearpygui is a solid choice for developers needing a performant, modern GUI framework with GPU acceleration and no runtime dependencies. Active maintenance, permissive MIT license, and broad Python version support (3.8–3.14) make it low-risk. Medium install friction is offset by precompiled wheels across major platforms. No known vulnerabilities. Best suited for real-time visualization, node editors, and performance-critical UIs; less ideal if you need web-based deployment or extensive native widget libraries.
Install
dearpygui on PyPI
pip
pip install dearpyguiuv
uv add dearpyguipoetry
poetry add dearpyguiInstalling dearpygui
Before you install
Medium install friction: precompiled wheels available for Python 3.8–3.14 on Windows, macOS (arm64), and Linux (x86_64, aarch64). Active maintenance with recent releases; no runtime dependencies to manage.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
Quickstart
pip install dearpygui
import dearpygui.dearpygui as dpg
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")
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Requires Python 3.8 or later, 64-bit interpreter. GPU drivers required for rendering (DirectX 11 on Windows, Metal on macOS, OpenGL 3 on Linux).
Verify before relying
- Whether asynchronous function support covers all callback types or only specific use cases.
- Performance characteristics when rendering significantly more than 1 million datapoints or with complex node graphs.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 105 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 200,764/month — #9,684 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dearpygui-2.3.1-cp310-cp310-macosx_13_0_arm64.whl; dearpygui-2.3.1-cp310-cp310-manylinux1_x86_64.whl; dearpygui-2.3.1-cp310-cp310-manylinux2014_aarch64.whl; dearpygui-2.3.1-cp310-cp310-win_amd64.whl; dearpygui-2.3.1-cp311-cp311-macosx_13_0_arm64.whl; dearpygui-2.3.1-cp311-cp311-manylinux1_x86_64.whl; dearpygui-2.3.1-cp311-cp311-manylinux2014_aarch64.whl; dearpygui-2.3.1-cp311-cp311-win_amd64.whl; dearpygui-2.3.1-cp312-cp312-macosx_13_0_arm64.whl; dearpygui-2.3.1-cp312-cp312-manylinux1_x86_64.whl; dearpygui-2.3.1-cp312-cp312-manylinux2014_aarch64.whl; dearpygui-2.3.1-cp312-cp312-win_amd64.whl; dearpygui-2.3.1-cp313-cp313-macosx_13_0_arm64.whl; dearpygui-2.3.1-cp313-cp313-manylinux1_x86_64.whl; dearpygui-2.3.1-cp313-cp313-manylinux2014_aarch64.whl; dearpygui-2.3.1-cp313-cp313-win_amd64.whl; dearpygui-2.3.1-cp314-cp314-macosx_13_0_arm64.whl; dearpygui-2.3.1-cp314-cp314-manylinux1_x86_64.whl; dearpygui-2.3.1-cp314-cp314-manylinux2014_aarch64.whl; dearpygui-2.3.1-cp314-cp314-win_amd64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
imgui-bundleDear ImGui Bundle provides Python bindings to a…
permissive · top 15,000 on PyPI
imguiPython bindings for the dear imgui C++ library,…
permissive · top 15,000 on PyPI
vispyVisPy is a GPU-accelerated 2D/3D visualization…
permissive · top 5,000 on PyPI
pygletpyglet is a cross-platform windowing and…
unclear · top 5,000 on PyPI
niceguiNiceGUI is a Python framework for building…
permissive · top 5,000 on PyPI
bqscalesbqscales implements a grammar-of-graphics layer…
permissive · top 15,000 on PyPI
wxPythonwxPython provides Python bindings to the…
unclear · top 15,000 on PyPI
customtkinterCustomTkinter wraps Python's Tkinter to provide…
permissive · top 5,000 on PyPI