Dear PyGui 1.0.0 (DPG), multiplatformní sada nástrojů pro vývoj GUI v Pythonu, byla vydána. Nejdůležitější vlastností projektu je použití multithreadingu a operací spouštění na stranu GPU pro urychlení vykreslování. Klíčovým cílem vydání 1.0.0 je stabilizace API. Změny narušující kompatibilitu budou nyní nabízeny v samostatném „experimentálním“ modulu.
Pro zajištění vysokého výkonu je hlavní část kódu DearPyGui napsána v C++ pomocí knihovny Dear ImGui, vyvinuté stejnými autory, ale určené pro tvorbu grafických aplikací v C++ a nabízející zásadně odlišný operační model. Vážený zdrojový kód PyGui je distribuován pod licencí MIT. Deklarovaná podpora pro platformy Linux, Windows 10 a macOS.
Sada nástrojů je vhodná pro rychlé vytváření jednoduchých rozhraní a pro vývoj složitých specializovaných GUI pro hry, vědecké a inženýrské aplikace, které vyžadují vysokou odezvu a interaktivitu. Vývojářům aplikací se nabízí jednoduché API a sada hotových tradičních prvků, jako jsou tlačítka, posuvníky, přepínače, nabídky, textové formuláře, zobrazení obrázků a různé způsoby rozvržení oken. Mezi pokročilé funkce patří podpora tvorby tabulek, grafů a tabulek.
Kromě toho je k dispozici sada prohlížečů zdrojů, editor uzlů, systém kontroly témat a prvky volného tvaru vhodné pro vytváření 2D her. Pro zjednodušení vývoje je k dispozici několik nástrojů, včetně debuggeru, editoru kódu, prohlížeče dokumentace a prohlížeče protokolů.
Dear PyGui implementuje abstraktní režim API (Retained mode) typický pro knihovny GUI, ale je implementován nad knihovnou Dear ImGui, která pracuje v režimu IMGUI (GUI v okamžitém režimu). Režim Retained znamená, že úlohy tvorby scény přebírá knihovna a v režimu Immediate se na straně klienta zpracovává vizualizační model a grafická knihovna slouží pouze pro finální výstup, tzn. Pokaždé, když aplikace vydá příkazy k nakreslení všech prvků rozhraní, aby se vytvořil další dokončený rám.
DearPyGui nepoužívá nativní widgety poskytované systémem, ale spíše vykresluje své vlastní widgety voláním grafických API OpenGL, OpenGL ES, Metal a DirectX 11 v závislosti na aktuálním operačním systému. Celkem je nabízeno více než 70 hotových widgetů.
Zdroj: opennet.ru