Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

Overview
Dear PyGui

(This library is available under a free and permissive license however, if you Enjoy Dear PyGui please consider becoming a Sponsor)

Python Version PYPI Downloads Sponsors

build status static-analysis Build status

Dear PyGui is a simple to use (but powerful) Python GUI framework. Dear PyGui is NOT a wrapping of Dear ImGui in the normal sense. It is a library built with 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 OpenGL 3

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 - Support
Features - Sponsors - Credits - License

Installation


Ensure you have at least Python 3.6 64bit.

pip install dearpygui
or
pip3 install dearpygui

Resources


  • Documentation comprehensive documentaion, tutorials, and examples.
  • Development Roadmap future features and changes.
  • 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

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

Sponsors


If you enjoy Dear PyGui please consider becoming a sponsor.

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

License


Dear PyGui is licensed under the MIT License.

Comments
  • Can't Run Provided Sample Code

    Can't Run Provided Sample Code

    Describe the bug When attempting to run the code found at https://github.com/RaylockLLC/DearPyGui#usage, an error is given:

    Traceback (most recent call last): File "c:\Users\dylan\Desktop\Programming\dpygui\tempCodeRunnerFile.py", line 1, in from dearpygui.dearpygui import * ImportError: DLL load failed while importing dearpygui: The specified module could not be found.

    To Reproduce Steps to reproduce the behavior:

    1. Copy code, paste code
    2. Run
    3. See error

    Additional context Python Version: 3.8.1 DearPyGui Version: 0.1.0a21 Code Editor: VSCode Platform: Windows 10 v 1909 (18363.959)

    I tried a simple uninstall-reinstall, but the behavior wasn't any different. Very neat project, looking forward to seeing this grow. Hello from Reddit!

    opened by RobotNetwork 43
  • could Not Find a version that satisfies the requirement (aka Unable to install in Macintosh Python 3.91 (Big Sur))

    could Not Find a version that satisfies the requirement (aka Unable to install in Macintosh Python 3.91 (Big Sur))

    This may affect other 3.9x install platforms? I was only able to test Python 3.91 Macintosh.

    DearPyGui version - v0.6.166+ (5c74d61?) downloaded directly from Github ~14:00ish on 2/10/2021

    Mac OS X Big Sur 11.2.1 Python 3.9.1 (default, Feb 2 2021, 22:54:59) [Clang 12.0.0 (clang-1200.0.32.29)] on darwin

    Unable to use PIP to install dearpyGui.

    (intelworking) benjamin@Nerv scripts % pip install dearpygui
    ERROR: Could not find a version that satisfies the requirement dearpygui
    ERROR: No matching distribution found for dearpygui
    

    Looking at verbose mode, "Skipping link: none of the wheel's tags match:" is plastered on all of the links.

    Comparing it to the tags produced below, so the arm64, and universal2 tags.

    (intelworking) benjamin@Nerv scripts % python3 -c"from packaging import tags; print('\n'.join([str(t) for t in tags.sys_tags()]))" |head -5 cp39-cp39-macosx_11_0_arm64 cp39-cp39-macosx_11_0_universal2 cp39-cp39-macosx_10_16_universal2 cp39-cp39-macosx_10_15_universal2 cp39-cp39-macosx_10_14_universal2

    I have tried this in Rosetta 2, as well as in M1 Native. I have had no issues with python libraries in Rosetta 2, including Cryptopgraphy, PyMuPDF, etc. So Rosetta2 (Intel Translation) mode does not appear to be the issue.

    I'll be happy to assist in troubleshooting, testing, etc.

    type: feature platform: MacOS type: build priority: high 
    opened by bschollnick 39
  • Import issue on SOME Windows systems

    Import issue on SOME Windows systems

    Version of Dear PyGui: Latest (Tested on 0.4.0 and others as well)

    Operating System: Windows 8/10

    My Issue/Question

    Lately I was asked by colleagues who use Windows to share with them the app I was developing using this DPG. I packaged the app for them and some reported that it didn't work, while others had no issue whatsoever. Some were running Windows 8 and others Windows 10. Long story short, after hours of trying to figure this out I grabbed a computer I had lying around and fired up Windows on it. It didn't work on it so I installed Python 3.7.9 and DPG. Simply running the Python console I got the following error:

    >>> import dearpygui.core
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
    ImportError: DLL load failed: The specified module could not be found.
    

    Bingo!

    The main culprit was DX11 so I ran dxdiag but all seemed correct and all DX features were enabled.

    This might be a bug of the main lib, but since I used DPG I thought I'd go here first. Also, @hoffstadt is an awesome maintainer :)

    platform: Windows 
    opened by wallace11 33
  • run_async_function is prohibitively slow

    run_async_function is prohibitively slow

    DearPyGui Version: 0.6.42 Operating System: Windows 10

    run_async_function() can be extremely slow depending on what you ask it to do. This can make DPG unusable for computation intensive applications, since, for example, loading data using a DPG gui leaves you either locking up the gui completely (by not using run_async) or waiting forever for the data to load (when using run_async) where a script would load it much quicker.

    Here is a minimal example where a call to print grinds run_async_function to a halt:

    from dearpygui.core import *
    from dearpygui.simple import *
    import time
    
    def slow_callback(sender, data):
    	c = 0
    	for i in range(0, 1024):
    		print(i)
    		c += i
    
    t1 = time.time()
    slow_callback(None, None)
    t2 = time.time()
    print('main thread time:', t2-t1)
    
    set_threadpool_high_performance()
    t1 = time.time()
    run_async_function(slow_callback, None, return_handler=lambda s, d: print('dpg thread time:', time.time() - t1, flush=True))
    start_dearpygui()
    

    output:

    main thread time: 0.007995367050170898
    dpg thread time: 16.691800117492676
    

    This also occurs for me when manipulating numpy arrays. I haven't tried lists and other pythonic statements yet (related issues: #349 #370 )

    state: inactive 
    opened by mef51 29
  • Window never appears if created with option no_focus_on_appearing on second time

    Window never appears if created with option no_focus_on_appearing on second time

    Version of Dear PyGui

    Version: 0.8.16 Operating System: Windows 10

    My Issue/Question

    Window never appears if created with option no_focus_on_appearing=True on second time i.e. window get created but never comes into foreground. Earlier i was thinking after setting up value rendering stop but that is not the case.

    image

    image

    To Reproduce

    Steps to reproduce the behavior:

    1. Run the code

    Expected behavior

    post setting up value by button on typing window should created and appear as well just it should not have the focus. Currently window is created but not appearing.

    Screenshots/Video

    XXX (you can drag files here)

    Standalone, minimal, complete and verifiable example

    import dearpygui.dearpygui as dpg
    
    def childwindow(sender):
        if dpg.does_item_exist(3):
            dpg.add_text('Child Window exist', parent=1)
        with dpg.window(label='Child Window', id=3, width=150, height=100, pos=(160,100), no_focus_on_appearing=True):
            dpg.add_text('Child Window', id=36)
    
    def setvalue():
        dpg.set_value(item=2,value='Value has been set')
        dpg.delete_item(3)
    
    with dpg.window(label='Main Window', id=1, width=500, height=500):
        dpg.add_input_text(label='window button', id=2, callback=childwindow)
        dpg.add_button(label='button', id=4, callback=setvalue)
    
    dpg.start_dearpygui()
    
    
    opened by chauhan-pawan 28
  • Abort:  Closing a window while using the Debug window to view its info

    Abort: Closing a window while using the Debug window to view its info

    9C99D890-F0E6-4103-A3FD-404FA347C80A

    I was viewing the info for the "View Console" window in the debug window and click the X to close it. That aborted the whole program. I tested it without using the debug window and that works fine.

    Here is the MacOS error:

    56CEC5D5-FC90-402C-B0C4-894ACE622D92

    opened by dkluis 24
  • dearpygui function cannot read/write txt file

    dearpygui function cannot read/write txt file

    I try to read & write the text file thru dearpygui widget button callback, but fail. if I code below directly in python, it works with open('setting.txt','r') as wf: content = wf.readlines() print(content)

    but if code as below, I cannot read/write the content from/to txt file from dearpygui.dearpygui import *

    def savesetting(sender,data): with open('setting.txt','r') as wf: # wf.write("setting") content = wf.readlines() print(content)

    add_button("save setting",callback=savesetting)

    start_dearpygui()

    opened by benhzb 23
  • ModuleNotFoundError

    ModuleNotFoundError

    **Version of Dear PyGui: **

    Version: 0.1.0b12

    OS

    Operating System: Windows 10

    My Issue/Question I get a ModuleNotFoundError when i try to start the hello world example.

    ModuleNotFoundError: No module named 'dearpygui.dearpygui'; 'dearpygui' is not a package

    To Reproduce

    I installed through pip with pip install dearpygui

    I firstly did try to start with an old environment (python 3.7.3) this had the mentioned result. Afterwards I made a fresh environment with python 3.7.7 and this had the same result.

    Standalone, minimal, complete and verifiable example:

    from dearpygui.dearpygui import *
    
    add_text("Hello world")
    add_button("Save", callback="save_callback")
    add_input_text("string")
    add_slider_float("float")
    
    def save_callback(sender, data):
        print("Save Clicked")
    
    start_dearpygui()
    
    state: question 
    opened by radikalliberal 21
  • Future Higher Level API

    Future Higher Level API

    Have you considered implementing a declarative API similar to Flutter? This may or may not be a good fit for this project, but I think it's at least worth considering.

    opened by JordyScript 21
  • Menu Accelerator Keys

    Menu Accelerator Keys

    Is your feature request related to a problem? Please describe. when using set_key_press_callback() all keys are registered to the handler and callback

    Describe the solution you'd like it would be useful to keys to be registered by name and also have * or the default to be the all keys

    Additional context This should also be considered on set_key_down_callback() & set_key_relese_callback()

    type: feature 
    opened by Pcothren 20
  • Apple Silicon / ARM Support?

    Apple Silicon / ARM Support?

    Version of Dear PyGui

    Version: 1.1.3 Operating System: macOS Monterey on Apple Silicon (M1 Max)

    My Issue/Question

    Cannot install dearpygui package with pip

    To Reproduce

    Steps to reproduce the behavior:

    1. On macOS Monterey on a M1 Max (probably any M1)
    2. Try to install dearpygui: pip install dearpygui

    Expected behavior

    DearPyGUI is installed

    Actual behavior

    Error:

    (venv) ➜  pip install dearpygui
    ERROR: Could not find a version that satisfies the requirement dearpygui (from versions: none)
    ERROR: No matching distribution found for dearpygui
    (venv) ➜  python -V
    Python 3.10.1
    

    Thoughts

    I think this is because there is an x64 Intel macOS wheel but not an ARM64 macos wheel.

    state: duplicate platform: MacOS type: build priority: high 
    opened by mikeckennedy 18
  • How do I set percentage based widths?

    How do I set percentage based widths?

    Hi,

    setting percentage based widths with a wrapper around the table API works fine. But I could not figure out how to add a tooltip to a button that is layed out this way.

    Discussed in https://github.com/hoffstadt/DearPyGui/discussions/1306

    Originally posted by hoffstadt October 12, 2021

    Answer

    Percentage based widths are not directly supported yet in Dear PyGui, however there are various techniques you could use to achieve it. For example, you could create a thin wrapper around the table API using the proportional stretch sizing policy.

    Example

    import dearpygui.dearpygui as dpg
    
    dpg.create_context()
    dpg.create_viewport()
    dpg.setup_dearpygui()
    
    class LayoutHelper:
    
        def __init__(self):
            self.table_id = dpg.add_table(header_row=False, policy=dpg.mvTable_SizingStretchProp)
            self.stage_id = dpg.add_stage()
            dpg.push_container_stack(self.stage_id)
            
        def add_widget(self, uuid, percentage):
            dpg.add_table_column(init_width_or_weight=percentage/100.0, parent=self.table_id)
            dpg.set_item_width(uuid, -1)
    
        def submit(self):
            dpg.pop_container_stack() # pop stage
            with dpg.table_row(parent=self.table_id):
                dpg.unstage(self.stage_id)
            
    with dpg.window(label="Tutorial", width=500):
    
        line1 = LayoutHelper()
        line1.add_widget(dpg.add_button(label="25%", tag="b1"), 25.0)
        line1.add_widget(dpg.add_button(label="75%", tag="b2"), 75.0)
        line1.submit()
    
        line2 = LayoutHelper()
        line2.add_widget(dpg.add_button(label="50%", tag="b3"), 50.0)
        line2.add_widget(dpg.add_button(label="50%", tag="b4"), 50.0)
        line2.submit()
    
        line3 = LayoutHelper()
        line3.add_widget(dpg.add_button(label="25%", tag="b5"), 25.0)
        line3.add_widget(dpg.add_button(label="25%", tag="b6"), 25.0)
        line3.add_widget(dpg.add_button(label="50%", tag="b7"), 50.0)
        line3.submit()
    
    # main loop
    dpg.show_viewport()
    while dpg.is_dearpygui_running():
        dpg.render_dearpygui_frame()  
    
    dpg.destroy_context()
    

    image

    Resources

    Reusable Code

    class LayoutHelper:
    
        def __init__(self):
            self.table_id = dpg.add_table(header_row=False, policy=dpg.mvTable_SizingStretchProp)
            self.stage_id = dpg.add_stage()
            dpg.push_container_stack(self.stage_id)
            
        def add_widget(self, uuid, percentage):
            dpg.add_table_column(init_width_or_weight=percentage/100.0, parent=self.table_id)
            dpg.set_item_width(uuid, -1)
    
        def submit(self):
            dpg.pop_container_stack() # pop stage
            with dpg.table_row(parent=self.table_id):
                dpg.unstage(self.stage_id)
    ```</div>
    opened by steve725 1
  • feat: double-click handlers for items

    feat: double-click handlers for items


    name: Pull Request about: Create a pull request to help us improve title: Allow double_click_handler to be bound to items assignees: @hoffstadt


    Closes #1534

    Description: Added a double-click handler for items, modeled after the regular click handler, but with appropriate click flags being pulled from ImGui.

    Concerning Areas: None.

    opened by v-ein 0
  • Synchronization between renderer and handlers doesn't work

    Synchronization between renderer and handlers doesn't work


    name: Pull Request about: Create a pull request to help us improve title: Synchronization between renderer and handlers doesn't work assignees: @hoffstadt


    Description: This fix replaces mvContext::mutex with a recursive_mutex and removes the manualMutexControl variable since it's not needed for a recursive mutex. This allows the handlers thread to properly lock the mutex while making changes to the widgets tree.

    It also adds synchronization to some other code paths where I bumped into a crash or just noticed potential issues.

    Concerning Areas: There might be other areas that still need proper synchronization. I'm especially unsure about different messages in mvHandleMsg(). This should probably be researched in a separate issue and a separate PR, since the current PR does address the main concern of #1985 that manualMutexControl actually prevented mutex locking.

    Another concern is that I didn't try to fix Linux and Mac implementations of mvViewport - I don't have a test system for that.

    opened by v-ein 0
  • Fixing Issue #227

    Fixing Issue #227


    name: Pull Request about: Create a pull request to help us improve title: Adding Possibility to disable the closing button assignees: @hoffstadt


    Closes #227 Description:

    Adding a option to the viewport disable_close to disable the viewport closing button.

    Concerning Areas:

    // Tested on Windows // Tested on Linux

    opened by Mstpyt 0
  • Drag Point Thickness parameter is ignored

    Drag Point Thickness parameter is ignored

    Version of Dear PyGui

    Version: 1.8.0 Operating System: Archlinux

    My Issue/Question

    Modifying the thickness parameter of add_drag_point does not change the thickness of the shown point, it stays the same size.

    To Reproduce

    Steps to reproduce the behavior:

    • Run the example below.
    • See how all points have the same size regardless of the thickness parameter value

    Expected behavior

    A drag point size should change according to the thickness parameter given.

    Screenshots/Video

    image

    Standalone, minimal, complete and verifiable example

    import dearpygui.dearpygui as dpg
    
    dpg.create_context()
    dpg.create_viewport(title='Test', width=1500, height=500)
    
    with dpg.window(label="Annotation", tag="primary"):
        with dpg.plot(label="Image Plot", height=-1, width=-1, equal_aspects=True):
            dpg.add_drag_point(label="green", color=[86, 226, 61, 255], default_value=[0.1, 0.1])
            dpg.add_drag_point(label="red", color=[137, 21, 11, 255], default_value=[0.2, 0.1], thickness=1.0)
            dpg.add_drag_point(label="blue", color=[18, 42, 229, 255], default_value=[0.3, 0.1], thickness=400.0)
    
    dpg.setup_dearpygui()
    dpg.show_viewport()
    dpg.set_primary_window("primary", True)
    dpg.start_dearpygui()
    dpg.destroy_context()
    
    type: bug 
    opened by janepie 0
  • Multicolor draw_rect assigns colors to vertices incorrectly

    Multicolor draw_rect assigns colors to vertices incorrectly

    Version of Dear PyGui

    Version: 1.8.0 Operating System: Windows 10

    My Issue/Question

    When multicolor=True and a set of colors is specified in a draw_rect() call, the colors are assigned to wrong vertices, as if the rect was mirrored both vertically and horizontally (see the screenshot).

    To Reproduce

    Steps to reproduce the behavior:

    1. Run the example below.
    2. See how colors are assigned to the rect corners: color_upper_left to the bottom right corner, color_upper_right to the bottom left corner, etc.

    Expected behavior

    Colors should be assigned to rect corners properly according to their parameter names.

    Screenshots/Video

    image

    Standalone, minimal, complete and verifiable example

    import dearpygui.dearpygui as dpg
    
    dpg.create_context()
    dpg.create_viewport(title="Test", width=500, height=400)
    
    dpg.setup_dearpygui()
    dpg.show_viewport()
    
    with dpg.window(pos=(100, 100), width=300, height=200, no_title_bar=True):
        with dpg.drawlist(width=280, height=180):
            dpg.draw_rectangle(
                    (40, 40), (250, 150), multicolor=True,
                    color_upper_left=(255, 255, 255),
                    color_upper_right=(255, 0, 0),
                    color_bottom_left=(0, 255, 0),
                    color_bottom_right=(0, 0, 255),
                    thickness=5)
    
    dpg.start_dearpygui()
    dpg.destroy_context()
    
    type: bug 
    opened by v-ein 0
Releases(v1.8.0)
  • v1.8.0(Oct 31, 2022)

    News

    We have added Python 3.11 support!

    As many of you already know, we decided a while back to begin work on a custom graphics engine and UI library to build Dear PyGui 2 with instead of Dear ImGui. This is still our long term desire but we have decided... this goal will be for Dear PyGui 3. In order to ease the burden on both ourselves and you guys, we've decided to make Dear PyGui 2 as an intermediate step(or compromise if you will). The idea being that it will have a one-to-one mapping to Dear ImGui, making our work much much easier. This will also make things more stable as there will be less between YOU and Dear ImGui, not to mention keeping up with the latest version will be trivial. We will also split up ImPlot, ImNodes etc. so they can move at the pace of their respective libraries.

    The only thing we will add on will be the ability to "record" your "commands" so that they can be replayed in a similar manner to DPG 1 (helps with python based performance hits).

    The most important consequence of this decision is that Dear PyGui 2.0 will be released much sooner (as in a few months)! Here is the repo!

    Changelog

    Fixes

    • fix: file dialog not respecting bound themes #1928 #1713

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.7.3(Oct 22, 2022)

    Changelog

    Fixes

    • fix: item registry crash when parent is empty #1907
    • fix: plot legend not showing (regression introduced in 1.7.1) #1919
    • fix: win32 viewport on top being "stuck" #1848
    • fix: custom series crashing when deleting #1864
    • docs: several small typos

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(Oct 17, 2022)

    Changelog

    Fixes

    • fix: item registry crash when parent is empty #1907
    • fix: default open not honored for tree nodes and collapsing headers #1893 #1908
    • fix: default open not honored when inside hidden column #1878
    • fix: set_axis_ticks() regression #1855
    • fix: set_axis_limits() regression #1852
    • docs: fixed a few doc strings #1906

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.7(Sep 9, 2022)

    News

    It feels good to be back! As I'm sure the community has noticed, we've been a bit absent over the last 5 months. This has been due to a variety of factors including new jobs, new children, and other big events in our lives. The good news is that we are in a place where we can start back working on open source!

    For information on the long hiatus and the status of Dear PyGui 1 and Dear PyGui 2 go here.

    Changelog

    Fixes

    • fix step_fast argument for input doubles #1787
    • fix a couple mistakes in demo #1779
    • add_2d_histogram_series crash #1761
    • fix +/- buttons for input double with step = 0 #1735

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.6(Apr 26, 2022)

    News

    Following this release, we will be doing a temporary feature freeze while we work on the large backlog of issues, DearPyGui_Ext, performance improvements, documentation, demo improvements, and debug tools!

    Changelog

    Breaking Changes

    • mvNodeStyleVar_NodePaddingHorizontal & mvNodeStyleVar_NodePaddingVertical have been combined into mvNodeStyleVar_NodePadding. See #1732.

    Features

    • Added minimap and minimap_location keywords to add_node_editor(...)
    • custom plot series
      • add_custom_series(...)
      • See Demo -> Plots...Custom...Custom Series...
    • added callback keyword to output_frame_buffer(...) (win32/linux only).
    • added get_platform(...)
    • "double" versions of input, drag, slider widgets for higher precision over current "float" versions

    New General Constants

    • mvNodeMiniMap_Location_BottomLeft
    • mvNodeMiniMap_Location_BottomRight
    • mvNodeMiniMap_Location_TopLeft
    • mvNodeMiniMap_Location_TopRight
    • mvPlatform_Windows
    • mvPlatform_Linux
    • mvPlatform_Apple

    New Theme Constants

    • mvNodesCol_GridLinePrimary
    • mvNodesCol_MiniMapBackground
    • mvNodesCol_MiniMapBackgroundHovered
    • mvNodesCol_MiniMapOutline
    • mvNodesCol_MiniMapOutlineHovered
    • mvNodesCol_MiniMapNodeBackground
    • mvNodesCol_MiniMapNodeBackgroundHovered
    • mvNodesCol_MiniMapNodeBackgroundSelected
    • mvNodesCol_MiniMapNodeOutline
    • mvNodesCol_MiniMapLink
    • mvNodesCol_MiniMapLinkSelected
    • mvNodesCol_MiniMapCanvas
    • mvNodesCol_MiniMapCanvasOutline
    • mvNodesStyleVar_MiniMapPadding
    • mvNodesStyleVar_MiniMapOffset

    Fixes

    • fix draw items using first axis only #1643
    • table crash case #1704
    • fixed several node editor issues #1721
    • fixed get_item_configuration(...) for plot histogram series
    • fixed get_value(...) returning deleted value option for listbox #1640
    • fixed candle series demonstration within the demo

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.5.0...v1.6

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Mar 31, 2022)

    News

    Small release. This will be the last version to support Python 3.6.

    Changelog

    Breaking Changes

    None

    Features

    • added support for hdr, tga, jpg, bmp to save_image(...) #1642
    • added tooltip to table column headers #1656
    • added time_unit keyword to add_candle_series(...)
    • added the following constants for time_unit keyword:
      • mvTimeUnit_Us
      • mvTimeUnit_Ms
      • mvTimeUnit_S
      • mvTimeUnit_Min
      • mvTimeUnit_Hr
      • mvTimeUnit_Mo
      • mvTimeUnit_Yr

    Fixes

    • tooltip "show" parameter #1660

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.4.0...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Mar 2, 2022)

    News

    Mostly a maintenance release but 2 new features have been added related to frame buffer output and saving images. We have primarily been focusing on internal refactoring to make maintenance and 3D engine integration easier. We have also been focusing on performance, although those improvements are not expected to be introduced until 1.5.

    Notes:

    • Expect a raspberry pi release later this week.
    • We will be dropping Python 3.6 support after 1.4.1.
    • Expect a v1.4.1 release later this week (additional image formats for save_image(...) and output_frame_buffer(...) support for MacOS.

    Changelog

    Breaking Changes

    None

    Features

    • added save_image(...) (currently only support png, but 1.4.1 will add support for BMP, TGA, HDR, & JPG)
    • added output_frame_buffer(...) for Windows & Linux (MacOS will be in 1.4.1 released later this week)
    • added additional popup arguments

    Fixes

    • fix (mvTreeNode): indent bleeding #1604
    • fix: get_item_configuration(...) type issue #1591
    • fix: reset plot tick labels issue #1590
    • fix: tree node handlers not registering when closed #1568
    • fix: mvKnobFloat enabled keyword #1563

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.3.1...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Jan 20, 2022)

    Another small release. Contains some windows specific fixes.

    News

    Our M1 Mac comes in today! Expect some M1 wheels this weekend. Also expect some MacOS specific fixes!

    Changelog

    Breaking Changes

    • fix: win32 viewport position. We account for the horizontal shift now. (0, 0) is the top left of the monitor as you'd expect.

    Fixes

    • fix: model window custom theme segfault #1543
    • fix (windows): repaint while resizing for win32 #422
    • fix (nodes): get_item_rect_min(...) and get_item_rect_max(...) #1239
    • fix (tables): all columns no longer need to be added before rows.

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.3...v1.3.1

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.3(Jan 15, 2022)

    Small release but bumping the minor version. Updates on renderer are at the bottom.

    News

    • We are still waiting on an M1 Mac. (arrives next week!)
    • We plan on dropping support for Python 3.6 soon.

    Changelog

    Features

    • added set_clipboard_text(...) #1531
    • added get_clipboard_text(...) #1531
    • added user_data arg to set_resize_callback(...) #1537
    • added user_data arg to set_viewport_resize_callback(...) #1537
    • added user_data arg to set_frame_callback(...) #1537
    • added user_data arg to set_exit_callback(...) #1537
    • added user_data arg to capture_next_item(...) #1537

    Fixes

    • fix a confusion about minor version by @BadSugar in https://github.com/hoffstadt/DearPyGui/pull/1518
    • fix "wrap" not working properly in tables #1532
    • fix drag & drop onto plot

    Renderer Updates

    We have been working on creating a GLTF file importer for the 3D renderer. It is mostly complete. While doing so, we wrote a small renderer (Windows only) to test some of the features. Since we do not plan on just dumping the entire 3D engine into DPG at once but instead in small pieces (as we settle on parts of the API), we are considering starting this by adding a small "asset viewer" like widget early to DPG. It would just allow users to import a GLTF file (other formats to follow) and view the model. Includes PBR, animations, IBL, skinning, morphing, clearcoat, etc. It would be a very high level widget so we can continue working on the engine without changing the API. Video below:

    https://user-images.githubusercontent.com/39973752/149627101-1e43558f-6fd5-4b3a-89ec-e831033297b2.mp4

    New Contributors

    • @BadSugar made their first contribution in https://github.com/hoffstadt/DearPyGui/pull/1518

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Source code(tar.gz)
    Source code(zip)
  • v1.2(Dec 31, 2021)

    Happy New Year! Last release of the year. It may not seem like much but we have still been working on mostly internal optimizations and refactoring to prepare for the 3D renderer and Vulkan backend. With relatively large refactors and insufficient regression tests, there is always a non-zero chance for small regressions. Please check your apps and let us know if there are any regression issues!

    News

    • We ordered an M1 Mac which is expected to arrive between Jan 21-28, so expect the M1 wheels to come late January!
    • Python 3.6 has reached EOL. We will drop support once Python 3.11 is released.
    • Checkout our interview with Talk Python.
    • We plan on starting to add an additional module (dearpygui.im) which is an almost direct immediate mode wrapping to imgui.

    Changelog

    Features

    • feat: exposed callback queue. See this.
      • keyword: added manual_callback_management to dpg.configure_app(...)
      • command: dpg.get_callback_queue(...)
      • command: dpg.run_callbacks(...)
    • keyword: added no_open_over_existing_popup to dpg.add_window(...) #1513

    Fixes

    • fix: width/height ignored by file dialog #1476 and added min/max sizes
    • fix: handler deactivation #1485
    • fix: font atlas recreation, related to #1417
    • fix (mvKnobFloat): Fix extra padding on knob when label field not pre… by @geekbozu
    • fix (mvTableRow): table row not honoring "show" #1502

    New Contributors

    • @geekbozu made their first contribution in https://github.com/hoffstadt/DearPyGui/pull/1501
    • @FredericChang made their first contribution in https://github.com/hoffstadt/DearPyGui/pull/1510

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.1.3...v1.2

    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(Dec 6, 2021)

    Mostly a maintenance release with internal changes however a few bugs have been fixed.

    Changelog

    • fix: finished hooking up theme get_item_configuration(...) #1440 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1441
    • fix: is_table_column_highlight, cell and row #1452 by @Pcothren in https://github.com/hoffstadt/DearPyGui/pull/1454
    • fix: fixed exit callback not having access to dpg commands #1448 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1458
    • fix: alias improper cleanup #1350 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1457
    • fix : table column/row freeze swapped #1467 by @Pcothren

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.1.1...v1.1.3

    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Nov 19, 2021)

    This is just a maintenance release.

    Fixes

    • fix: polygon drawn on plot wrong point conversion #1423 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1424
    • fix: draw_ellipse/draw_polyline broken #1425 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1430
    • fix: dockspace preview theming not working #1429 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1431
    • fix: theme style target categories not working #1220 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1434

    Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.1...v1.1.1

    Source code(tar.gz)
    Source code(zip)
  • v1.1(Nov 12, 2021)

    TL:DR;

    • This is release is mostly for the new drawing transform features.
    • There are several fixes included as well.
    • You can now use dpg.configure_app(wait_for_input=True) to only update/render on user input!
    • The focus over the next few releases will be BUGS, PERFORMANCE, and HIGH DPI SUPPORT.

    Changelog

    Features

    • added wait_for_input keyword to configure_app(...)
    • added draw node item (add_draw_node(...)) (see drawing section in demo)
    • added apply_transform(...) command for draw nodes
    • added perspective_divide keyword to draw_layer(...)
    • added depth_clipping keyword to draw_layer(...)
    • added cull_mode keyword to draw_layer(...)
    • added set_clip_space(...) command for draw layers
    • added get_text_size(...)
    • added create_rotation_matrix(...) command
    • added create_translation_matrix(...) command
    • added create_scale_matrix(...) command
    • added create_lookat_matrix(...) command
    • added create_perspective_matrix(...) command
    • added create_orthographic_matrix(...) command
    • added create_fps_matrix(...) command
    • added built-in mvMat4 type (for now, just used for the above operations)
    • colormaps can now be sampled before startup

    Fixes

    • input float disable not working #1387
    • fixed "default_open" issue with tree nodes #1388
    • plot annotations not obeying show/hide
    • callback not called when input_int goes from 1 to 0 #1398
    • keypress and key release polling issue (#1339)
    • fixed location kwarg arg being ignored (#1347)
    • fix position control not hooked up (#1346)
    • fixed fonts/themes for table
    • fixed issue where clearing and repopulating table caused crash
    • type hints for color type for certain methods #1405
    • global themes for disabled components not working #1401
    • remapped file dialog selected color from mvThemeCol_Header to mvThemeCol_FrameBgActive

    Internal

    • build: removed std::filesystem dependency for unix OS's (#1412)
      • Should fix some linux distro issues
    • build: upgraded implot from v0.11 to v0.12 (#1353)
    • refactor: imgui, implot, imnodes context creation moved to dpg context

    Notes

    3D Operations

    These new features are not a replacement for an actual 3D renderer but they are useful for light 3D operations. The actual 3D renderer will be coming with Dear Py3D. We will also be adding a software renderer to Dear PyGui in the near future. This will also not be a replacement for the hardware accelerated 3D render but will resolve a few of the 3D issues with the drawing API that can't be easily solved without per pixel control. It will also be useful for us for automated testing and as a fallback renderer for machines that don't support the graphics APIs we use. Small sandbox can be found here. We will be adding several helpers to DearPyGui_ext (i.e. cameras).

    mvMat4 type

    We added the mvMat4 (and mvVec4) types to work with the create_*_matrix(...) commands and apply_transform(...). We will continue to make these more complete matrix and vector types for general purpose use but the initial focus was for the basic 3D operation use cases. We did not want to use python lists (too slow) and we did not want to added a dependency (numpy). We will continue to improve the performance of these new types as well (SIMD support).

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Oct 16, 2021)

    TL:DR;

    • This is a maintenance release with a handful of fixes.
    • Raspberry Pi 4 (python 3.7) is now supported.

    Version 1.0 availability as of now:

    | Platform | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 | |-----------|-------------|-------------|-------------|-------------|--------------| | Windows 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | macOS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Raspberry Pi 4 | | ✔️ | | | |

    Changelog

    Fixes

    • fix (mvItemRegistry): color map render order to fix #1335
    • fix (themes): fixed enabled/disabled theme setting issues
    • fix (mvTable): fixed tooltips not working in table #1255
    • fix (mvCollapsingHeader): fixed default_open #1327
    • fix (mvNodeLink): fixed node link theme bleeding #1269
    • fix (mvItemRegistry): temp. fix for delayed search not cleaning up
    • fix: fixed themes not binding to node attributes #1320 (#1329)
    • fixed show_item_registry() not rendering widgets #1321

    misc

    • removed unused keywords from a few items
    • reduced Linux wheel sizes from 80mb to ~3mb (thanks mindv0rtex)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Oct 13, 2021)

    News

    Well folks, this has been a long 17 months but we are finally here. Please at a minimum read the changelog and checkout the Gallery at the end of this release! Also checkout the Founding Sponsors and Retiring Tiers Announcement. You have until the end of day October 14th to be included! If you should be included but were not, please let us know (check the about menu).

    image

    Version 1.0 availability as of now:

    | Platform | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 | |-----------|-------------|-------------|-------------|-------------|--------------| | Windows 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | macOS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

    Raspberry Pi 4 will be available in a few days.

    What to expect?

    API & 0.8 Migration

    The API is slightly more explicit, but migration effort should be minimal.

    Deprecation

    We will no longer break your code! We will use deprecation moving forward.

    What can we break/change going forward?

    1. Things in the experimental module.
    2. Debug tools.

    Bugs

    Although this release should have the least number of bugs to date, there may be a few regression bugs as many of the underlying systems have been refactored entirely since 0.8 and we do not yet have meaningful regression tests setup. The primary focus for this release was stabilizing the API which we have now done. The current issues need to be reevaluated for this release.

    Maintenance Releases

    There will most likely be frequent maintenance releases over the next weeks.

    Documentation & Tutorials

    The docs are being worked on everyday and will continue to be worked on and expanded. There are a few edge features and details that have not been fully documented. We will also be starting back the YouTube tutorial series!

    Previous Versions

    We will maintain v0.6.415 and v0.8.64. If you have another version as part of a project's requirements, update or vendor the wheel because we will be removing the rest of the wheels to free space for pypi.

    Future

    1.0 is just the beginning. There is still a lot of work to be done and a lot of exciting stuff coming down the pipeline. We will have to be more careful moving forward but that will not stop the momentum!

    Integration

    We plan on looking at integration with other libraries (i.e. pygame). Not to mention the 3D engine we are working on.

    Platforms

    We still want to bring in mobile (and maybe web eventually).

    Contributors

    We are continuing to cleanup and document the backend to facilitate a more contributor-friendly codebase. As you all know, the wiki is now going to be the contributor documentation.

    Change Log

    Breaking Changes

    • user must create Dear_PyGui context with create_context() before calling any DPG commands
    • changed dragPayload drag_data is submitted to the targets drag_callback rather than drop_callback
    • moved logger and themes to DearPyGui_Ext
    • table rows now required
    • removed bind_item_disabled_theme(...)
    • removed bind_item_type_disabled_theme(...)
    • removed bind_item_type_theme(...)
    • user must create, setup, show viewport before starting dpg:
      • "create_viewport()->setup_dearpygui()->show_viewport()->start_dearpygui()"
    • add_theme_color(...) and add_theme_style(...) must known belong to a theme_component

    New

    • module: added experimental (not in use yet)
    • item: added add_table_cell(...)
    • item: added add_spacer(...)
    • item: added add_theme_component(...)
    • command: added get_major_version(...)
    • command: added get_minor_version(...)
    • command: added toggle_viewport_fullscreen(...)
    • command: added show_item_debug(...)
    • command: added bind_theme(...)
    • command: added highlight_table_column(...)
    • command: added unhighlight_table_column(...)
    • command: added set_table_row_color(...)
    • command: added unset_table_row_color(...)
    • command: added highlight_table_cell(...)
    • command: added unhighlight_table_cell(...)
    • command: added highlight_table_row(...)
    • command: added unhighlight_table_row(...)
    • command: added is_table_column_highlighted(...)
    • command: added is_table_row_highlighted(...)
    • command: added is_table_cell_highlighted(...)
    • command: added context manager for add_plot_axis(...)
    • command: added configure_app(...)
    • command: added get_app_configuration(...)
    • command: added add_item_set(...)
    • command: added add_template_registry(...)
    • command: added bind_template_registry(...)
    • keyword: added drag_callback, drop_callback, payload_type to add_image(...)
    • keyword: added drag_callback, drop_callback, payload_type to add_text(...)
    • keyword: added drop_data to drag_payload(...)
    • keyword: added xoffset to group(...)
    • keyword: added id to popup(...)
    • keyword: added clipper to add_table(...)
    • added deprecation system
    • callbacks will now send alias through the sender argument if alias is used.
    • columns can now be programmatically hidden
    • table "value" is now a string, which acts as a filter using the row filter keys
    • texture id can be updated with configure_item(...) for texture based widgets

    Deprecated

    • item: removed table_next_column
    • removed viewport keyword arg from setup_dearpygui(...)
    • removed viewport keyword arg from show_viewport(...)
    • keyword: removed drag_callback from add_menu_item(...)
    • keyword: removed drag_callback from add_colormap_scale(...)
    • keyword: removed drag_callback from add_colormap_slider(...)
    • keyword: removed default_font keyword arg from add_font(...), use bind_font(...) now
    • keyword: removed default_theme keyword arg from add_theme(...), use bind_theme(...) now
    • keyword: renamed id keyword to tag
    • command: cleanup_dearpygui(...) is deprecated. Use destroy_context(...)
    • command: staging_container(...) is deprecated. Use stage(...)
    • command: enable_docking(...) is deprecated. Use configure_app(docking=True, docking_space=dock_space)
    • command: get_dearpygui_version() is deprecated. Use get_app_configuration()['version'].
    • command: init_file(...) is deprecated. Use configure_app(init_file=file).
    • command: load_init_file is deprecated. Use configure_app(init_file=file, load_init_file=True).
    • command: is_viewport_created(...) is deprecated. Use is_viewport_ok().
    • command: setup_viewport(...) is deprecated. Use create_viewport()->setup_dearpygui()->show_viewport().
    • command: set_item_theme(...) is deprecated. Use bind_item_theme().
    • command: set_item_type_disabled_theme(...) is deprecated. Use bind_item_type_disabled_theme().
    • command: set_item_theme(...) is deprecated. Use bind_item_theme().
    • command: set_item_type_theme(...) is deprecated. Use bind_item_type_theme().
    • command: set_item_font(...) is deprecated. Use bind_item_font().
    • command: add_activated_handler(...) is deprecated. Use add_activated_handler().
    • command: add_active_handler(...) is deprecated. Use add_item_active_handler().
    • command: add_clicked_handler(...) is deprecated. Use add_item_clicked_handler().
    • command: add_deactivated_after_edit_handler(...) is deprecated. Use add_item_deactivated_after_edit_handler().
    • command: add_deactivated_handler(...) is deprecated. Use add_item_deactivated_handler().
    • command: add_edited_handler(...) is deprecated. Use add_item_edited_handler().
    • command: add_focus_handler(...) is deprecated. Use add_item_focus_handler().
    • command: add_hover_handler(...) is deprecated. Use add_item_hover_handler().
    • command: add_resize_handler(...) is deprecated. Use add_item_resize_handler().
    • command: add_toggled_open_handler(...) is deprecated. Use add_item_toggled_open_handler().
    • command: add_visible_handler(...) is deprecated. Use add_item_visible_handler().
    • command: set_colormap(...) is deprecated. Use bind_colormap().
    • command: reset_default_theme(...) is deprecated. Use bind_theme(mvAll).
    • command: set_staging_mode(...) is deprecated. No longer needed.
    • command: add_spacing(...) is deprecated. Use 'add_spacer(...)`
    • command: add_dummy(...) is deprecated. Use 'add_spacer(...)`
    • command: add_child(...) is deprecated. Use 'add_child_window(...)`
    • command: add_same_line(...) is deprecated. Use add_group(horizontal=True)

    Fixes

    • fixed get_item_configuration(...) memory leak #1179
    • fixed issue to allow source to be alias #1181
    • fixed window info not registering as container #1188
    • fixed min/max clamping issue with input widgets #1229
    • fixed using aliases for set/get value
    • fixed issue with get_selected_nodes(...) #1263
    • fixed listbox default value empty #1219
    • fixed ellipse thickness keyword not working #1213
    • fixed return type hints for callbacks #1208
    • fixed modal xpos creep #1171
    • fixed plot context/configuration sync issues
    • fixed plot axis context/configuration sync issues
    • fixed plot legend context/configuration sync issues
    • fixed toggled_open_handler triggering for closed #1280

    Thank you!

    Dear PyGui development is currently funded by a handful of gracious sponsors and we would like to thank them tremendously. We wouldn't be here with out you guys.

    Thank you for supporting us.

    If you or your company uses Dear PyGui, please consider supporting us! We need it now more than ever.

    Gallery

    image

    image

    image

    image

    image

    image

    image

    https://user-images.githubusercontent.com/39973752/137012413-cb9af94d-d1e0-49b2-ad59-e56f7b25b962.mp4

    https://user-images.githubusercontent.com/39973752/137012538-597e48c2-5250-49d7-a019-29fcdf358fab.mp4

    Source code(tar.gz)
    Source code(zip)
  • v0.8.62(Aug 12, 2021)

    News

    • You can now use a string in place of an ID (similar to 0.6)! See here. This is optional but prevents users from needing to manage the UUID's manually!
    • We are sticking with the names Dear PyGui and Dear Py3D!

    Breaking Changes

    • pmin & pmax were backwards in draw_rectangle(...). You need to reverse them. Related to #1163
    • add_colormap_scale(...) keyword colormap now corresponds to mvColorMap widget

    New

    • feature: id can now be a string, but must be unique!
    • command: added get_item_alias(...)
    • command: added set_item_alias(...)
    • command: added add_alias(...)
    • command: added remove_alias(...)
    • command: added does_alias_exist(...)
    • command: added get_alias_id(...)
    • command: added get_aliases(...)
    • command: added get_item_registry_configuration(...)
    • command: added configure_item_registry(...)
    • widget: added add_colormap(...) #1069
    • widget: added add_colormap_registry(...) #1069
    • widget: added add_colormap_button(...)
    • widget: added add_colormap_slider(...)
    • command: added sample_colormap(...)
    • command: added get_colormap_color(...)
    • keyword: added mulicolor to draw_rectangle(...)
    • keyword: added color_upper_left to draw_rectangle(...)
    • keyword: added color_upper_right to draw_rectangle(...)
    • keyword: added color_bottom_left to draw_rectangle(...)
    • keyword: added color_bottom_right to draw_rectangle(...)
    • constant: added mvPlotColormap_Twilight
    • constant: added mvPlotColormap_RdBu
    • constant: added mvPlotColormap_BrBG
    • constant: added mvPlotColormap_PiYG
    • constant: added mvPlotColormap_Spectral
    • constant: added mvPlotColormap_Greys
    • set_value(...) now works for theme_color #1136
    • set_value(...) now works for theme_style #1136
    • added use_internal_label keyword to all widgets, related to #1135

    Fixes

    • fixed setting default theme values
    • fixed infinite on_close callbackss #1149
    • fixed get_item_configuration(...) for window max_size
    • fixed histogram misspelling issue related to #1132
    • fixed adding font ranges over 0x10000 #1092
    • fixed viewport issue for windows #1126

    Other

    • added colormap section to demo under "widgets"
    • simplied drawing API demo
    Source code(tar.gz)
    Source code(zip)
  • v0.6.415(Apr 19, 2021)

    News

    With version 0.7 just a few weeks away, we expect this to be the last 0.6 release. We will begin focusing solely on 0.7.

    Version 0.7 will contain the final breaking changes and once all the obvious bugs and issues are addressed, it will be tagged 1.0! Be aware that 0.7 will contain the largest amount of updates, features, and breaking changes of any release thus far (and by far), however we believe once users begin to work with the improvements, they will agree it is for the best.

    You will also notice @Pcothren and I have been less active in the discord server and github discussions but this is due solely to our focus being on 0.7's release.

    In the following weeks, you will see the wiki beginning to split between 0.6/0.7 sections. We will also begin posting a running change log on the wiki so users can prepare for the upcoming changes.

    If you have questions about any of the changes, please contact us.

    Updates

    • vcruntime140_1.dll: now included, addressing #563 and others
    • tab_bar: "set_value" can now programmatically set the active tab #729

    Fixes

    • add_series: fixed axis 1 not being reset when plotting to different axes #744
    • add_input_*: fixed multiple ran callback when using min/max values
    • nodes: memory bad read/write related to deleting nodes
    • add_input_int3 | add_input_float3 callback isn't working anymore #800
    • fixed mac cpu unbound usage when window is covered
    • Setting add_label_text color causes label text to change showing the hidden label name #803
    • Adding textures at runtime did not work for linux #687
    • Texture updates on MacOS cause crash #743
    Source code(tar.gz)
    Source code(zip)
  • v0.5.66(Nov 6, 2020)

    Changes

    • Data Storage: now thread safe
    • set_value: now thread safe
    • get_value: now thread safe

    New Commands

    • Tab Button: Added add_tab_button command

    New Keywords

    • tab: Added no_reorder keyword
    • tab: Added leading keyword
    • tab: Added trailing keyword
    • tab: Added no_tooltip keyword

    Fixes

    • tabbar: fixed tabbar callback
    • drawing: fixed "originy" issue #309
    • table: fixed spacing issue #297
    Source code(tar.gz)
    Source code(zip)
  • v0.3.7(Sep 15, 2020)


    VERSION 0.3.7 (9/14/2020)

    Updates:

    • ImPlot: upgraded to commit 4f0a09f

    New Commands:

    • Widgets: Added add_image_button command
    • Plots: Added add_pie_chart command
    • Plots: Added add_pie_chart_data command
    • Plots: Added clear_pie_chart_data command
    • Plots: Added add_stem_series command

    Fixes:

    • Threadpool: Fixed issue with threads freezing
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Sep 5, 2020)


    VERSION 0.2.0 (9/5/2020)

    New Features:

    • Context Managers: You can now import dearpygui.wrappers to use context manager versions of all containers

    Changes:

    • Widgets: All "add_widget" commands now return true on successful adding or false.

    Breaking Changes:

    • Container Widgets: Replaced all end_* commands with a single end() command
    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Sep 4, 2020)

