/DearPyGui

Dear PyGui: A Bloat-free Graphical User Interface for Python with minimal dependencies

Primary LanguageC++MIT LicenseMIT

Logo

(This library is available under a free and permissive license)

Python Version PYPI Downloads

build status Build status

Dear PyGui is a simple to use (but powerful) Python GUI framework. Dear PyGui provides a wrapping of Dear ImGui which simulates a traditional retained mode GUI (as opposed to Dear ImGui's immediate mode paradigm).


Themes

Dear PyGui is fundamentally different than other Python GUI frameworks. Under the hood, Dear PyGui uses the immediate mode paradigm and your computer's GPU to facilitate extremely dynamic interfaces. Dear PyGui is currently supported on the following platforms:

Platform Rendering API
Windows 10 DirectX 11
macOs Metal
Linux OpenGL3

In the same manner Dear ImGui provides a simple way to create tools for game developers, Dear PyGui provides a simple way for python developers to create quick and powerful GUIs for scripts.

Installing - Usage - Resources - Features - Support - Building
Upcoming changes - Gallery - Sponsors - Credits - License

Installation


Ensure you have at least Python 3.6 64bit.

pip install dearpygui
or
pip3 install dearpygui

Resources


  • DearPyGui-Examples repository for example usage.
  • Tutorials for getting started.
  • Online Documentation for official documentation.
  • Internal Documentation: Run the show_documentation command from within the library to view an reference guide.
  • Complete Demo: You can also view a mostly complete showcase of Dear PyGui by running the show_demo command found in dearpygui.demo.

Usage


Using Dear PyGui is a simple as creating a python script like the one below:

Code:

from dearpygui import core, simple

def save_callback(sender, data):
    print("Save Clicked")

with simple.window("Example Window"):
    core.add_text("Hello world")
    core.add_button("Save", callback=save_callback)
    core.add_input_text("string")
    core.add_slider_float("float")

core.start_dearpygui()

Result:
BasicUsageExample

Some Features


Plotting/Graphing

Dear PyGui includes a plotting API (ImPlot Wrapping)

Themes

Dear PyGui currently includes 10 themes and you can create your own:
Themes

Canvas

Dear PyGui includes a drawing API to create custom drawings, plot, and even 2D games.
BasicUsageExample

Tools

Dear PyGui includes several tools to help developers with DearPyGui app development including built-in documentation, logging, source viewer, and other tools:
BasicUsageExample

Support


  • Sponsor If you enjoy Dear PyGui please consider becoming a sponsor.
  • Paypal For those who don't like rewards.

If you are having issues or want to help, here are some places you can go:

Building


Upcoming Changes


Some upcoming features:

  • An object oriented interface
  • Support for window docking and multiple viewports.
  • 3D widget.
  • Custom Widget API.

Sponsors


Ongoing Dear PyGui development is financially supported by users and private sponsors.

These include:

Thank you to all other sponsors for keeping this project moving forward!

Credits


Developed by Jonathan Hoffstadt, Preston Cothren, and every direct or indirect contributor.

Omar Cornut for all his incredible work on Dear ImGui.

Evan Pezent for all his work on ImPlot

Aiekick for his work on the ImGuiFileDialog

Gallery



StandardWindowsExample1
StandardWindowsExample1

License


Dear PyGui is licensed under the MIT License.