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.5.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.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

dearcygui-0.0.5-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

dearcygui-0.0.5-cp313-cp313-manylinux_2_28_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

dearcygui-0.0.5-cp313-cp313-macosx_10_13_universal2.whl (2.9 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

dearcygui-0.0.5-cp312-cp312-manylinux_2_28_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

dearcygui-0.0.5-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.5-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

dearcygui-0.0.5-cp311-cp311-manylinux_2_28_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

dearcygui-0.0.5-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.5-cp310-cp310-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.10Windows x86-64

dearcygui-0.0.5-cp310-cp310-manylinux_2_28_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

dearcygui-0.0.5-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.5.tar.gz.

File metadata

  • Download URL: dearcygui-0.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 f0fced4daeb6a7a92bcda0aabdec8d2918429a15e260f794a76201d48de97228
MD5 171f2ba8aff26832d196c3486b7b15a0
BLAKE2b-256 c000d10f7138f07aaaf948957e3bc5925481cd1dc5fd59a2d68d8f77c9d59cc3

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 533f4ee62053fe1459107a9239da164a817a5438adc3b2f99bab7850f4857dee
MD5 14492d53d410d121028b372e5fe93744
BLAKE2b-256 8dfedc9edfbb0269f9f0d861ae0a78b4f5db4239260b16a5e686acfdf0a53473

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dearcygui-0.0.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.13, 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 36f28d2dfb44d659a807321d1fddc863234680be276eb13ee850492fa359a844
MD5 b59a69e3c174259fdd1a67a365519275
BLAKE2b-256 debcf1fd4aa0ed0a677bc50c40f9719981bbb352b0cf13ecac10c9f0d3e134a2

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e625f7e8e4784092816804277e0174fd8b2474b1a1255c0eba68904e5ec4c8f1
MD5 12224c0fe0e3b21122f5ffced4de7989
BLAKE2b-256 42f9b169f1587b0e3baafafdb1c07032e88271c9fcb637d59c03f72844e53dab

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 dedd6875b59247f9da764932d7e739088f431977dc22ba2d687fb4e9800d8553
MD5 268b0062f1f686a59e42dc2b053f13fa
BLAKE2b-256 f9fa7868058a191f71d2894ffa992218a70cf41c117ee0223c908176e347b96a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dearcygui-0.0.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 63f0a36082c65eab01e3c7a87ee270eeb686ac1aaeb850152275afd2075725a5
MD5 48e12c0d6e74900834a47bea39504df8
BLAKE2b-256 40d2a4ec1d099e2faa6417267f90fc7399cc0577e1aee5f76432e881603e63cb

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a1efc7b8a71758be3349347ee677d592db778a14b6126f234336d60aec41c24e
MD5 f356f9fbc98ca25f17c44a7c7f0001b6
BLAKE2b-256 964c064e1f5411da2563656c889012e0f3be2ec0d6bc5e2cfaaf2a2cc4ae5b9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b1b2ca9cf9374155f2d9d23c92d4cb21bb07da5bea33dd6a14631af28f355d0e
MD5 e3ae530e960876091d97bcc572c5419f
BLAKE2b-256 cb2fee3624efd17727ef534521602bb45bdbb307e756d47e8d9076c49b3e3a16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dearcygui-0.0.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3fe2252fe65954519e4a0fc425ecf0852d2d461259c7b103a2bf37f6f723c276
MD5 32714c9463a9f45874e8a3e34be97af2
BLAKE2b-256 fb01f0752983606f20fec2558a468b0cc92f343262dbddff57ae60019d8ece65

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c05aa6ef242c16945af410fd3ed72f0affd2ce2a065e375373d9492470ba059
MD5 ca22f81827c8be5e87cb1611cdaae1a2
BLAKE2b-256 f004ce34b635e855a9d4332068a9ba039b182df221c0179736c4147f60f614ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ef5ab78f4f83c0a20eae289a409b9a3b1d4c0500a05dcc7b97395220d62cefcc
MD5 c808276edca459d8e16b24177a2606c1
BLAKE2b-256 f84f4788cb47e002fab95e8b1e4f216ab1f1616cf9939950a10e9299720ddf1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dearcygui-0.0.5-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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9bc50c815fefdc76165ce17e6e12bbb5e04fe7e73cb19cfabae1519ff107afae
MD5 c176234e71ff36da18ad6c6d3befdde6
BLAKE2b-256 dd5c67abefafc6dd981cb978a8ac24dd9254a5a91904ba5de79e835d2ba49bbc

See more details on using hashes here.

File details

Details for the file dearcygui-0.0.5-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 03f5c6a04428668de87e959f064e28f3dd1d600611a23ab1d2167c04611f539a
MD5 9e7641468939abf67dff590a22cdbd30
BLAKE2b-256 ffe841dd297916f6e2bc3156ed76323a6d69620d951719ce3f08791d8aeecef5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dearcygui-0.0.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c34d0876054ce10d0da6d9816d1dcc53b5ce46f73d8f42d92b9cc968f6e93215
MD5 88883c82380e43e19faa42819aa6002f
BLAKE2b-256 e527eae6e24b85584d505e7be1302209ad6413c73ca257bc8237fb79394dfe5f

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