The release of Dear PyGui 1.0.0 (DPG), a cross-platform toolkit for developing graphical user interfaces in Python, has been published. The most important feature of the project is the use of multithreading and offloading operations to the GPU to accelerate rendering. A key aim of releasing version 1.0.0 is to stabilize the API. Incompatible changes will now be offered in a separate 'experimental' module.
To ensure high performance, most of the DearPyGui code is written in C++ using the Dear ImGui library, developed by the same authors, but designed for creating graphical applications in C++ and offering a fundamentally different work model. The source texts of Dear PyGui are distributed under the MIT license. Support for Linux, Windows 10, and macOS platforms is declared.
The toolkit is suitable for both quickly creating simple interfaces and developing complex specialized GUIs for games, scientific, and engineering applications that require high responsiveness and interactivity. Developers are offered a simple API and a set of ready-made traditional elements such as buttons, sliders, toggles, menus, text forms, image displays, and various methods for window element layout. Expanded capabilities include support for chart, graph, and table generation.

Additionally, a set of resource viewers, node link editor, theme inspection system, and elements for arbitrary rendering suitable for 2D game creation are available. To simplify development, several utilities are included, such as a debugger, code editor, documentation viewer, and log viewer.
Dear PyGui implements a typical abstract operation mode for GUI libraries (Retained mode), but it is built on top of the Dear ImGui library, which operates in IMGUI (Immediate mode GUI). The retained mode means that the library takes on the task of scene generation, while in the Immediate mode, the visualization model is processed on the client side, and the graphics library is used only for final output, i.e., the application issues drawing commands for all interface elements each time to form the next ready frame.
DearPyGui does not use native widgets provided by the system; instead, it renders its own widgets by interfacing with graphical APIs such as OpenGL, OpenGL ES, Metal, and DirectX 11, depending on the current operating system. More than 70 ready-made widgets are available in total.



Source: opennet.ru