Dear PyGui Extensions is a collection of useful tools, abstractions, and simplification layers built with/for Dear PyGui users.

Dear PyGui Extensions: A collection of useful tools, abstractions, and simplification layers built with/for Dear PyGui users.

Jonathan Hoffstadt 34 Jan 1, 2023
Python code examples on how to create several applications using Dear PyGui.

Python code examples on how to create several applications using Dear PyGui. Includes building and editing a table, as well as visualizing sorting algorithms in a plot.

Alexander H. 7 Sep 15, 2022
A graphical user interface calendar with python

GUI-Calendar A graphical user interface calendar with python In this project I used tkinter module If you dont have tkinter module you can install it

Arone Sadegh 1 Dec 18, 2021
Py address book gui - An address book with graphical user interface developed with Python Tkinter

py_address_book_gui An address book with graphical user interface developed with

Milton 4 Feb 1, 2022
Dress up your code with a beautiful graphical user interface !

Dresscode Dress up your code with a beautiful graphical user interface ! This project is part of the Pyrustic Ecosystem. Look powered by the cyberpunk

null 20 Aug 24, 2022
Advanced Zola Cabs integrated with tkinter Graphical User Interface (GUI) made for ZOHO Corp .

ZolaCabs Advanced Zola Cabs integrated with tkinter Graphical User Interface (GUI) made for ZOHO Corp. < Logs > username : zoho password : zoho [ Deve

Mastermind 9 Nov 18, 2021
Custom GUI for your Blender add-ons using Dear ImGui

Dear Imgui for Blender Use the infamous Dear ImGui library directly in your Blender scripts! This means custom GUI drawing in your operators: Normally

Elie Michel 83 Dec 25, 2022
FPKG Maker GUI - A user friendly User Interface for fPKG Tools for PS4

Know Issues being worked on Please place this application on the root of a drive

null 26 Nov 27, 2022
Rich.tui is a TUI (Text User Interface) framework for Python using Rich as a renderer.

rich.tui Rich.tui is a TUI (Text User Interface) framework for Python using Rich as a renderer. The end goal is to be able to rapidly create rich term

Will McGugan 17.1k Jan 4, 2023
Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

Will McGugan 17.1k Jan 8, 2023
Kivy is an open source Python framework for creating cross-platform multi-touch mobile applications with Natural User Interface.

Kivy is an open source Python framework for creating cross-platform multi-touch mobile applications with Natural User Interface.

Grace Ugochi Nneji 3 Feb 15, 2022
A simple yet powerful TUI framework for your Python (3.7+) applications

A simple yet powerful TUI framework for your Python (3.7+) applications

null 1.4k Jan 4, 2023
A simple, yet powerful web GUI to manage your Wireguard server, powered by Flask.

Linguard Linguard aims to provide a clean, simple yet powerful web GUI to manage your WireGuard server, and it's powered by Flask. Read the docs for f

Jose Antonio Mazón San Bartolomé 111 Jan 7, 2023
A Python native, OS native GUI toolkit.

Toga A Python native, OS native GUI toolkit. Prerequisites Minimum requirements Toga requires Python 3. Python 2 is not supported. If you're on macOS,

BeeWare 3.3k Dec 31, 2022
A Python native, OS native GUI toolkit.

Toga A Python native, OS native GUI toolkit. Prerequisites Minimum requirements Toga requires Python 3. Python 2 is not supported. If you're on macOS,

BeeWare 3.3k Jan 2, 2023
Primeira interface (simples) desenvolvida em Python utilizando o PySimpleGUI

Interface-Python Sobre o projeto Primeira interface gráfica (simples) desenvolvida em Python utilizando o PySimpleGUI Interface Gráfica Tecnologias ut

Matheus Maia Alvarez 5 Apr 9, 2022
Projeto de mini-games de azar com interface gráfica utilizando Python e PySimpleGui.

Gambling Mini jogos de azar unidos em uma mesma interface gráfica, utilizando a linguagem de programação Python em conjunto com a biblioteca de interf

Clayton Garcia da Silva 3 Nov 19, 2021
This was my test project when i started to learn Python Tkinter. Its the simplest interface possible.

Rock-Paper-Scissors-Game- Project Description: This was my test project when i started to learn Python Tkinter. Its the simplest interface possible. R

Hassan Shahzad 2 Jan 17, 2022
Declarative User Interfaces for Python

Welcome to Enaml Enaml is a programming language and framework for creating professional-quality user interfaces with minimal effort. What you get A d

null 1.4k Jan 7, 2023