DearPyGui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
A fast Python library for building desktop GUIs, windows, charts, sliders, node editors, powered by C++ and your GPU, installed with a single pip command and capable of rendering over a million data points at 60 fps.
Dear PyGui is a toolkit for building desktop graphical user interfaces — windows, buttons, sliders, text inputs, charts, node editors — using Python. The goal is to give Python developers a simple way to create quick and powerful GUIs for their scripts, without learning a heavyweight framework.
Under the hood it is written in C/C++ and built on top of Dear ImGui (a popular C++ library originally aimed at tools for game developers), along with the ImPlot and imnodes extensions. It uses what is called the immediate mode paradigm, which means the interface is described from scratch every frame instead of stored as a tree of objects, and it draws everything through your computer's GPU. The practical effect is that interfaces stay smooth and dynamic — the README says you can display over a million data points on a graph at 60 frames per second, with zoom and pan. From the Python side, building a window is straightforward: you import the library, create a context and a viewport, then add widgets inside a window block and start the event loop.
You would reach for Dear PyGui when you want to wrap a Python script in a friendly interface — a small data tool, a control panel, a visualisation, a debugger — and you care about performance and a modern look more than deep native-platform integration. It runs on Windows, macOS, Linux, and Raspberry Pi 4, using each system's native graphics API. Requirements are Python 3.8 or newer (64-bit), and installation is a single pip install. The project is MIT licensed and ships with a built-in demo that walks through every feature.
Where it fits
- Wrap a Python data-processing script in a GUI with interactive charts, sliders, and buttons without a heavyweight framework.
- Build a real-time data visualization tool that smoothly renders large datasets with GPU-accelerated drawing.
- Create a control panel, debugger, or settings UI for a Python application with a modern look on Windows, macOS, or Linux.