bec-widgets 0.65.2__tar.gz → 0.66.1__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 (183) hide show
  1. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/CHANGELOG.md +12 -8
  2. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/PKG-INFO +1 -1
  3. bec_widgets-0.66.1/bec_widgets/cli/rpc_wigdet_handler.py +53 -0
  4. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/bec_dispatcher.py +10 -3
  5. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/dock/dock.py +3 -3
  6. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/pyproject.toml +1 -1
  7. bec_widgets-0.66.1/tests/unit_tests/test_rpc_widget_handler.py +7 -0
  8. bec_widgets-0.65.2/bec_widgets/cli/rpc_wigdet_handler.py +0 -33
  9. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.git_hooks/pre-commit +0 -0
  10. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitignore +0 -0
  11. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitlab/issue_templates/bug_report_template.md +0 -0
  12. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitlab/issue_templates/documentation_update_template.md +0 -0
  13. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitlab/issue_templates/feature_request_template.md +0 -0
  14. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitlab/merge_request_templates/default.md +0 -0
  15. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.gitlab-ci.yml +0 -0
  16. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.pylintrc +0 -0
  17. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/.readthedocs.yaml +0 -0
  18. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/LICENSE +0 -0
  19. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/README.md +0 -0
  20. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/__init__.py +0 -0
  21. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/assets/bec_widgets_icon.png +0 -0
  22. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/assets/terminal_icon.png +0 -0
  23. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/__init__.py +0 -0
  24. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/auto_updates.py +0 -0
  25. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/client.py +0 -0
  26. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/client_utils.py +0 -0
  27. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/generate_cli.py +0 -0
  28. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/rpc_register.py +0 -0
  29. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/cli/server.py +0 -0
  30. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/__init__.py +0 -0
  31. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/jupyter_console/__init__.py +0 -0
  32. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/jupyter_console/jupyter_console_window.py +0 -0
  33. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/jupyter_console/jupyter_console_window.ui +0 -0
  34. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/motor_movement/__init__.py +0 -0
  35. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/motor_movement/motor_control_compilations.py +0 -0
  36. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/examples/motor_movement/motor_controller.ui +0 -0
  37. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/__init__.py +0 -0
  38. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/bec_connector.py +0 -0
  39. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/bec_table.py +0 -0
  40. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/colors.py +0 -0
  41. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/container_utils.py +0 -0
  42. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/crosshair.py +0 -0
  43. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/entry_validator.py +0 -0
  44. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/layout_manager.py +0 -0
  45. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/plugin_utils.py +0 -0
  46. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/rpc_decorator.py +0 -0
  47. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/thread_checker.py +0 -0
  48. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/ui_loader.py +0 -0
  49. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/validator_delegate.py +0 -0
  50. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/widget_io.py +0 -0
  51. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/utils/yaml_dialog.py +0 -0
  52. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/__init__.py +0 -0
  53. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/buttons/__init__.py +0 -0
  54. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/buttons/stop_button/__init__.py +0 -0
  55. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/buttons/stop_button/stop_button.py +0 -0
  56. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/__init__.py +0 -0
  57. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/device_combobox/__init__.py +0 -0
  58. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py +0 -0
  59. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/device_input_base.py +0 -0
  60. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/device_line_edit/__init__.py +0 -0
  61. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py +0 -0
  62. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/dock/__init__.py +0 -0
  63. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/dock/dock_area.py +0 -0
  64. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/__init__.py +0 -0
  65. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/figure.py +0 -0
  66. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/__init__.py +0 -0
  67. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/image/__init__.py +0 -0
  68. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/image/image.py +0 -0
  69. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/image/image_item.py +0 -0
  70. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/image/image_processor.py +0 -0
  71. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/motor_map/__init__.py +0 -0
  72. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/motor_map/motor_map.py +0 -0
  73. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/plot_base.py +0 -0
  74. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/waveform/__init__.py +0 -0
  75. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/waveform/waveform.py +0 -0
  76. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/figure/plots/waveform/waveform_curve.py +0 -0
  77. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/jupyter_console/__init__.py +0 -0
  78. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/jupyter_console/jupyter_console.py +0 -0
  79. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/__init__.py +0 -0
  80. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/motor_control.py +0 -0
  81. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/motor_table/__init__.py +0 -0
  82. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/motor_table/motor_table.py +0 -0
  83. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/motor_table/motor_table.ui +0 -0
  84. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_absolute/__init__.py +0 -0
  85. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.py +0 -0
  86. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_absolute/movement_absolute.ui +0 -0
  87. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_relative/__init__.py +0 -0
  88. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.py +0 -0
  89. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/movement_relative/movement_relative.ui +0 -0
  90. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/selection/__init__.py +0 -0
  91. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/selection/selection.py +0 -0
  92. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/motor_control/selection/selection.ui +0 -0
  93. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/scan_control/__init__.py +0 -0
  94. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/scan_control/scan_control.py +0 -0
  95. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/spiral_progress_bar/__init__.py +0 -0
  96. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/spiral_progress_bar/ring.py +0 -0
  97. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py +0 -0
  98. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/text_box/__init__.py +0 -0
  99. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/text_box/text_box.py +0 -0
  100. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/toolbar/__init__.py +0 -0
  101. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/toolbar/toolbar.py +0 -0
  102. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/website/__init__.py +0 -0
  103. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/bec_widgets/widgets/website/website.py +0 -0
  104. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/Makefile +0 -0
  105. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/_static/custom.css +0 -0
  106. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/_templates/custom-class-template.rst +0 -0
  107. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/_templates/custom-module-template.rst +0 -0
  108. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/api_reference/api_reference.md +0 -0
  109. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/apps_48dp.svg +0 -0
  110. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/display_settings_48dp.svg +0 -0
  111. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/index_api.svg +0 -0
  112. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/index_contribute.svg +0 -0
  113. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/index_getting_started.svg +0 -0
  114. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/index_user_guide.svg +0 -0
  115. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/assets/rocket_launch_48dp.svg +0 -0
  116. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/conf.py +0 -0
  117. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/developer/developer.md +0 -0
  118. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/developer/getting_started/development.md +0 -0
  119. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/developer/getting_started/getting_started.md +0 -0
  120. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/developer/widgets/widgets.md +0 -0
  121. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/index.md +0 -0
  122. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/introduction/introduction.md +0 -0
  123. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/make.bat +0 -0
  124. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/requirements.txt +0 -0
  125. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/api_reference/api_reference.md +0 -0
  126. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/applications/applications.md +0 -0
  127. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/customisation.md +0 -0
  128. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/BECDockArea.png +0 -0
  129. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/auto_updates.md +0 -0
  130. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/getting_started.md +0 -0
  131. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/gui_complex_gui.gif +0 -0
  132. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/installation.md +0 -0
  133. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/getting_started/quick_start.md +0 -0
  134. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/user.md +0 -0
  135. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/BECFigure.png +0 -0
  136. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/bec_figure.md +0 -0
  137. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/buttons.md +0 -0
  138. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/image_plot.gif +0 -0
  139. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/motor.gif +0 -0
  140. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/progress_bar.gif +0 -0
  141. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/scatter_2D.gif +0 -0
  142. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/spiral_progress_bar.md +0 -0
  143. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/text_box.md +0 -0
  144. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/w1D.gif +0 -0
  145. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/website.md +0 -0
  146. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/docs/user/widgets/widgets.md +0 -0
  147. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/__init__.py +0 -0
  148. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/end-2-end/__init__.py +0 -0
  149. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/end-2-end/conftest.py +0 -0
  150. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/end-2-end/test_bec_dock_rpc_e2e.py +0 -0
  151. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/end-2-end/test_bec_figure_rpc_e2e.py +0 -0
  152. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/end-2-end/test_rpc_register_e2e.py +0 -0
  153. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/__init__.py +0 -0
  154. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/client_mocks.py +0 -0
  155. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/conftest.py +0 -0
  156. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_bec_connector.py +0 -0
  157. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_bec_dispatcher.py +0 -0
  158. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_bec_dock.py +0 -0
  159. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_bec_figure.py +0 -0
  160. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_bec_motor_map.py +0 -0
  161. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_client_utils.py +0 -0
  162. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_color_validation.py +0 -0
  163. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_configs/config_device.yaml +0 -0
  164. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_configs/config_device_no_entry.yaml +0 -0
  165. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_configs/config_scan.yaml +0 -0
  166. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_crosshair.py +0 -0
  167. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_device_input_base.py +0 -0
  168. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_device_input_widgets.py +0 -0
  169. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_generate_cli_client.py +0 -0
  170. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_motor_control.py +0 -0
  171. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_msgs/__init__.py +0 -0
  172. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_msgs/available_scans_message.py +0 -0
  173. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_plot_base.py +0 -0
  174. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_plugin_utils.py +0 -0
  175. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_rpc_register.py +0 -0
  176. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_scan_control.py +0 -0
  177. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_spiral_progress_bar.py +0 -0
  178. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_stop_button.py +0 -0
  179. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_text_box_widget.py +0 -0
  180. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_waveform1d.py +0 -0
  181. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_website_widget.py +0 -0
  182. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_widget_io.py +0 -0
  183. {bec_widgets-0.65.2 → bec_widgets-0.66.1}/tests/unit_tests/test_yaml_dialog.py +0 -0
