Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
MIT License
Bot releases are hidden (Show)
Nothing really new to report. We are still actively working towards "Dear PyGui 2". The current working name is Pilot Light UI!
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.9.1...v1.10.0
Published by hoffstadt over 1 year ago
Just a small maintenance release. Things may seem quiet but don't worry! We are still here. We are just spending most of our effort focusing on Pilot Light which will be the powering Dear PyGui 2.
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.9.0...v1.9.1
Published by hoffstadt over 1 year ago
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.8.0...v1.9.0
Published by hoffstadt almost 2 years ago
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!
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.
Published by hoffstadt almost 2 years ago
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.
Published by hoffstadt about 2 years ago
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.
Published by hoffstadt about 2 years ago
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.
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.
Published by hoffstadt over 2 years ago
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!
minimap
and minimap_location
keywords to add_node_editor(...)
add_custom_series(...)
callback
keyword to output_frame_buffer(...)
(win32/linux only).get_platform(...)
get_item_configuration(...)
for plot histogram seriesget_value(...)
returning deleted value option for listbox #1640Dear 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
Published by hoffstadt over 2 years ago
Small release. This will be the last version to support Python 3.6.
None
save_image(...)
#1642time_unit
keyword to add_candle_series(...)
time_unit
keyword:
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
Published by hoffstadt over 2 years ago
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:
save_image(...)
and output_frame_buffer(...)
support for MacOS.None
save_image(...)
(currently only support png, but 1.4.1 will add support for BMP, TGA, HDR, & JPG)output_frame_buffer(...)
for Windows & Linux (MacOS will be in 1.4.1 released later this week)get_item_configuration(...)
type issue #1591Dear 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
Published by hoffstadt over 2 years ago
Another small release. Contains some windows specific fixes.
Our M1 Mac comes in today! Expect some M1 wheels this weekend. Also expect some MacOS specific fixes!
get_item_rect_min(...)
and get_item_rect_max(...)
#1239Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.3...v1.3.1
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.
Published by hoffstadt almost 3 years ago
Small release but bumping the minor version. Updates on renderer are at the bottom.
set_clipboard_text(...)
#1531get_clipboard_text(...)
#1531user_data
arg to set_resize_callback(...)
#1537user_data
arg to set_viewport_resize_callback(...)
#1537user_data
arg to set_frame_callback(...)
#1537user_data
arg to set_exit_callback(...)
#1537user_data
arg to capture_next_item(...)
#1537We 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:
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.
Published by hoffstadt almost 3 years ago
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!
manual_callback_management
to dpg.configure_app(...)
dpg.get_callback_queue(...)
dpg.run_callbacks(...)
no_open_over_existing_popup
to dpg.add_window(...)
#1513Dear 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
Published by hoffstadt almost 3 years ago
Mostly a maintenance release with internal changes however a few bugs have been fixed.
get_item_configuration(...)
#1440 by @hoffstadt in https://github.com/hoffstadt/DearPyGui/pull/1441
Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.1.1...v1.1.3
Published by hoffstadt almost 3 years ago
This is just a maintenance release.
Full Changelog: https://github.com/hoffstadt/DearPyGui/compare/v1.1...v1.1.1
Published by hoffstadt almost 3 years ago
dpg.configure_app(wait_for_input=True)
to only update/render on user input!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).
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).
Published by hoffstadt about 3 years ago
Platform | Python 3.6 | Python 3.7 | Python 3.8 | Python 3.9 | Python 3.10 |
---|---|---|---|---|---|
Windows 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Raspberry Pi 4 | ✔️ |
show_item_registry()
not rendering widgets #1321Published by hoffstadt about 3 years ago
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).
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.
The API is slightly more explicit, but migration effort should be minimal.
We will no longer break your code! We will use deprecation moving forward.
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.
There will most likely be frequent maintenance releases over the next weeks.
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!
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.
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!
We plan on looking at integration with other libraries (i.e. pygame). Not to mention the 3D engine we are working on.
We still want to bring in mobile (and maybe web eventually).
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.
create_context()
before calling any DPG commandsdrag_data
is submitted to the targets drag_callback
rather than drop_callback
bind_item_disabled_theme(...)
bind_item_type_disabled_theme(...)
bind_item_type_theme(...)
add_theme_color(...)
and add_theme_style(...)
must known belong to a theme_component
experimental
(not in use yet)add_table_cell(...)
add_spacer(...)
add_theme_component(...)
get_major_version(...)
get_minor_version(...)
toggle_viewport_fullscreen(...)
show_item_debug(...)
bind_theme(...)
highlight_table_column(...)
unhighlight_table_column(...)
set_table_row_color(...)
unset_table_row_color(...)
highlight_table_cell(...)
unhighlight_table_cell(...)
highlight_table_row(...)
unhighlight_table_row(...)
is_table_column_highlighted(...)
is_table_row_highlighted(...)
is_table_cell_highlighted(...)
add_plot_axis(...)
configure_app(...)
get_app_configuration(...)
add_item_set(...)
add_template_registry(...)
bind_template_registry(...)
drag_callback
, drop_callback
, payload_type
to add_image(...)
drag_callback
, drop_callback
, payload_type
to add_text(...)
drop_data
to drag_payload(...)
xoffset
to group(...)
id
to popup(...)
clipper
to add_table(...)
sender
argument if alias is used.configure_item(...)
for texture based widgetsviewport
keyword arg from setup_dearpygui(...)
viewport
keyword arg from show_viewport(...)
drag_callback
from add_menu_item(...)
drag_callback
from add_colormap_scale(...)
drag_callback
from add_colormap_slider(...)
default_font
keyword arg from add_font(...)
, use bind_font(...)
nowdefault_theme
keyword arg from add_theme(...)
, use bind_theme(...)
nowid
keyword to tag
cleanup_dearpygui(...)
is deprecated. Use destroy_context(...)
staging_container(...)
is deprecated. Use stage(...)
enable_docking(...)
is deprecated. Use configure_app(docking=True, docking_space=dock_space)
get_dearpygui_version()
is deprecated. Use get_app_configuration()['version']
.init_file(...)
is deprecated. Use configure_app(init_file=file)
.load_init_file
is deprecated. Use configure_app(init_file=file, load_init_file=True)
.is_viewport_created(...)
is deprecated. Use is_viewport_ok()
.setup_viewport(...)
is deprecated. Use create_viewport()->setup_dearpygui()->show_viewport()
.set_item_theme(...)
is deprecated. Use bind_item_theme()
.set_item_type_disabled_theme(...)
is deprecated. Use bind_item_type_disabled_theme()
.set_item_theme(...)
is deprecated. Use bind_item_theme()
.set_item_type_theme(...)
is deprecated. Use bind_item_type_theme()
.set_item_font(...)
is deprecated. Use bind_item_font()
.add_activated_handler(...)
is deprecated. Use add_activated_handler()
.add_active_handler(...)
is deprecated. Use add_item_active_handler()
.add_clicked_handler(...)
is deprecated. Use add_item_clicked_handler()
.add_deactivated_after_edit_handler(...)
is deprecated. Use add_item_deactivated_after_edit_handler()
.add_deactivated_handler(...)
is deprecated. Use add_item_deactivated_handler()
.add_edited_handler(...)
is deprecated. Use add_item_edited_handler()
.add_focus_handler(...)
is deprecated. Use add_item_focus_handler()
.add_hover_handler(...)
is deprecated. Use add_item_hover_handler()
.add_resize_handler(...)
is deprecated. Use add_item_resize_handler()
.add_toggled_open_handler(...)
is deprecated. Use add_item_toggled_open_handler()
.add_visible_handler(...)
is deprecated. Use add_item_visible_handler()
.set_colormap(...)
is deprecated. Use bind_colormap()
.reset_default_theme(...)
is deprecated. Use bind_theme(mvAll)
.set_staging_mode(...)
is deprecated. No longer needed.add_spacing(...)
is deprecated. Use 'add_spacer(...)`add_dummy(...)
is deprecated. Use 'add_spacer(...)`add_child(...)
is deprecated. Use 'add_child_window(...)`add_same_line(...)
is deprecated. Use add_group(horizontal=True)
get_item_configuration(...)
memory leak #1179source
to be alias #1181get_selected_nodes(...)
#1263Dear 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.
Published by hoffstadt about 3 years ago
pmin
& pmax
were backwards in draw_rectangle(...)
. You need to reverse them. Related to #1163add_colormap_scale(...)
keyword colormap
now corresponds to mvColorMap
widgetget_item_alias(...)
set_item_alias(...)
add_alias(...)
remove_alias(...)
does_alias_exist(...)
get_alias_id(...)
get_aliases(...)
get_item_registry_configuration(...)
configure_item_registry(...)
add_colormap(...)
#1069add_colormap_registry(...)
#1069add_colormap_button(...)
add_colormap_slider(...)
sample_colormap(...)
get_colormap_color(...)
mulicolor
to draw_rectangle(...)
color_upper_left
to draw_rectangle(...)
color_upper_right
to draw_rectangle(...)
color_bottom_left
to draw_rectangle(...)
color_bottom_right
to draw_rectangle(...)
mvPlotColormap_Twilight
mvPlotColormap_RdBu
mvPlotColormap_BrBG
mvPlotColormap_PiYG
mvPlotColormap_Spectral
mvPlotColormap_Greys
set_value(...)
now works for theme_color #1136set_value(...)
now works for theme_style #1136use_internal_label
keyword to all widgets, related to #1135get_item_configuration(...)
for window max_sizePublished by hoffstadt over 3 years ago
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.