bec-widgets 0.73.1__tar.gz → 0.73.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/CHANGELOG.md +10 -12
  2. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/PKG-INFO +1 -1
  3. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/client_utils.py +1 -4
  4. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/server.py +5 -1
  5. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/vscode/vscode.py +8 -1
  6. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/pyproject.toml +1 -1
  7. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_vscode_widget.py +23 -6
  8. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.git_hooks/pre-commit +0 -0
  9. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitignore +0 -0
  10. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitlab/issue_templates/bug_report_template.md +0 -0
  11. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  12. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitlab/issue_templates/feature_request_template.md +0 -0
  13. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitlab/merge_request_templates/default.md +0 -0
  14. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.gitlab-ci.yml +0 -0
  15. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.pylintrc +0 -0
  16. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/.readthedocs.yaml +0 -0
  17. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/LICENSE +0 -0
  18. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/README.md +0 -0
  19. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/__init__.py +0 -0
  20. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/assets/bec_widgets_icon.png +0 -0
  21. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/assets/terminal_icon.png +0 -0
  22. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/__init__.py +0 -0
  23. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/auto_updates.py +0 -0
  24. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/client.py +0 -0
  25. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/generate_cli.py +0 -0
  26. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/rpc_register.py +0 -0
  27. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/cli/rpc_wigdet_handler.py +0 -0
  28. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/__init__.py +0 -0
  29. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  30. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  31. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/jupyter_console/jupyter_console_window.ui +0 -0
  32. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/motor_movement/__init__.py +0 -0
  33. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/motor_movement/motor_control_compilations.py +0 -0
  34. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/motor_movement/motor_controller.ui +0 -0
  35. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/__init__.py +0 -0
  36. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/main.py +0 -0
  37. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/registertictactoe.py +0 -0
  38. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/taskmenuextension.pyproject +0 -0
  39. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/tictactoe.py +0 -0
  40. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/tictactoeplugin.py +0 -0
  41. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/examples/plugin_example_pyside/tictactoetaskmenu.py +0 -0
  42. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/__init__.py +0 -0
  43. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/bec_connector.py +0 -0
  44. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/bec_designer.py +0 -0
  45. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/bec_dispatcher.py +0 -0
  46. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/bec_table.py +0 -0
  47. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/colors.py +0 -0
  48. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/container_utils.py +0 -0
  49. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/crosshair.py +0 -0
  50. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/entry_validator.py +0 -0
  51. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/layout_manager.py +0 -0
  52. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/plugin_utils.py +0 -0
  53. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/rpc_decorator.py +0 -0
  54. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/thread_checker.py +0 -0
  55. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/ui_loader.py +0 -0
  56. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/validator_delegate.py +0 -0
  57. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/widget_io.py +0 -0
  58. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/utils/yaml_dialog.py +0 -0
  59. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/__init__.py +0 -0
  60. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/bec_status_box/__init__.py +0 -0
  61. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/bec_status_box/bec_status_box.py +0 -0
  62. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/bec_status_box/status_item.py +0 -0
  63. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/buttons/__init__.py +0 -0
  64. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/buttons/stop_button/__init__.py +0 -0
  65. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/buttons/stop_button/stop_button.py +0 -0
  66. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/__init__.py +0 -0
  67. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/__init__.py +0 -0
  68. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py +0 -0
  69. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject +0 -0
  70. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/device_combobox_plugin.py +0 -0
  71. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py +0 -0
  72. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_combobox/register_device_combobox.py +0 -0
  73. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_input_base.py +0 -0
  74. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/__init__.py +0 -0
  75. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py +0 -0
  76. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject +0 -0
  77. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit_plugin.py +0 -0
  78. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py +0 -0
  79. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/device_inputs/device_line_edit/register_device_line_edit.py +0 -0
  80. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/dock/__init__.py +0 -0
  81. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/dock/dock.py +0 -0
  82. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/dock/dock_area.py +0 -0
  83. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/__init__.py +0 -0
  84. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/figure.py +0 -0
  85. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
  86. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
  87. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
  88. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
  89. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
  90. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
  91. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
  92. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
  93. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
  94. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
  95. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
  96. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/jupyter_console/__init__.py +0 -0
  97. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
  98. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/__init__.py +0 -0
  99. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/motor_control.py +0 -0
  100. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/motor_table/__init__.py +0 -0
  101. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/motor_table/motor_table.py +0 -0
  102. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/motor_table/motor_table.ui +0 -0
  103. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_absolute/__init__.py +0 -0
  104. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +0 -0
  105. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui +0 -0
  106. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
  107. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +0 -0
  108. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui +0 -0
  109. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
  110. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/selection/selection.py +0 -0
  111. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/motor_control/selection/selection.ui +0 -0
  112. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/ring_progress_bar/__init__.py +0 -0
  113. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/ring_progress_bar/ring.py +0 -0
  114. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/ring_progress_bar/ring_progress_bar.py +0 -0
  115. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/scan_control/__init__.py +0 -0
  116. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
  117. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/scan_control/scan_group_box.py +0 -0
  118. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/text_box/__init__.py +0 -0
  119. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/text_box/text_box.py +0 -0
  120. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/toolbar/__init__.py +0 -0
  121. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/toolbar/toolbar.py +0 -0
  122. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/vscode/__init__.py +0 -0
  123. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/website/__init__.py +0 -0
  124. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/bec_widgets/widgets/website/website.py +0 -0
  125. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/Makefile +0 -0
  126. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/_static/custom.css +0 -0
  127. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/_templates/custom-class-template.rst +0 -0
  128. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/_templates/custom-module-template.rst +0 -0
  129. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/api_reference/api_reference.md +0 -0
  130. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/apps_48dp.svg +0 -0
  131. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/display_settings_48dp.svg +0 -0
  132. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/index_api.svg +0 -0
  133. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/index_contribute.svg +0 -0
  134. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/index_getting_started.svg +0 -0
  135. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/index_user_guide.svg +0 -0
  136. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/assets/rocket_launch_48dp.svg +0 -0
  137. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/conf.py +0 -0
  138. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/developer/developer.md +0 -0
  139. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/developer/getting_started/development.md +0 -0
  140. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/developer/getting_started/getting_started.md +0 -0
  141. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/developer/widgets/widgets.md +0 -0
  142. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/index.md +0 -0
  143. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/introduction/introduction.md +0 -0
  144. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/make.bat +0 -0
  145. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/requirements.txt +0 -0
  146. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/api_reference/api_reference.md +0 -0
  147. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/applications/applications.md +0 -0
  148. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/customisation.md +0 -0
  149. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/BECDockArea.png +0 -0
  150. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/auto_updates.md +0 -0
  151. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/getting_started.md +0 -0
  152. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/gui_complex_gui.gif +0 -0
  153. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/installation.md +0 -0
  154. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/getting_started/quick_start.md +0 -0
  155. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/user.md +0 -0
  156. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/BECFigure.png +0 -0
  157. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/bec_figure.md +0 -0
  158. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/bec_status_box.gif +0 -0
  159. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/bec_status_box.md +0 -0
  160. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/buttons.md +0 -0
  161. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/image_plot.gif +0 -0
  162. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/motor.gif +0 -0
  163. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/progress_bar.gif +0 -0
  164. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/ring_progress_bar.md +0 -0
  165. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/scan_control.gif +0 -0
  166. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/scan_control.md +0 -0
  167. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/scatter_2D.gif +0 -0
  168. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/text_box.md +0 -0
  169. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/w1D.gif +0 -0
  170. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/website.md +0 -0
  171. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/docs/user/widgets/widgets.md +0 -0
  172. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/__init__.py +0 -0
  173. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/__init__.py +0 -0
  174. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/conftest.py +0 -0
  175. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
  176. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
  177. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
  178. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/end-2-end/test_scan_control_e2e.py +0 -0
  179. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/__init__.py +0 -0
  180. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/client_mocks.py +0 -0
  181. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/conftest.py +0 -0
  182. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_connector.py +0 -0
  183. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_dispatcher.py +0 -0
  184. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_dock.py +0 -0
  185. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_figure.py +0 -0
  186. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_image.py +0 -0
  187. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_motor_map.py +0 -0
  188. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_bec_status_box.py +0 -0
  189. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_client_utils.py +0 -0
  190. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_color_validation.py +0 -0
  191. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_configs/config_device.yaml +0 -0
  192. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
  193. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
  194. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_crosshair.py +0 -0
  195. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_device_input_base.py +0 -0
  196. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_device_input_widgets.py +0 -0
  197. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_generate_cli_client.py +0 -0
  198. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_motor_control.py +0 -0
  199. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_msgs/__init__.py +0 -0
  200. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
  201. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_plot_base.py +0 -0
  202. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_plugin_utils.py +0 -0
  203. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_ring_progress_bar.py +0 -0
  204. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_rpc_register.py +0 -0
  205. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_rpc_widget_handler.py +0 -0
  206. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_scan_control.py +0 -0
  207. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_scan_control_group_box.py +0 -0
  208. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_stop_button.py +0 -0
  209. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_text_box_widget.py +0 -0
  210. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_waveform1d.py +0 -0
  211. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_website_widget.py +0 -0
  212. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_widget_io.py +0 -0
  213. {bec_widgets-0.73.1 → bec_widgets-0.73.2}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.73.2 (2024-06-25)