@@ -1,5 +1,17 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.66.1 (2024-06-20)
4
+
5
+ ### Fix
6
+
7
+ * fix: fixed shutdown for pyside ([`2718bc6`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/2718bc624731301756df524d0d5beef6cb1c1430))
8
+
9
+ ## v0.66.0 (2024-06-20)
10
+
11
+ ### Feature
12
+
13
+ * feat(rpc): discover widgets automatically ([`ef25f56`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/ef25f5638032f931ceb292540ada618508bb2aed))
14
+
3
15
  ## v0.65.2 (2024-06-20)
4
16
 
5
17
  ### Fix
@@ -151,24 +163,16 @@ This reverts commit abc6caa2d0b6141dfbe1f3d025f78ae14deddcb3 ([`fe04dd8`](https:
151
163
 
152
164
  * feat: added isort to bw-generate-cli ([`f0391f5`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f0391f59c9eb0a51b693fccfe2e399e869d35dda))
153
165
 
154
- * feat: added entry point for bw-generate-cli ([`1c7f491`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/1c7f4912ce5998e666276969bf4af8656d619a91))
155
-
156
- * feat(cli): auto-discover rpc-enabled widgets ([`df1be10`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/df1be10057a5e85a3f35bef1c1b27366b6727276))
157
-
158
166
  ### Fix
159
167
 
160
168
  * fix: removed BECConnector from rpc client interface ([`6428e38`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/6428e38ab94c15a2c904e75cc6404bb6d0394e04))
161
169
 
162
- * fix: added bec_ipython_client as dependency; needed for jupyter widget ([`006a089`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/006a0894b85cba3b2773737ed6fe3e92c81cdee0))
163
-
164
170
  ### Refactor
165
171
 
166
172
  * refactor: minor cleanup ([`3adf6cf`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/3adf6cfd586355c8b8ce7fdc9722f868e22287c5))
167
173
 
168
174
  * refactor: disabled pylint for auto-gen client ([`b15816c`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/b15816ca9fd3e4ae87cca5fcfe029b4dfca570ca))
169
175
 
170
- * refactor(isort): added bec_widgets as known first party package ([`9c5a471`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/9c5a471234ed2928e4527b079436db2a807c5f6f))
171
-
172
176
  ### Test
173
177
 
174
178
  * test: added missing pylint statement to header ([`f662985`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/f6629852ebc2b4ee239fa560cc310a5ae2627cf7))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec_widgets
3
- Version: 0.65.2
3
+ Version: 0.66.1
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
@@ -0,0 +1,53 @@
1
+ from bec_widgets.utils import BECConnector
2
+
3
+
4
+ class RPCWidgetHandler:
5
+ """Handler class for creating widgets from RPC messages."""
6
+
7
+ def __init__(self):
8
+ self._widget_classes = None
9
+
10
+ @property
11
+ def widget_classes(self):
12
+ """
13
+ Get the available widget classes.
14
+
15
+ Returns:
16
+ dict: The available widget classes.
17
+ """
18
+ if self._widget_classes is None:
19
+ self.update_available_widgets()
20
+ return self._widget_classes
21
+
22
+ def update_available_widgets(self):
23
+ """
24
+ Update the available widgets.
25
+
26
+ Returns:
27
+ None
28
+ """
29
+ from bec_widgets.utils.plugin_utils import get_rpc_classes
30
+
31
+ clss = get_rpc_classes("bec_widgets")
32
+ self._widget_classes = {cls.__name__: cls for cls in clss["top_level_classes"]}
33
+
34
+ def create_widget(self, widget_type, **kwargs) -> BECConnector:
35
+ """
36
+ Create a widget from an RPC message.
37
+
38
+ Args:
39
+ widget_type(str): The type of the widget.
40
+ **kwargs: The keyword arguments for the widget.
41
+
42
+ Returns:
43
+ widget(BECConnector): The created widget.
44
+ """
45
+ if self._widget_classes is None:
46
+ self.update_available_widgets()
47
+ widget_class = self._widget_classes.get(widget_type)
48
+ if widget_class:
49
+ return widget_class(**kwargs)
50
+ raise ValueError(f"Unknown widget type: {widget_type}")
51
+
52
+
53
+ widget_handler = RPCWidgetHandler()
@@ -9,7 +9,7 @@ import redis
9
9
  from bec_lib.client import BECClient
10
10
  from bec_lib.redis_connector import MessageObject, RedisConnector
11
11
  from bec_lib.service_config import ServiceConfig
12
- from qtpy.QtCore import QCoreApplication, QObject
12
+ from qtpy.QtCore import PYQT5, PYQT6, PYSIDE2, PYSIDE6, QCoreApplication, QObject
13
13
  from qtpy.QtCore import Signal as pyqtSignal
14
14
 
15
15
  if TYPE_CHECKING:
@@ -115,9 +115,16 @@ class BECDispatcher:
115
115
  def reset_singleton(cls):
116
116
  cls._instance = None
117
117
  cls._initialized = False
118
- if cls.qapp:
118
+
119
+ if not cls.qapp:
120
+ return
121
+
122
+ # shutdown QCoreApp if it exists
123
+ if PYQT5 or PYQT6:
119
124
  cls.qapp.exit()
120
- cls.qapp = None
125
+ elif PYSIDE2 or PYSIDE6:
126
+ cls.qapp.shutdown()
127
+ cls.qapp = None
121
128
 
122
129
  def connect_slot(
123
130
  self, slot: Callable, topics: Union[EndpointInfo, str, list[Union[EndpointInfo, str]]]
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Literal, Optional
5
5
  from pydantic import Field
6
6
  from pyqtgraph.dockarea import Dock
7
7
 
8
- from bec_widgets.cli.rpc_wigdet_handler import RPCWidgetHandler
8
+ from bec_widgets.cli.rpc_wigdet_handler import widget_handler
9
9
  from bec_widgets.utils import BECConnector, ConnectionConfig, GridLayoutManager
10
10
 
11
11
  if TYPE_CHECKING:
@@ -149,7 +149,7 @@ class BECDock(BECConnector, Dock):
149
149
  Returns:
150
150
  list: The list of eligible widgets.
151
151
  """
152
- return list(RPCWidgetHandler.widget_classes.keys())
152
+ return list(widget_handler.widget_classes.keys())
153
153
 
154
154
  def add_widget(
155
155
  self,
@@ -178,7 +178,7 @@ class BECDock(BECConnector, Dock):
178
178
  self.layout_manager.shift_widgets(shift, start_row=row)
179
179
 
180
180
  if isinstance(widget, str):
181
- widget = RPCWidgetHandler.create_widget(widget)
181
+ widget = widget_handler.create_widget(widget)
182
182
  else:
183
183
  widget = widget
184
184
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "0.65.2"
7
+ version = "0.66.1"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -0,0 +1,7 @@
1
+ from bec_widgets.cli.rpc_wigdet_handler import RPCWidgetHandler
2
+
3
+
4
+ def test_rpc_widget_handler():
5
+ handler = RPCWidgetHandler()
6
+ assert "BECFigure" in handler.widget_classes
7
+ assert "SpiralProgressBar" in handler.widget_classes
@@ -1,33 +0,0 @@
1
- from bec_widgets.utils import BECConnector
2
- from bec_widgets.widgets.figure import BECFigure
3
- from bec_widgets.widgets.spiral_progress_bar.spiral_progress_bar import SpiralProgressBar
4
- from bec_widgets.widgets.text_box.text_box import TextBox
5
- from bec_widgets.widgets.website.website import WebsiteWidget
6
-
7
-
8
- class RPCWidgetHandler:
9
- """Handler class for creating widgets from RPC messages."""
10
-
11
- widget_classes = {
12
- "BECFigure": BECFigure,
13
- "SpiralProgressBar": SpiralProgressBar,
14
- "Website": WebsiteWidget,
15
- "TextBox": TextBox,
16
- }
17
-
18
- @staticmethod
19
- def create_widget(widget_type, **kwargs) -> BECConnector:
20
- """
21
- Create a widget from an RPC message.
22
-
23
- Args:
24
- widget_type(str): The type of the widget.
25
- **kwargs: The keyword arguments for the widget.
26
-
27
- Returns:
28
- widget(BECConnector): The created widget.
29
- """
30
- widget_class = RPCWidgetHandler.widget_classes.get(widget_type)
31
- if widget_class:
32
- return widget_class(**kwargs)
33
- raise ValueError(f"Unknown widget type: {widget_type}")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes