Releases: hoffstadt/DearPyGui
Version 1.5.1
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 toadd_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: v1.4.0...v1.5.0
Version 1.4.0
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(...)
andoutput_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: v1.3.1...v1.4.0
Version 1.3.1
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(...)
andget_item_rect_max(...)
#1239 - fix (tables): all columns no longer need to be added before rows.
Full Changelog: 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.
Version 1.3
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 toset_resize_callback(...)
#1537 - added
user_data
arg toset_viewport_resize_callback(...)
#1537 - added
user_data
arg toset_frame_callback(...)
#1537 - added
user_data
arg toset_exit_callback(...)
#1537 - added
user_data
arg tocapture_next_item(...)
#1537
Fixes
- fix a confusion about minor version by @BadSugar in #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:
mvImporter.Sandbox.2022-01-15.09-19-10.mp4
New Contributors
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.
Version 1.2
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
todpg.configure_app(...)
- command:
dpg.get_callback_queue(...)
- command:
dpg.run_callbacks(...)
- keyword: added
- keyword: added
no_open_over_existing_popup
todpg.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 #1501
- @FredericChang made their first contribution in #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: v1.1.3...v1.2
Version 1.1.3
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 #1441 - fix: is_table_column_highlight, cell and row #1452 by @Pcothren in #1454
- fix: fixed exit callback not having access to dpg commands #1448 by @hoffstadt in #1458
- fix: alias improper cleanup #1350 by @hoffstadt in #1457
- fix : table column/row freeze swapped #1467 by @Pcothren
Full Changelog: v1.1.1...v1.1.3
Version 1.1.1
This is just a maintenance release.
Fixes
- fix: polygon drawn on plot wrong point conversion #1423 by @hoffstadt in #1424
- fix: draw_ellipse/draw_polyline broken #1425 by @hoffstadt in #1430
- fix: dockspace preview theming not working #1429 by @hoffstadt in #1431
- fix: theme style target categories not working #1220 by @hoffstadt in #1434
Full Changelog: v1.1...v1.1.1
Version 1.1
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).
Version 1.0.2
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)
Version 1.0.0
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).
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?
- Things in the experimental module.
- 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 targetsdrag_callback
rather thandrop_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(...)
andadd_theme_style(...)
must known belong to atheme_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
toadd_image(...)
- keyword: added
drag_callback
,drop_callback
,payload_type
toadd_text(...)
- keyword: added
drop_data
todrag_payload(...)
- keyword: added
xoffset
togroup(...)
- keyword: added
id
topopup(...)
- keyword: added
clipper
toadd_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 fromsetup_dearpygui(...)
- removed
viewport
keyword arg fromshow_viewport(...)
- keyword: removed
drag_callback
fromadd_menu_item(...)
- keyword: removed
drag_callback
fromadd_colormap_scale(...)
- keyword: removed
drag_callback
fromadd_colormap_slider(...)
- keyword: removed
default_font
keyword arg fromadd_font(...)
, usebind_font(...)
now - keyword: removed
default_theme
keyword arg fromadd_theme(...)
, usebind_theme(...)
now - keyword: renamed
id
keyword totag
- command:
cleanup_dearpygui(...)
is deprecated. Usedestroy_context(...)
- command:
staging_container(...)
is deprecated. Usestage(...)
- command:
enable_docking(...)
is deprecated. Useconfigure_app(docking=True, docking_space=dock_space)
- command:
get_dearpygui_version()
is deprecated. Useget_app_configuration()['version']
. - command:
init_file(...)
is deprecated. Useconfigure_app(init_file=file)
. - command:
load_init_file
is deprecated. Useconfigure_app(init_file=file, load_init_file=True)
. - command:
is_viewport_created(...)
is deprecated. Useis_viewport_ok()
. - command:
setup_viewport(...)
is deprecated. Usecreate_viewport()->setup_dearpygui()->show_viewport()
. - command:
set_item_theme(...)
is deprecated. Usebind_item_theme()
. - command:
set_item_type_disabled_theme(...)
is deprecated. Usebind_item_type_disabled_theme()
. - command:
set_item_theme(...)
is deprecated. Usebind_item_theme()
. - command:
set_item_type_theme(...)
is deprecated. Usebind_item_type_theme()
. - command:
set_item_font(...)
is deprecated. Usebind_item_font()
. - command:
add_activated_handler(...)
is deprecated. Useadd_activated_handler()
. - command:
add_active_handler(...)
is deprecated. Useadd_item_active_handler()
. - command:
add_clicked_handler(...)
is deprecated. Useadd_item_clicked_handler()
. - command:
add_deactivated_after_edit_handler(...)
is deprecated. Useadd_item_deactivated_after_edit_handler()
. - command:
add_deactivated_handler(...)
is deprecated. Useadd_item_deactivated_handler()
. - command:
add_edited_handler(...)
is deprecated. Useadd_item_edited_handler()
. - command:
add_focus_handler(...)
is deprecated. Useadd_item_focus_handler()
. - command:
add_hover_handler(...)
is deprecated. Useadd_item_hover_handler()
. - command:
add_resize_handler(...)
is deprecated. Useadd_item_resize_handler()
. - command:
add_toggled_open_handler(...)
is deprecated. Useadd_item_toggled_open_handler()
. - command:
add_visible_handler(...)
is deprecated. Useadd_item_visible_handler()
. - command:
set_colormap(...)
is deprecated. Usebind_colormap()
. - command:
reset_default_theme(...)
is deprecated. Usebind_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. Useadd_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](https://user-images.githubusercontent.com/39973752/1370126...