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.