4
+
5
+ ### Fix
6
+
7
+ * fix(vscode): only run terminate if the process is still alive ([`7120f3e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7120f3e93b054b788f15e2d5bcd688e3c140c1ce))
8
+
9
+ * fix(rpc): trigger shutdown of server when gui is terminated ([`acc1318`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/acc13183e28030e3ca9af21bb081e1eed081622b))
10
+
11
+ * fix(rpc): remove of calling "close" and waiting for gui_is_alive ([`f75fc19`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f75fc19c5b10022763252917ca473f404a25165a))
12
+
3
13
  ## v0.73.1 (2024-06-25)
4
14
 
5
15
  ### Fix
@@ -130,8 +140,6 @@
130
140
 
131
141
  * feat: bec-gui-server: redirect stdout and stderr (if any) as proper debug and error log entries ([`d1266a1`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d1266a1ce148ff89557a039e3a182a87a3948f49))
132
142
 
133
- * feat: add logger for BEC GUI server ([`630616e`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/630616ec729f60aa0b4d17a9e0379f9c6198eb96))
134
-
135
143
  ### Fix
136
144
 
137
145
  * fix: ignore GUI server output (any output will go to log file)
@@ -141,13 +149,3 @@ stderr streams will be redirected as log entries with levels DEBUG or ERROR
141
149
  in their parent process ([`ce37416`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ce374163cab87a92847409051739777bc505a77b))
142
150
 
143
151
  * fix: do not create 'BECClient' logger when instantiating BECDispatcher ([`f7d0b07`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f7d0b0768ace42a33e2556bb33611d4f02e5a6d9))
144
-
145
- ## v0.67.0 (2024-06-21)
146
-
147
- ### Documentation
148
-
149
- * docs: add widget to documentation ([`6fa1c06`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6fa1c06053131dabd084bb3cf13c853b5d3ce833))
150
-
151
- ### Refactor
152
-
153
- * refactor: Change inheritance to QTreeWidget from QWidget ([`d2f2b20`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/d2f2b206bb0eab60b8a9b0d0ac60a6b7887fa6fb))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.73.1
3
+ Version: 0.73.2
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -203,15 +203,12 @@ class BECGuiClientMixin:
203
203
  if self._process is None:
204
204
  return
205
205
 
206
- self._run_rpc("close", (), wait_for_rpc_response=False)
207
- while self.gui_is_alive():
208
- time.sleep(0.2)
209
-
210
206
  self._client.shutdown()
211
207
  if self._process:
212
208
  self._process.terminate()
213
209
  if self._process_output_processing_thread:
214
210
  self._process_output_processing_thread.join()
211
+ self._process.wait()
215
212
  self._process = None
216
213
 
217
214
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import inspect
2
4
  import signal
3
5
  import sys
@@ -29,7 +31,7 @@ class BECWidgetsCLIServer:
29
31
  dispatcher: BECDispatcher = None,
30
32
  client=None,
31
33
  config=None,
32
- gui_class: Union["BECFigure", "BECDockArea"] = BECFigure,
34
+ gui_class: Union[BECFigure, BECDockArea] = BECFigure,
33
35
  ) -> None:
34
36
  self.dispatcher = BECDispatcher(config=config) if dispatcher is None else dispatcher
35
37
  self.client = self.dispatcher.client if client is None else client
@@ -118,6 +120,7 @@ class BECWidgetsCLIServer:
118
120
  def shutdown(self): # TODO not sure if needed when cleanup is done at level of BECConnector
119
121
  self._shutdown_event = True
120
122
  self._heartbeat_timer.stop()
123
+ self.gui.close()
121
124
  self.client.shutdown()
122
125
 
123
126
 
@@ -207,6 +210,7 @@ def main():
207
210
  app.quit()
208
211
 
209
212
  signal.signal(signal.SIGINT, sigint_handler)
213
+ signal.signal(signal.SIGTERM, sigint_handler)
210
214
 
211
215
  sys.exit(app.exec())
212
216
 
@@ -60,7 +60,7 @@ class VSCodeEditor(WebsiteWidget):
60
60
  """
61
61
  Cleanup the VSCode editor.
62
62
  """
63
- if not self.process:
63
+ if not self.process or self.process.poll() is not None:
64
64
  return
65
65
  os.killpg(os.getpgid(self.process.pid), signal.SIGTERM)
66
66
  self.process.wait()
@@ -72,6 +72,13 @@ class VSCodeEditor(WebsiteWidget):
72
72
  self.cleanup_vscode()
73
73
  return super().cleanup()
74
74
 
75
+ def close(self):
76
+ """
77
+ Close the widget.
78
+ """
79
+ self.cleanup_vscode()
80
+ return super().close()
81
+
75
82
 
76
83
  if __name__ == "__main__": # pragma: no cover
77
84
  import sys
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.73.1"
7
+ version = "0.73.2"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -46,7 +46,8 @@ def test_start_server(qtbot, mocked_client):
46
46
  )
47
47
 
48
48
 
49
- def test_close_event(qtbot, vscode_widget):
49
+ @pytest.fixture
50
+ def patched_vscode_process(qtbot, vscode_widget):
50
51
  with mock.patch("bec_widgets.widgets.vscode.vscode.os.killpg") as mock_killpg:
51
52
  with mock.patch("bec_widgets.widgets.vscode.vscode.os.getpgid") as mock_getpgid:
52
53
  with mock.patch(
@@ -54,8 +55,24 @@ def test_close_event(qtbot, vscode_widget):
54
55
  ) as mock_close_event:
55
56
  mock_getpgid.return_value = 123
56
57
  vscode_widget.process = mock.Mock()
57
- vscode_widget.process.pid = 123
58
- vscode_widget.closeEvent(None)
59
- mock_killpg.assert_called_once_with(123, 15)
60
- vscode_widget.process.wait.assert_called_once()
61
- mock_close_event.assert_called_once()
58
+ yield vscode_widget, mock_killpg, mock_close_event
59
+
60
+
61
+ def test_close_event(qtbot, patched_vscode_process):
62
+ vscode_patched, mock_killpg, mock_close_event = patched_vscode_process
63
+ vscode_patched.process.pid = 123
64
+ vscode_patched.process.poll.return_value = None
65
+ vscode_patched.closeEvent(None)
66
+ mock_killpg.assert_called_once_with(123, 15)
67
+ vscode_patched.process.wait.assert_called_once()
68
+ mock_close_event.assert_called_once()
69
+
70
+
71
+ def test_close_event_on_terminated_code(qtbot, patched_vscode_process):
72
+ vscode_patched, mock_killpg, mock_close_event = patched_vscode_process
73
+ vscode_patched.process.pid = 123
74
+ vscode_patched.process.poll.return_value = 0
75
+ vscode_patched.closeEvent(None)
76
+ mock_killpg.assert_not_called()
77
+ vscode_patched.process.wait.assert_not_called()
78
+ mock_close_event.assert_called_once()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes