Skip to main content

DearCyGui: A simple and customizable Python GUI Toolkit coded in Cython

Project description

DearCyGui: a Multi-platform (Windows, Linux, Mac) GUI library for Python

DearCyGui is an easy to use library to make graphical interfaces in Python.

Main features are:

  • Fast. Speed to create and manage the interface has been one of the main focus.
  • Dynamic interface. It is based on Dear ImGui (https://github.com/ocornut/imgui) to render. Each frame is new, and there is no cost if the content changes a lot a frame to another.
  • Unlike other libraries based on Dear ImGui that provide access to its low-level API, DearCyGui is more high level. As a result your code is easier to read, and less prone to errors. Python is not adapted to call the low-level API as it would quickly become slow (as you would be required to re-render every frame). In DearCyGui you build objects and the backend handles calling the low-level API.
  • Customization. You can create your own widgets or draw elements, and alter how they are rendered.
  • Even more customization, if using Cython. You can cimport DearCyGui and directly access the item internals or create your own drawing functions.
  • Adapted for Object Oriented Programming (All items can be subclassed), though you can use other styles as well.
  • Uses SDL3, and thus has high quality and up-to-date support for DPI handling, etc.
  • MIT Licensed.
  • Low GPU/CPU usage.

Installing

pip install dearcygui to install an old version

Latest development version:

git clone --recurse-submodules https://github.com/DearCyGui/DearCyGui
cd DearCyGui
pip install .

Examples & Documentation

  • Demos Gallery: [https://github.com/DearCyGui/Demos]
  • Documentation: See the docs directory or run documentation.py in the demos

Design Philosophy

DearCyGui bridges the gap between Python's ease of use and Dear ImGui's performance. Rather than making direct Dear ImGui calls each frame from Python (which would be slow), DearCyGui:

  • Uses objects created in Python but managed by compiled C++ code (generated with Cython)
  • C++ code handles the per-frame rendering via Dear ImGui
  • Python code defines the UI structure and handles application logic
  • Cython enables seamless integration between Python and C++

This architecture provides:

  • Fast rendering performance
  • Clean, Pythonic API
  • Full Dear ImGui functionality
  • Extensibility through subclassing

Credits

DearCyGui began as a Cython reimplementation of DearPyGui (https://github.com/hoffstadt/DearPyGui) but has evolved with additional features and a different architecture.

This project uses:

Huge thanks to the Cython team which have enabled this project to see the light of the day.

Portions of this software are copyright © 2024 The FreeType Project (www.freetype.org). All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dearcygui-0.0.4.tar.gz (19.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dearcygui-0.0.4-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

dearcygui-0.0.4-cp312-cp312-macosx_10_13_universal2.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

dearcygui-0.0.4-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

dearcygui-0.0.4-cp311-cp311-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

dearcygui-0.0.4-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

dearcygui-0.0.4-cp310-cp310-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file dearcygui-0.0.4.tar.gz.

File metadata

  • Download URL: dearcygui-0.0.4.tar.gz
  • Upload date:
  • Size: 19.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for dearcygui-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b9efdf2a1cb35f511673a0df5e8ba4393de75b915f9a8ec776802ca6b0090988
MD5 2f9c00aada0b13a625c25d18f8754ffb
BLAKE2b-256 26bcdf20b8945bf83dbfbaaba77d0326fae398a1772f05370c4fc6c8149edfca

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dearcygui-0.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for dearcygui-0.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3687549616207dc0a0e2c7a200471871ce9cc42c90ffee26031081bc40365220
MD5 4f096b837da4d63226b63e9944c5eabd
BLAKE2b-256 f7bf615a1b11c2cd616e21261f70cf890c5f98afaaaeebe15e364d3038b6d05c

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1d1143d3f236bcd6a459d31427eeed60d9bca52ce33924a140daec358eabe044
MD5 b0c4de01398f6bd3bf243eaeefb2c4f9
BLAKE2b-256 c765c82926267968ff1d08136d8c6b1796c947b2baf821c0b2a85d7b14e1723b

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dearcygui-0.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for dearcygui-0.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a64ac0c4dc5057906fa62971fbeced34357b4ea81d80f0693d902aa071d48865
MD5 9f25eea4def8506a0ed7dbd05aaf8514
BLAKE2b-256 47e84e67a42c149209a91c9b5bcba6368c5cc82208f437a422f4b8e95ebe4551

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0a6d50e599c1a4af1ab6186dbec44cc5b745117c4395e9848c0b1d0f9cacf475
MD5 890b528b2dd1c7d5963ef53a8f5e9661
BLAKE2b-256 3ca8d1f6a2fb9fb1fbc5376aa704a996299308d62485c8ced0d099f8b8a02e1a

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dearcygui-0.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for dearcygui-0.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d710812f1208971d5da757ddb16d0119e04822544b3169169f1aa97fe0ce3d49
MD5 46a188ab88fb83c25b3b96d5cab1ce3c
BLAKE2b-256 67a3882532c1e0919eada04f75284999c5cd8df2508432ad205cd59806bec92f

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0b3b069d6cf39c53b60894875b0f31261b7d93895b442ecb2e74954bb758e460
MD5 a2e8f3141e9da61e5d972b9cc1e3be46
BLAKE2b-256 8c20a55e57bf4927a4f0ba8a6f549814259667eab5c4cb8cbbabe98ffca49962

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page