karabo.gui 2.21.3__py3-none-any.whl

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 (980) hide show
  1. karabo_gui-2.21.3.dist-info/METADATA +86 -0
  2. karabo_gui-2.21.3.dist-info/RECORD +980 -0
  3. karabo_gui-2.21.3.dist-info/WHEEL +5 -0
  4. karabo_gui-2.21.3.dist-info/entry_points.txt +8 -0
  5. karabo_gui-2.21.3.dist-info/licenses/LICENSE.md +595 -0
  6. karabo_gui-2.21.3.dist-info/top_level.txt +1 -0
  7. karabogui/__init__.py +16 -0
  8. karabogui/_version.py +2 -0
  9. karabogui/access.py +98 -0
  10. karabogui/actions.py +68 -0
  11. karabogui/api.py +91 -0
  12. karabogui/background.py +136 -0
  13. karabogui/binding/__init__.py +16 -0
  14. karabogui/binding/api.py +53 -0
  15. karabogui/binding/binding_types.py +598 -0
  16. karabogui/binding/builder.py +133 -0
  17. karabogui/binding/config.py +380 -0
  18. karabogui/binding/enums.py +77 -0
  19. karabogui/binding/proxy.py +488 -0
  20. karabogui/binding/tests/__init__.py +16 -0
  21. karabogui/binding/tests/benchmark.py +98 -0
  22. karabogui/binding/tests/data/BeckhoffAgilentIonPump.config +0 -0
  23. karabogui/binding/tests/data/BeckhoffAgilentIonPump.schema +0 -0
  24. karabogui/binding/tests/data/BeckhoffAnalogInput.config +0 -0
  25. karabogui/binding/tests/data/BeckhoffAnalogInput.schema +0 -0
  26. karabogui/binding/tests/data/BeckhoffCom.config +0 -0
  27. karabogui/binding/tests/data/BeckhoffCom.schema +0 -0
  28. karabogui/binding/tests/data/BeckhoffMC2.config +0 -0
  29. karabogui/binding/tests/data/BeckhoffMC2.schema +0 -0
  30. karabogui/binding/tests/data/LimaBaslerCamera.config +0 -0
  31. karabogui/binding/tests/data/LimaBaslerCamera.schema +0 -0
  32. karabogui/binding/tests/test_config.py +370 -0
  33. karabogui/binding/tests/test_proxy.py +377 -0
  34. karabogui/binding/tests/test_trait_types.py +209 -0
  35. karabogui/binding/tests/test_types.py +101 -0
  36. karabogui/binding/tests/test_util.py +270 -0
  37. karabogui/binding/tests/test_validate.py +882 -0
  38. karabogui/binding/trait_types.py +71 -0
  39. karabogui/binding/util.py +337 -0
  40. karabogui/binding/validate.py +338 -0
  41. karabogui/configurator/__init__.py +16 -0
  42. karabogui/configurator/api.py +23 -0
  43. karabogui/configurator/dialog/__init__.py +16 -0
  44. karabogui/configurator/dialog/table_view.py +164 -0
  45. karabogui/configurator/dialog/table_view.ui +79 -0
  46. karabogui/configurator/edit_delegate.py +378 -0
  47. karabogui/configurator/filter_model.py +61 -0
  48. karabogui/configurator/qt_item_model.py +499 -0
  49. karabogui/configurator/slot_delegate.py +136 -0
  50. karabogui/configurator/tests/__init__.py +16 -0
  51. karabogui/configurator/tests/test_model_view.py +280 -0
  52. karabogui/configurator/tests/test_table_view.py +114 -0
  53. karabogui/configurator/tests/test_utils.py +149 -0
  54. karabogui/configurator/utils.py +269 -0
  55. karabogui/configurator/value_delegate.py +33 -0
  56. karabogui/configurator/view.py +447 -0
  57. karabogui/conftest.py +40 -0
  58. karabogui/const.py +75 -0
  59. karabogui/controllers/__init__.py +16 -0
  60. karabogui/controllers/api.py +36 -0
  61. karabogui/controllers/arrays.py +144 -0
  62. karabogui/controllers/base.py +335 -0
  63. karabogui/controllers/basearray.py +129 -0
  64. karabogui/controllers/baselabel.py +217 -0
  65. karabogui/controllers/baselineedit.py +149 -0
  66. karabogui/controllers/display/__init__.py +16 -0
  67. karabogui/controllers/display/alarm.py +68 -0
  68. karabogui/controllers/display/checkbox.py +51 -0
  69. karabogui/controllers/display/colorbool.py +84 -0
  70. karabogui/controllers/display/command.py +229 -0
  71. karabogui/controllers/display/detector_graph.py +214 -0
  72. karabogui/controllers/display/empty.svg +66 -0
  73. karabogui/controllers/display/errorbool.py +83 -0
  74. karabogui/controllers/display/eval.py +173 -0
  75. karabogui/controllers/display/historic_text.py +284 -0
  76. karabogui/controllers/display/icon_command.py +150 -0
  77. karabogui/controllers/display/icons.py +158 -0
  78. karabogui/controllers/display/image_graph.py +132 -0
  79. karabogui/controllers/display/label.py +89 -0
  80. karabogui/controllers/display/lamp.py +86 -0
  81. karabogui/controllers/display/lineedit.py +46 -0
  82. karabogui/controllers/display/list.py +79 -0
  83. karabogui/controllers/display/multicurvegraph.py +211 -0
  84. karabogui/controllers/display/progressbar.py +113 -0
  85. karabogui/controllers/display/scatter_graph.py +158 -0
  86. karabogui/controllers/display/singlebit.py +111 -0
  87. karabogui/controllers/display/sparkline.py +466 -0
  88. karabogui/controllers/display/speech-balloon.svg +6 -0
  89. karabogui/controllers/display/statecolor.py +107 -0
  90. karabogui/controllers/display/statefulicon.py +108 -0
  91. karabogui/controllers/display/tests/__init__.py +16 -0
  92. karabogui/controllers/display/tests/data.py +74 -0
  93. karabogui/controllers/display/tests/image.py +116 -0
  94. karabogui/controllers/display/tests/test_alarm.py +93 -0
  95. karabogui/controllers/display/tests/test_alarm_graph.py +107 -0
  96. karabogui/controllers/display/tests/test_alarm_labels.py +86 -0
  97. karabogui/controllers/display/tests/test_checkbox.py +43 -0
  98. karabogui/controllers/display/tests/test_colorbool.py +65 -0
  99. karabogui/controllers/display/tests/test_command.py +274 -0
  100. karabogui/controllers/display/tests/test_detector_graph.py +168 -0
  101. karabogui/controllers/display/tests/test_errorbool.py +66 -0
  102. karabogui/controllers/display/tests/test_eval.py +108 -0
  103. karabogui/controllers/display/tests/test_historic_text.py +178 -0
  104. karabogui/controllers/display/tests/test_icon_command.py +197 -0
  105. karabogui/controllers/display/tests/test_icons.py +150 -0
  106. karabogui/controllers/display/tests/test_image_graph.py +248 -0
  107. karabogui/controllers/display/tests/test_label.py +84 -0
  108. karabogui/controllers/display/tests/test_lamp.py +55 -0
  109. karabogui/controllers/display/tests/test_lineedit.py +41 -0
  110. karabogui/controllers/display/tests/test_list.py +70 -0
  111. karabogui/controllers/display/tests/test_multicurvegraph.py +117 -0
  112. karabogui/controllers/display/tests/test_progressbar.py +87 -0
  113. karabogui/controllers/display/tests/test_scatter.py +126 -0
  114. karabogui/controllers/display/tests/test_singlebit.py +102 -0
  115. karabogui/controllers/display/tests/test_sparkline.py +108 -0
  116. karabogui/controllers/display/tests/test_state_graph.py +106 -0
  117. karabogui/controllers/display/tests/test_statecolor.py +80 -0
  118. karabogui/controllers/display/tests/test_statefulicon.py +138 -0
  119. karabogui/controllers/display/tests/test_textlog.py +78 -0
  120. karabogui/controllers/display/tests/test_time_graphs.py +120 -0
  121. karabogui/controllers/display/tests/test_time_label.py +110 -0
  122. karabogui/controllers/display/tests/test_vector_bar_graph.py +99 -0
  123. karabogui/controllers/display/tests/test_vector_fill.py +46 -0
  124. karabogui/controllers/display/tests/test_vector_graph.py +259 -0
  125. karabogui/controllers/display/tests/test_vector_hist_graph.py +100 -0
  126. karabogui/controllers/display/tests/test_vector_roll_graph.py +144 -0
  127. karabogui/controllers/display/tests/test_vector_scatter.py +114 -0
  128. karabogui/controllers/display/tests/test_vector_xy_graph.py +95 -0
  129. karabogui/controllers/display/tests/test_webcam.py +63 -0
  130. karabogui/controllers/display/tests/test_widget_node.py +44 -0
  131. karabogui/controllers/display/textlog.py +134 -0
  132. karabogui/controllers/display/time_graphs.py +415 -0
  133. karabogui/controllers/display/timelabel.py +133 -0
  134. karabogui/controllers/display/ui/frame_slider.ui +139 -0
  135. karabogui/controllers/display/ui/ui_trendline.ui +307 -0
  136. karabogui/controllers/display/util.py +25 -0
  137. karabogui/controllers/display/vector_bar_graph.py +90 -0
  138. karabogui/controllers/display/vector_fill_graph.py +65 -0
  139. karabogui/controllers/display/vector_graph.py +48 -0
  140. karabogui/controllers/display/vector_hist_graph.py +108 -0
  141. karabogui/controllers/display/vector_roll_graph.py +129 -0
  142. karabogui/controllers/display/vector_scatter_graph.py +135 -0
  143. karabogui/controllers/display/vector_xy_graph.py +141 -0
  144. karabogui/controllers/display/webcam_graph.py +91 -0
  145. karabogui/controllers/display/widgetnode.py +65 -0
  146. karabogui/controllers/edit/__init__.py +16 -0
  147. karabogui/controllers/edit/checkbox.py +57 -0
  148. karabogui/controllers/edit/combobox.py +82 -0
  149. karabogui/controllers/edit/floatspinbox.py +151 -0
  150. karabogui/controllers/edit/intspinbox.py +117 -0
  151. karabogui/controllers/edit/lineedit.py +155 -0
  152. karabogui/controllers/edit/list.py +183 -0
  153. karabogui/controllers/edit/slider.py +174 -0
  154. karabogui/controllers/edit/strlist.py +56 -0
  155. karabogui/controllers/edit/table.py +69 -0
  156. karabogui/controllers/edit/tests/__init__.py +16 -0
  157. karabogui/controllers/edit/tests/test_checkbox.py +66 -0
  158. karabogui/controllers/edit/tests/test_combobox.py +99 -0
  159. karabogui/controllers/edit/tests/test_floatspinbox.py +119 -0
  160. karabogui/controllers/edit/tests/test_intspinbox.py +97 -0
  161. karabogui/controllers/edit/tests/test_lineedit.py +407 -0
  162. karabogui/controllers/edit/tests/test_list.py +224 -0
  163. karabogui/controllers/edit/tests/test_slider.py +118 -0
  164. karabogui/controllers/edit/tests/test_strlist.py +63 -0
  165. karabogui/controllers/edit/tests/test_table.py +90 -0
  166. karabogui/controllers/edit/tests/test_textedit.py +92 -0
  167. karabogui/controllers/edit/tests/utils.py +33 -0
  168. karabogui/controllers/edit/textedit.py +71 -0
  169. karabogui/controllers/icons.ui +520 -0
  170. karabogui/controllers/icons_dialogs.py +446 -0
  171. karabogui/controllers/registry.py +164 -0
  172. karabogui/controllers/table/__init__.py +16 -0
  173. karabogui/controllers/table/api.py +29 -0
  174. karabogui/controllers/table/button_delegate.py +116 -0
  175. karabogui/controllers/table/controller.py +634 -0
  176. karabogui/controllers/table/delegates.py +503 -0
  177. karabogui/controllers/table/filter_model.py +66 -0
  178. karabogui/controllers/table/model.py +315 -0
  179. karabogui/controllers/table/tests/__init__.py +16 -0
  180. karabogui/controllers/table/tests/test_custom_table_controller.py +152 -0
  181. karabogui/controllers/table/tests/test_delegate_model_view.py +123 -0
  182. karabogui/controllers/table/tests/test_model_view.py +834 -0
  183. karabogui/controllers/table/tests/test_utils.py +177 -0
  184. karabogui/controllers/table/tests/test_widgets.py +34 -0
  185. karabogui/controllers/table/utils.py +144 -0
  186. karabogui/controllers/table/view.py +148 -0
  187. karabogui/controllers/table/widgets.py +48 -0
  188. karabogui/controllers/tests/__init__.py +16 -0
  189. karabogui/controllers/tests/test_arrays.py +80 -0
  190. karabogui/controllers/tests/test_base_binding_controller.py +490 -0
  191. karabogui/controllers/tests/test_base_label.py +107 -0
  192. karabogui/controllers/tests/test_base_line_edit.py +90 -0
  193. karabogui/controllers/tests/test_change_icons_dialog.py +105 -0
  194. karabogui/controllers/tests/test_registry.py +195 -0
  195. karabogui/controllers/tests/test_util.py +32 -0
  196. karabogui/controllers/tests/test_validators.py +235 -0
  197. karabogui/controllers/trendmodel.py +277 -0
  198. karabogui/controllers/unitlabel.py +74 -0
  199. karabogui/controllers/util.py +124 -0
  200. karabogui/controllers/validators.py +202 -0
  201. karabogui/debug.py +114 -0
  202. karabogui/dialogs/__init__.py +16 -0
  203. karabogui/dialogs/about.py +85 -0
  204. karabogui/dialogs/alarm_dialog.py +112 -0
  205. karabogui/dialogs/api.py +50 -0
  206. karabogui/dialogs/client_topology.py +120 -0
  207. karabogui/dialogs/compare_device_configurations.py +206 -0
  208. karabogui/dialogs/configuration.py +248 -0
  209. karabogui/dialogs/configuration_comparison.py +102 -0
  210. karabogui/dialogs/configuration_from_name.py +320 -0
  211. karabogui/dialogs/configuration_from_past.py +119 -0
  212. karabogui/dialogs/configuration_preview.py +310 -0
  213. karabogui/dialogs/data_view_dialog.py +50 -0
  214. karabogui/dialogs/debug_run_dialog.py +46 -0
  215. karabogui/dialogs/development_topology.py +99 -0
  216. karabogui/dialogs/device_capability.py +214 -0
  217. karabogui/dialogs/font_dialog.py +122 -0
  218. karabogui/dialogs/format_fmt.py +66 -0
  219. karabogui/dialogs/format_label.py +63 -0
  220. karabogui/dialogs/guisessioninfo.py +141 -0
  221. karabogui/dialogs/listedit.py +276 -0
  222. karabogui/dialogs/log_dialog.py +95 -0
  223. karabogui/dialogs/logbook_drawing_tools.py +246 -0
  224. karabogui/dialogs/logbook_preview.py +671 -0
  225. karabogui/dialogs/messagebox.py +134 -0
  226. karabogui/dialogs/pen_dialogs.py +198 -0
  227. karabogui/dialogs/proxies_dialog.py +85 -0
  228. karabogui/dialogs/reactive_login_dialog.py +633 -0
  229. karabogui/dialogs/scene_dialogs.py +103 -0
  230. karabogui/dialogs/scene_link_dialog.py +97 -0
  231. karabogui/dialogs/sticker_dialog.py +152 -0
  232. karabogui/dialogs/tests/__init__.py +16 -0
  233. karabogui/dialogs/tests/test_about_dialog.py +63 -0
  234. karabogui/dialogs/tests/test_alarm_dialog.py +116 -0
  235. karabogui/dialogs/tests/test_app_configuration_dialog.py +84 -0
  236. karabogui/dialogs/tests/test_capability_dialog.py +71 -0
  237. karabogui/dialogs/tests/test_client_topology.py +75 -0
  238. karabogui/dialogs/tests/test_compare_device_configuration_dialog.py +80 -0
  239. karabogui/dialogs/tests/test_config_comparison_dialog.py +44 -0
  240. karabogui/dialogs/tests/test_config_from_name_dialog.py +140 -0
  241. karabogui/dialogs/tests/test_config_from_past_dialog.py +78 -0
  242. karabogui/dialogs/tests/test_data_view_dialog.py +29 -0
  243. karabogui/dialogs/tests/test_development_topology.py +55 -0
  244. karabogui/dialogs/tests/test_font_dialog.py +112 -0
  245. karabogui/dialogs/tests/test_format_label_dialog.py +38 -0
  246. karabogui/dialogs/tests/test_json.json +122 -0
  247. karabogui/dialogs/tests/test_list_edit_dialog.py +174 -0
  248. karabogui/dialogs/tests/test_log_dialog.py +81 -0
  249. karabogui/dialogs/tests/test_logbook_preview.py +333 -0
  250. karabogui/dialogs/tests/test_messagebox.py +78 -0
  251. karabogui/dialogs/tests/test_pen_dialog.py +91 -0
  252. karabogui/dialogs/tests/test_preview_dialog.py +190 -0
  253. karabogui/dialogs/tests/test_proxies_dialog.py +45 -0
  254. karabogui/dialogs/tests/test_reactive_dialog.py +234 -0
  255. karabogui/dialogs/tests/test_session_dialog.py +53 -0
  256. karabogui/dialogs/tests/test_sticker_dialog.py +140 -0
  257. karabogui/dialogs/tests/test_textedit_dialog.py +167 -0
  258. karabogui/dialogs/tests/test_topology_device_dialog.py +48 -0
  259. karabogui/dialogs/tests/test_update_dialog.py +59 -0
  260. karabogui/dialogs/tests/test_webdialog.py +47 -0
  261. karabogui/dialogs/textdialog.py +155 -0
  262. karabogui/dialogs/time_detail_dialog.py +36 -0
  263. karabogui/dialogs/topology_device_dialog.py +121 -0
  264. karabogui/dialogs/ui/about.ui +111 -0
  265. karabogui/dialogs/ui/alarm_dialog.ui +154 -0
  266. karabogui/dialogs/ui/client_topology.ui +92 -0
  267. karabogui/dialogs/ui/compare_configuarations.ui +207 -0
  268. karabogui/dialogs/ui/compare_configuraiton_launcher.ui +91 -0
  269. karabogui/dialogs/ui/config_handle.ui +182 -0
  270. karabogui/dialogs/ui/config_save.ui +189 -0
  271. karabogui/dialogs/ui/configuration.ui +80 -0
  272. karabogui/dialogs/ui/configuration_comparison.ui +227 -0
  273. karabogui/dialogs/ui/configuration_preview.ui +375 -0
  274. karabogui/dialogs/ui/conftime.ui +177 -0
  275. karabogui/dialogs/ui/data_preview_dialog.ui +79 -0
  276. karabogui/dialogs/ui/debug_run.ui +78 -0
  277. karabogui/dialogs/ui/development_topology.ui +105 -0
  278. karabogui/dialogs/ui/device_capability.ui +224 -0
  279. karabogui/dialogs/ui/font_dialog.ui +161 -0
  280. karabogui/dialogs/ui/format_fmt.ui +181 -0
  281. karabogui/dialogs/ui/format_label.ui +116 -0
  282. karabogui/dialogs/ui/guiserverinfo.ui +106 -0
  283. karabogui/dialogs/ui/listedit.ui +91 -0
  284. karabogui/dialogs/ui/log_dialog.ui +188 -0
  285. karabogui/dialogs/ui/logbook.ui +419 -0
  286. karabogui/dialogs/ui/messagebox.ui +174 -0
  287. karabogui/dialogs/ui/pendialog.ui +316 -0
  288. karabogui/dialogs/ui/proxies_dialog.ui +171 -0
  289. karabogui/dialogs/ui/reactive_login_dialog.ui +583 -0
  290. karabogui/dialogs/ui/replacedialog.ui +97 -0
  291. karabogui/dialogs/ui/request_time_dialog.ui +227 -0
  292. karabogui/dialogs/ui/resizedialog.ui +148 -0
  293. karabogui/dialogs/ui/sceneitem_dialog.ui +99 -0
  294. karabogui/dialogs/ui/scenelink.ui +115 -0
  295. karabogui/dialogs/ui/simple_text_dialog.ui +142 -0
  296. karabogui/dialogs/ui/stickerdialog.ui +175 -0
  297. karabogui/dialogs/ui/temp_session_dialog.ui +181 -0
  298. karabogui/dialogs/ui/textdialog.ui +217 -0
  299. karabogui/dialogs/ui/topology_device_dialog.ui +160 -0
  300. karabogui/dialogs/ui/update_dialog.ui +369 -0
  301. karabogui/dialogs/ui/webdialog.ui +74 -0
  302. karabogui/dialogs/update_dialog.py +411 -0
  303. karabogui/dialogs/utils.py +25 -0
  304. karabogui/dialogs/webdialog.py +127 -0
  305. karabogui/events.py +116 -0
  306. karabogui/fonts/Source Code Pro/OFL.txt +93 -0
  307. karabogui/fonts/Source Code Pro/SourceCodePro-Bold.ttf +0 -0
  308. karabogui/fonts/Source Code Pro/SourceCodePro-BoldItalic.ttf +0 -0
  309. karabogui/fonts/Source Code Pro/SourceCodePro-Italic.ttf +0 -0
  310. karabogui/fonts/Source Code Pro/SourceCodePro-Regular.ttf +0 -0
  311. karabogui/fonts/Source Sans Pro/OFL.txt +93 -0
  312. karabogui/fonts/Source Sans Pro/SourceSansPro-Bold.ttf +0 -0
  313. karabogui/fonts/Source Sans Pro/SourceSansPro-BoldItalic.ttf +0 -0
  314. karabogui/fonts/Source Sans Pro/SourceSansPro-Italic.ttf +0 -0
  315. karabogui/fonts/Source Sans Pro/SourceSansPro-Regular.ttf +0 -0
  316. karabogui/fonts/Source Serif Pro/OFL.txt +93 -0
  317. karabogui/fonts/Source Serif Pro/SourceSerifPro-Bold.ttf +0 -0
  318. karabogui/fonts/Source Serif Pro/SourceSerifPro-BoldItalic.ttf +0 -0
  319. karabogui/fonts/Source Serif Pro/SourceSerifPro-Italic.ttf +0 -0
  320. karabogui/fonts/Source Serif Pro/SourceSerifPro-Regular.ttf +0 -0
  321. karabogui/fonts/__init__.py +112 -0
  322. karabogui/generic_scenes.py +162 -0
  323. karabogui/graph/__init__.py +16 -0
  324. karabogui/graph/common/__init__.py +16 -0
  325. karabogui/graph/common/api.py +42 -0
  326. karabogui/graph/common/axis_item.py +210 -0
  327. karabogui/graph/common/canvas.py +132 -0
  328. karabogui/graph/common/colors.py +1133 -0
  329. karabogui/graph/common/const.py +176 -0
  330. karabogui/graph/common/dialogs/__init__.py +16 -0
  331. karabogui/graph/common/dialogs/axes_labels.py +59 -0
  332. karabogui/graph/common/dialogs/axes_labels.ui +190 -0
  333. karabogui/graph/common/enums.py +71 -0
  334. karabogui/graph/common/exporters.py +167 -0
  335. karabogui/graph/common/fitting.py +63 -0
  336. karabogui/graph/common/formatting.py +38 -0
  337. karabogui/graph/common/legend.py +98 -0
  338. karabogui/graph/common/roi/__init__.py +16 -0
  339. karabogui/graph/common/roi/base.py +428 -0
  340. karabogui/graph/common/roi/controllers/__init__.py +16 -0
  341. karabogui/graph/common/roi/controllers/base.py +259 -0
  342. karabogui/graph/common/roi/controllers/image.py +101 -0
  343. karabogui/graph/common/roi/crosshair.py +185 -0
  344. karabogui/graph/common/roi/rect.py +76 -0
  345. karabogui/graph/common/roi/tests/test_crosshair.py +26 -0
  346. karabogui/graph/common/roi/utils.py +82 -0
  347. karabogui/graph/common/tests/__init__.py +16 -0
  348. karabogui/graph/common/tests/test_axes_dialog.py +47 -0
  349. karabogui/graph/common/tests/test_const.py +27 -0
  350. karabogui/graph/common/tests/test_fitting_formatting.py +53 -0
  351. karabogui/graph/common/tests/test_utils.py +27 -0
  352. karabogui/graph/common/toolbar/__init__.py +16 -0
  353. karabogui/graph/common/toolbar/controller.py +98 -0
  354. karabogui/graph/common/toolbar/factory.py +106 -0
  355. karabogui/graph/common/toolbar/tests/__init__.py +16 -0
  356. karabogui/graph/common/toolbar/tests/test_controller.py +100 -0
  357. karabogui/graph/common/toolbar/tests/test_toolsets.py +153 -0
  358. karabogui/graph/common/toolbar/toolsets.py +187 -0
  359. karabogui/graph/common/toolbar/widgets.py +265 -0
  360. karabogui/graph/common/utils.py +43 -0
  361. karabogui/graph/common/viewbox.py +167 -0
  362. karabogui/graph/image/__init__.py +16 -0
  363. karabogui/graph/image/api.py +45 -0
  364. karabogui/graph/image/aux_plots/__init__.py +16 -0
  365. karabogui/graph/image/aux_plots/base/__init__.py +16 -0
  366. karabogui/graph/image/aux_plots/base/analyzer.py +37 -0
  367. karabogui/graph/image/aux_plots/base/controller.py +144 -0
  368. karabogui/graph/image/aux_plots/base/plot.py +162 -0
  369. karabogui/graph/image/aux_plots/base/stats.py +50 -0
  370. karabogui/graph/image/aux_plots/controller.py +176 -0
  371. karabogui/graph/image/aux_plots/histogram/__init__.py +16 -0
  372. karabogui/graph/image/aux_plots/histogram/analyzer.py +64 -0
  373. karabogui/graph/image/aux_plots/histogram/controller.py +94 -0
  374. karabogui/graph/image/aux_plots/histogram/plot.py +108 -0
  375. karabogui/graph/image/aux_plots/histogram/stats.py +49 -0
  376. karabogui/graph/image/aux_plots/histogram/tests/__init__.py +16 -0
  377. karabogui/graph/image/aux_plots/histogram/tests/test_controller.py +110 -0
  378. karabogui/graph/image/aux_plots/histogram/tests/test_plot_item.py +90 -0
  379. karabogui/graph/image/aux_plots/profiling/__init__.py +16 -0
  380. karabogui/graph/image/aux_plots/profiling/analyzer.py +176 -0
  381. karabogui/graph/image/aux_plots/profiling/controller.py +168 -0
  382. karabogui/graph/image/aux_plots/profiling/plot.py +80 -0
  383. karabogui/graph/image/aux_plots/profiling/stats.py +58 -0
  384. karabogui/graph/image/aux_plots/profiling/tests/__init__.py +16 -0
  385. karabogui/graph/image/aux_plots/profiling/tests/test_analyzer.py +115 -0
  386. karabogui/graph/image/aux_plots/profiling/tests/test_controller.py +155 -0
  387. karabogui/graph/image/aux_plots/tests/__init__.py +16 -0
  388. karabogui/graph/image/aux_plots/tests/test_controller.py +71 -0
  389. karabogui/graph/image/base.py +655 -0
  390. karabogui/graph/image/colorbar.py +190 -0
  391. karabogui/graph/image/dialogs/__init__.py +16 -0
  392. karabogui/graph/image/dialogs/levels.py +157 -0
  393. karabogui/graph/image/dialogs/levels_dialog.ui +298 -0
  394. karabogui/graph/image/dialogs/tests/__init__.py +16 -0
  395. karabogui/graph/image/dialogs/tests/test_levels_dialog.py +282 -0
  396. karabogui/graph/image/dialogs/transforms.py +76 -0
  397. karabogui/graph/image/dialogs/transforms.ui +236 -0
  398. karabogui/graph/image/image_node.py +112 -0
  399. karabogui/graph/image/item.py +559 -0
  400. karabogui/graph/image/legends/__init__.py +16 -0
  401. karabogui/graph/image/legends/picker.py +78 -0
  402. karabogui/graph/image/legends/scale.py +35 -0
  403. karabogui/graph/image/plot.py +397 -0
  404. karabogui/graph/image/roll_image.py +89 -0
  405. karabogui/graph/image/tests/__init__.py +16 -0
  406. karabogui/graph/image/tests/test_base.py +148 -0
  407. karabogui/graph/image/tests/test_image.py +116 -0
  408. karabogui/graph/image/tests/test_image_node.py +23 -0
  409. karabogui/graph/image/tests/test_item.py +172 -0
  410. karabogui/graph/image/tests/test_roll_image.py +108 -0
  411. karabogui/graph/image/tests/test_utils.py +100 -0
  412. karabogui/graph/image/tools/__init__.py +16 -0
  413. karabogui/graph/image/tools/picker.py +216 -0
  414. karabogui/graph/image/tools/tests/test_toolbar.py +167 -0
  415. karabogui/graph/image/tools/toolbar.py +68 -0
  416. karabogui/graph/image/utils.py +259 -0
  417. karabogui/graph/image/viewbox.py +51 -0
  418. karabogui/graph/plots/__init__.py +16 -0
  419. karabogui/graph/plots/api.py +25 -0
  420. karabogui/graph/plots/base.py +777 -0
  421. karabogui/graph/plots/dialogs/__init__.py +20 -0
  422. karabogui/graph/plots/dialogs/data_analysis.py +341 -0
  423. karabogui/graph/plots/dialogs/data_analysis.ui +336 -0
  424. karabogui/graph/plots/dialogs/hist_config.py +68 -0
  425. karabogui/graph/plots/dialogs/hist_config.ui +203 -0
  426. karabogui/graph/plots/dialogs/range_config.py +89 -0
  427. karabogui/graph/plots/dialogs/range_config.ui +269 -0
  428. karabogui/graph/plots/dialogs/transform_config.py +50 -0
  429. karabogui/graph/plots/dialogs/transform_config.ui +207 -0
  430. karabogui/graph/plots/dialogs/view.py +79 -0
  431. karabogui/graph/plots/dialogs/view.ui +107 -0
  432. karabogui/graph/plots/items.py +156 -0
  433. karabogui/graph/plots/tests/__init__.py +16 -0
  434. karabogui/graph/plots/tests/test_base.py +386 -0
  435. karabogui/graph/plots/tests/test_data_analysis_dialog.py +247 -0
  436. karabogui/graph/plots/tests/test_range_dialog.py +52 -0
  437. karabogui/graph/plots/tests/test_target_tool.py +56 -0
  438. karabogui/graph/plots/tests/test_utils.py +45 -0
  439. karabogui/graph/plots/tests/test_view_dialog.py +66 -0
  440. karabogui/graph/plots/tools/__init__.py +18 -0
  441. karabogui/graph/plots/tools/target.py +134 -0
  442. karabogui/graph/plots/utils.py +121 -0
  443. karabogui/icons/__init__.py +231 -0
  444. karabogui/icons/about.svg +100 -0
  445. karabogui/icons/add.svg +87 -0
  446. karabogui/icons/alarm_none.svg +144 -0
  447. karabogui/icons/alarmwarning.svg +167 -0
  448. karabogui/icons/align-bottom.svg +1 -0
  449. karabogui/icons/align-left.svg +1 -0
  450. karabogui/icons/align-right.svg +1 -0
  451. karabogui/icons/align-top.svg +1 -0
  452. karabogui/icons/app_logo.png +0 -0
  453. karabogui/icons/apply-32x32.png +0 -0
  454. karabogui/icons/apply-conflict-32x32.png +0 -0
  455. karabogui/icons/arrow-down.svg +310 -0
  456. karabogui/icons/arrow-left.svg +310 -0
  457. karabogui/icons/arrow-right.svg +302 -0
  458. karabogui/icons/arrow-up.svg +310 -0
  459. karabogui/icons/arrow.svg +86 -0
  460. karabogui/icons/beam-profile.svg +15 -0
  461. karabogui/icons/bound-logo-development.svg +70 -0
  462. karabogui/icons/bound-logo.svg +94 -0
  463. karabogui/icons/bring-to-back1-32x32.png +0 -0
  464. karabogui/icons/bring-to-front1-32x32.png +0 -0
  465. karabogui/icons/camera.svg +153 -0
  466. karabogui/icons/change.svg +102 -0
  467. karabogui/icons/checkbox-checked.svg +140 -0
  468. karabogui/icons/checkbox-unchecked.svg +135 -0
  469. karabogui/icons/clock.svg +169 -0
  470. karabogui/icons/close-icon-20x20.svg +52 -0
  471. karabogui/icons/close-icon.svg +148 -0
  472. karabogui/icons/computer-32x32.png +0 -0
  473. karabogui/icons/console-menu.svg +115 -0
  474. karabogui/icons/cpp-logo-development.svg +84 -0
  475. karabogui/icons/cpp-logo.svg +25 -0
  476. karabogui/icons/critical.svg +144 -0
  477. karabogui/icons/crop.svg +91 -0
  478. karabogui/icons/crosshair.svg +12 -0
  479. karabogui/icons/cursor-arrow-32x32.png +0 -0
  480. karabogui/icons/data_analysis.svg +390 -0
  481. karabogui/icons/delete-32x32.png +0 -0
  482. karabogui/icons/device-alive.svg +66 -0
  483. karabogui/icons/device-class.png +0 -0
  484. karabogui/icons/device-dead.svg +66 -0
  485. karabogui/icons/device-error.svg +73 -0
  486. karabogui/icons/device-incompatible.png +0 -0
  487. karabogui/icons/device-instance-error.png +0 -0
  488. karabogui/icons/device-instance.png +0 -0
  489. karabogui/icons/device-monitored.svg +145 -0
  490. karabogui/icons/device-requested.svg +66 -0
  491. karabogui/icons/device-schema.svg +66 -0
  492. karabogui/icons/down-32x32.png +0 -0
  493. karabogui/icons/down.svg +296 -0
  494. karabogui/icons/download.svg +373 -0
  495. karabogui/icons/downsample.svg +369 -0
  496. karabogui/icons/draw-crosshair.svg +111 -0
  497. karabogui/icons/draw-roi.svg +128 -0
  498. karabogui/icons/draw.svg +394 -0
  499. karabogui/icons/edit-clear-32x32.png +0 -0
  500. karabogui/icons/edit-copy-32x32.png +0 -0
  501. karabogui/icons/edit-cut-32x32.png +0 -0
  502. karabogui/icons/edit-find.svg +174 -0
  503. karabogui/icons/edit-paste-replace.svg +4034 -0
  504. karabogui/icons/edit-paste.svg +707 -0
  505. karabogui/icons/edit-remove.svg +187 -0
  506. karabogui/icons/edit-undo.png +0 -0
  507. karabogui/icons/edit.svg +189 -0
  508. karabogui/icons/electronic-log.svg +290 -0
  509. karabogui/icons/entire.svg +87 -0
  510. karabogui/icons/eraser.svg +105 -0
  511. karabogui/icons/error-32x32.png +0 -0
  512. karabogui/icons/error-bool.svg +78 -0
  513. karabogui/icons/exit-32x32.png +0 -0
  514. karabogui/icons/export.svg +2502 -0
  515. karabogui/icons/fancy-arrow-down.svg +188 -0
  516. karabogui/icons/fancy-arrow-left.svg +188 -0
  517. karabogui/icons/fancy-arrow-right.svg +188 -0
  518. karabogui/icons/fancy-arrow-up.svg +184 -0
  519. karabogui/icons/file-open.svg +129 -0
  520. karabogui/icons/file.svg +189 -0
  521. karabogui/icons/filein-32x32.png +0 -0
  522. karabogui/icons/filenew-32x32.png +0 -0
  523. karabogui/icons/fileout-32x32.png +0 -0
  524. karabogui/icons/filesave-32x32.png +0 -0
  525. karabogui/icons/filesaveas-32x32.png +0 -0
  526. karabogui/icons/folder-cloud.svg +347 -0
  527. karabogui/icons/folder-domain.svg +243 -0
  528. karabogui/icons/folder-record.svg +435 -0
  529. karabogui/icons/folder-trash.svg +329 -0
  530. karabogui/icons/folder-type.svg +243 -0
  531. karabogui/icons/folder.svg +94 -0
  532. karabogui/icons/grafana.svg +28 -0
  533. karabogui/icons/grid.svg +23 -0
  534. karabogui/icons/group-32x32.png +0 -0
  535. karabogui/icons/group-grid.svg +84 -0
  536. karabogui/icons/group-horizontal.svg +77 -0
  537. karabogui/icons/group-vertical.svg +80 -0
  538. karabogui/icons/halt.svg +94 -0
  539. karabogui/icons/histogram.svg +227 -0
  540. karabogui/icons/homeedit.svg +69 -0
  541. karabogui/icons/image-gray-32x32.png +0 -0
  542. karabogui/icons/image-missing.svg +227 -0
  543. karabogui/icons/inspect-error.svg +444 -0
  544. karabogui/icons/inspect-ok.svg +346 -0
  545. karabogui/icons/inspect.svg +720 -0
  546. karabogui/icons/interlock.svg +133 -0
  547. karabogui/icons/invisibleEye.svg +88 -0
  548. karabogui/icons/lamp-active.png +0 -0
  549. karabogui/icons/lamp-changing.png +0 -0
  550. karabogui/icons/lamp-disabled.png +0 -0
  551. karabogui/icons/lamp-error.png +0 -0
  552. karabogui/icons/lamp-init.png +0 -0
  553. karabogui/icons/lamp-known.png +0 -0
  554. karabogui/icons/lamp-passive.png +0 -0
  555. karabogui/icons/lamp-running.png +0 -0
  556. karabogui/icons/lamp-static.png +0 -0
  557. karabogui/icons/lamp-unknown.png +0 -0
  558. karabogui/icons/lamp_reference.svg +811 -0
  559. karabogui/icons/line.svg +66 -0
  560. karabogui/icons/link-32x32.png +0 -0
  561. karabogui/icons/lock_switch.svg +80 -0
  562. karabogui/icons/lock_switch_active.svg +161 -0
  563. karabogui/icons/lock_switch_warning.svg +141 -0
  564. karabogui/icons/locked.svg +1158 -0
  565. karabogui/icons/log-alarm-32x32.png +0 -0
  566. karabogui/icons/log-debug-32x32.png +0 -0
  567. karabogui/icons/log-error-32x32.png +0 -0
  568. karabogui/icons/log-info-32x32.png +0 -0
  569. karabogui/icons/log-menu.svg +89 -0
  570. karabogui/icons/log-warning-32x32.png +0 -0
  571. karabogui/icons/macro-logo-development.svg +73 -0
  572. karabogui/icons/macro-logo.svg +94 -0
  573. karabogui/icons/media-pause.svg +91 -0
  574. karabogui/icons/media-record.svg +60 -0
  575. karabogui/icons/media-reset.svg +87 -0
  576. karabogui/icons/media-start.svg +87 -0
  577. karabogui/icons/media-stop.svg +87 -0
  578. karabogui/icons/minus.svg +424 -0
  579. karabogui/icons/move.svg +7 -0
  580. karabogui/icons/no.png +0 -0
  581. karabogui/icons/off.svg +23 -0
  582. karabogui/icons/offline-32x32.png +0 -0
  583. karabogui/icons/offline-no-plugin.png +0 -0
  584. karabogui/icons/offline-no-server.png +0 -0
  585. karabogui/icons/ok-bool.svg +72 -0
  586. karabogui/icons/on.svg +151 -0
  587. karabogui/icons/picker.svg +10 -0
  588. karabogui/icons/plus.svg +24 -0
  589. karabogui/icons/pointer.svg +49 -0
  590. karabogui/icons/printer.svg +124 -0
  591. karabogui/icons/property-missing.svg +66 -0
  592. karabogui/icons/python-logo-development.svg +97 -0
  593. karabogui/icons/python-logo.svg +113 -0
  594. karabogui/icons/rect-32x32.png +0 -0
  595. karabogui/icons/refresh-32x32.png +0 -0
  596. karabogui/icons/remote.png +0 -0
  597. karabogui/icons/remove.svg +87 -0
  598. karabogui/icons/remove_user.svg +74 -0
  599. karabogui/icons/reset-tilted.svg +217 -0
  600. karabogui/icons/reset.svg +104 -0
  601. karabogui/icons/resize.svg +50 -0
  602. karabogui/icons/roi.svg +13 -0
  603. karabogui/icons/run.png +0 -0
  604. karabogui/icons/scatter.svg +243 -0
  605. karabogui/icons/scenelink-32x32.png +0 -0
  606. karabogui/icons/select-all.svg +88 -0
  607. karabogui/icons/send.svg +99 -0
  608. karabogui/icons/splash.png +0 -0
  609. karabogui/icons/split.svg +71 -0
  610. karabogui/icons/statefulicons/__init__.py +26 -0
  611. karabogui/icons/statefulicons/color_change_icon.py +118 -0
  612. karabogui/icons/statefulicons/iconset/2d_imager.svg +485 -0
  613. karabogui/icons/statefulicons/iconset/attenuator.svg +201 -0
  614. karabogui/icons/statefulicons/iconset/bellows.svg +239 -0
  615. karabogui/icons/statefulicons/iconset/bolted_flange.svg +131 -0
  616. karabogui/icons/statefulicons/iconset/buffer.svg +193 -0
  617. karabogui/icons/statefulicons/iconset/change_in_duct_sizes.svg +89 -0
  618. karabogui/icons/statefulicons/iconset/clamped_flange.svg +100 -0
  619. karabogui/icons/statefulicons/iconset/collimator.svg +215 -0
  620. karabogui/icons/statefulicons/iconset/compound_refractive_lens.svg +195 -0
  621. karabogui/icons/statefulicons/iconset/dgs.svg +266 -0
  622. karabogui/icons/statefulicons/iconset/diff_ion_pump.svg +174 -0
  623. karabogui/icons/statefulicons/iconset/diff_pumping_stages.svg +197 -0
  624. karabogui/icons/statefulicons/iconset/drawing.svg +79 -0
  625. karabogui/icons/statefulicons/iconset/gate_valve.svg +47 -0
  626. karabogui/icons/statefulicons/iconset/gate_valve_rot.svg +78 -0
  627. karabogui/icons/statefulicons/iconset/icon_align_laser.svg +108 -0
  628. karabogui/icons/statefulicons/iconset/icon_bdump.svg +111 -0
  629. karabogui/icons/statefulicons/iconset/icon_bent_crys_spec.svg +100 -0
  630. karabogui/icons/statefulicons/iconset/icon_bs_det.svg +102 -0
  631. karabogui/icons/statefulicons/iconset/icon_bs_det_beampos.svg +177 -0
  632. karabogui/icons/statefulicons/iconset/icon_bs_det_intensity.svg +146 -0
  633. karabogui/icons/statefulicons/iconset/icon_cslit.svg +105 -0
  634. karabogui/icons/statefulicons/iconset/icon_dmirr.svg +88 -0
  635. karabogui/icons/statefulicons/iconset/icon_filter.svg +73 -0
  636. karabogui/icons/statefulicons/iconset/icon_gas_bpm.svg +188 -0
  637. karabogui/icons/statefulicons/iconset/icon_gas_flux_mon.svg +173 -0
  638. karabogui/icons/statefulicons/iconset/icon_gas_izero.svg +179 -0
  639. karabogui/icons/statefulicons/iconset/icon_gas_pes.svg +173 -0
  640. karabogui/icons/statefulicons/iconset/icon_gas_pol.svg +178 -0
  641. karabogui/icons/statefulicons/iconset/icon_gas_throughput.svg +372 -0
  642. karabogui/icons/statefulicons/iconset/icon_gauge_controller.svg +213 -0
  643. karabogui/icons/statefulicons/iconset/icon_kbmirror.svg +105 -0
  644. karabogui/icons/statefulicons/iconset/icon_kmono.svg +93 -0
  645. karabogui/icons/statefulicons/iconset/icon_massflow_controller.svg +230 -0
  646. karabogui/icons/statefulicons/iconset/icon_membrane_pump.svg +130 -0
  647. karabogui/icons/statefulicons/iconset/icon_n2.svg +209 -0
  648. karabogui/icons/statefulicons/iconset/icon_opt_laser_coupl.svg +218 -0
  649. karabogui/icons/statefulicons/iconset/icon_pslit.svg +99 -0
  650. karabogui/icons/statefulicons/iconset/icon_roots_pump.svg +142 -0
  651. karabogui/icons/statefulicons/iconset/icon_sample_chamber.svg +89 -0
  652. karabogui/icons/statefulicons/iconset/icon_shutter.svg +101 -0
  653. karabogui/icons/statefulicons/iconset/icon_vacuum_pump.svg +123 -0
  654. karabogui/icons/statefulicons/iconset/icon_valve_motor.svg +96 -0
  655. karabogui/icons/statefulicons/iconset/icon_valve_variable_leak.svg +92 -0
  656. karabogui/icons/statefulicons/iconset/icon_xray_loss_mon.svg +173 -0
  657. karabogui/icons/statefulicons/iconset/ion_pump.svg +220 -0
  658. karabogui/icons/statefulicons/iconset/izero.svg +184 -0
  659. karabogui/icons/statefulicons/iconset/manual_valve.svg +86 -0
  660. karabogui/icons/statefulicons/iconset/multi_channel_plate.svg +167 -0
  661. karabogui/icons/statefulicons/iconset/no_icon.svg +5082 -0
  662. karabogui/icons/statefulicons/iconset/pirani_bayard_dual_gauge.svg +89 -0
  663. karabogui/icons/statefulicons/iconset/pirani_cold_cathode_dual_gauge.svg +89 -0
  664. karabogui/icons/statefulicons/iconset/pirani_gauge.svg +88 -0
  665. karabogui/icons/statefulicons/iconset/pirani_gauge_inverted.svg +53 -0
  666. karabogui/icons/statefulicons/iconset/pneumatic_valve.svg +69 -0
  667. karabogui/icons/statefulicons/iconset/pold.svg +192 -0
  668. karabogui/icons/statefulicons/iconset/pop_in_screen.svg +184 -0
  669. karabogui/icons/statefulicons/iconset/psd.svg +202 -0
  670. karabogui/icons/statefulicons/iconset/scroll_pump.svg +385 -0
  671. karabogui/icons/statefulicons/iconset/segmented_detector.svg +188 -0
  672. karabogui/icons/statefulicons/iconset/solenoid_valve.svg +114 -0
  673. karabogui/icons/statefulicons/iconset/t_piece.svg +199 -0
  674. karabogui/icons/statefulicons/iconset/timing_diag.svg +176 -0
  675. karabogui/icons/statefulicons/iconset/turbo_pump.svg +138 -0
  676. karabogui/icons/statefulicons/iconset/vacuum_gauge.svg +75 -0
  677. karabogui/icons/statefulicons/iconset/wavsen.svg +211 -0
  678. karabogui/icons/statusError.svg +28 -0
  679. karabogui/icons/statusOffline.svg +59 -0
  680. karabogui/icons/statusOk.svg +21 -0
  681. karabogui/icons/statusUnknown.svg +65 -0
  682. karabogui/icons/sticker.svg +143 -0
  683. karabogui/icons/stop.svg +74 -0
  684. karabogui/icons/switch-bool.svg +87 -0
  685. karabogui/icons/target.svg +82 -0
  686. karabogui/icons/text-32x32.png +0 -0
  687. karabogui/icons/transform-32x32.png +0 -0
  688. karabogui/icons/tunnel.png +0 -0
  689. karabogui/icons/type-boolean.png +0 -0
  690. karabogui/icons/type-float.png +0 -0
  691. karabogui/icons/type-integer.png +0 -0
  692. karabogui/icons/type-list.png +0 -0
  693. karabogui/icons/type-pair.png +0 -0
  694. karabogui/icons/type-schema.png +0 -0
  695. karabogui/icons/type-string-attribute.png +0 -0
  696. karabogui/icons/type-string.png +0 -0
  697. karabogui/icons/type-undefined-attribute.png +0 -0
  698. karabogui/icons/type-undefined.png +0 -0
  699. karabogui/icons/ungroup-32x32.png +0 -0
  700. karabogui/icons/up-32x32.png +0 -0
  701. karabogui/icons/up.svg +296 -0
  702. karabogui/icons/view-maximize.svg +76 -0
  703. karabogui/icons/view-minimize.svg +103 -0
  704. karabogui/icons/wait-black.gif +0 -0
  705. karabogui/icons/wait.gif +0 -0
  706. karabogui/icons/warning.svg +145 -0
  707. karabogui/icons/weblink.svg +230 -0
  708. karabogui/icons/yes.png +0 -0
  709. karabogui/icons/zoom-image.svg +1186 -0
  710. karabogui/icons/zoom-in.svg +1125 -0
  711. karabogui/icons/zoom-out.svg +1126 -0
  712. karabogui/icons/zoom.svg +90 -0
  713. karabogui/indicators.py +307 -0
  714. karabogui/itemtypes.py +45 -0
  715. karabogui/logger.py +127 -0
  716. karabogui/mainwindow.py +1036 -0
  717. karabogui/messagebox.py +109 -0
  718. karabogui/navigation/__init__.py +16 -0
  719. karabogui/navigation/context.py +143 -0
  720. karabogui/navigation/device_filter_model.py +131 -0
  721. karabogui/navigation/device_model.py +192 -0
  722. karabogui/navigation/device_view.py +277 -0
  723. karabogui/navigation/system_filter_model.py +186 -0
  724. karabogui/navigation/system_model.py +228 -0
  725. karabogui/navigation/system_view.py +477 -0
  726. karabogui/navigation/tests/__init__.py +16 -0
  727. karabogui/navigation/tests/test_device_model_view.py +289 -0
  728. karabogui/navigation/tests/test_system_model_view.py +366 -0
  729. karabogui/navigation/tests/test_utils.py +12 -0
  730. karabogui/navigation/tools.py +82 -0
  731. karabogui/navigation/utils.py +43 -0
  732. karabogui/panels/__init__.py +16 -0
  733. karabogui/panels/api.py +26 -0
  734. karabogui/panels/base.py +335 -0
  735. karabogui/panels/configurationpanel.py +803 -0
  736. karabogui/panels/container.py +274 -0
  737. karabogui/panels/devicepanel.py +72 -0
  738. karabogui/panels/loggingpanel.py +94 -0
  739. karabogui/panels/macropanel.py +317 -0
  740. karabogui/panels/navigationpanel.py +106 -0
  741. karabogui/panels/panel_info.py +57 -0
  742. karabogui/panels/placeholderpanel.py +42 -0
  743. karabogui/panels/projectpanel.py +367 -0
  744. karabogui/panels/scenepanel.py +712 -0
  745. karabogui/panels/searchwidget.py +152 -0
  746. karabogui/panels/tests/__init__.py +16 -0
  747. karabogui/panels/tests/test_configurationpanel.py +639 -0
  748. karabogui/panels/tests/test_controller_panel.py +89 -0
  749. karabogui/panels/tests/test_devicepanel.py +34 -0
  750. karabogui/panels/tests/test_log_panel.py +51 -0
  751. karabogui/panels/tests/test_macro_panel.py +77 -0
  752. karabogui/panels/tests/test_navigation_panel.py +35 -0
  753. karabogui/panels/tests/test_project_panel.py +32 -0
  754. karabogui/panels/tests/test_scenepanel.py +92 -0
  755. karabogui/panels/tests/test_search_validate.py +67 -0
  756. karabogui/panels/tests/test_utils.py +48 -0
  757. karabogui/panels/tool_widget.py +299 -0
  758. karabogui/panels/ui/combo_filter.ui +150 -0
  759. karabogui/panels/ui/configurator_filter.ui +121 -0
  760. karabogui/panels/ui/project_filter.ui +175 -0
  761. karabogui/panels/utils.py +81 -0
  762. karabogui/panels/widgetcontrollerpanel.py +114 -0
  763. karabogui/pathparser.py +138 -0
  764. karabogui/programs/__init__.py +16 -0
  765. karabogui/programs/base.py +191 -0
  766. karabogui/programs/cinema.py +110 -0
  767. karabogui/programs/concert.py +110 -0
  768. karabogui/programs/gui_runner.py +50 -0
  769. karabogui/programs/panel_runner.py +128 -0
  770. karabogui/programs/protocol_handler.py +146 -0
  771. karabogui/programs/register_protocol.py +103 -0
  772. karabogui/programs/scene_test.py +165 -0
  773. karabogui/programs/tests/__init__.py +16 -0
  774. karabogui/programs/tests/concert.yml +10 -0
  775. karabogui/programs/tests/test_base.py +41 -0
  776. karabogui/programs/tests/test_cinema.py +57 -0
  777. karabogui/programs/tests/test_concert.py +80 -0
  778. karabogui/programs/tests/test_protocol_handler.py +158 -0
  779. karabogui/programs/tests/test_theatre.py +130 -0
  780. karabogui/programs/theatre.py +231 -0
  781. karabogui/programs/utils.py +98 -0
  782. karabogui/project/__init__.py +16 -0
  783. karabogui/project/api.py +21 -0
  784. karabogui/project/controller/__init__.py +16 -0
  785. karabogui/project/controller/bases.py +241 -0
  786. karabogui/project/controller/build.py +210 -0
  787. karabogui/project/controller/device.py +770 -0
  788. karabogui/project/controller/device_config.py +210 -0
  789. karabogui/project/controller/macro.py +353 -0
  790. karabogui/project/controller/project.py +78 -0
  791. karabogui/project/controller/project_groups.py +460 -0
  792. karabogui/project/controller/scene.py +259 -0
  793. karabogui/project/controller/server.py +404 -0
  794. karabogui/project/controller/subproject.py +180 -0
  795. karabogui/project/controller/tests/__init__.py +16 -0
  796. karabogui/project/controller/tests/test_base_controller.py +157 -0
  797. karabogui/project/controller/tests/test_device_config_controller.py +76 -0
  798. karabogui/project/controller/tests/test_device_instance_controller.py +172 -0
  799. karabogui/project/controller/tests/test_device_server_controller.py +111 -0
  800. karabogui/project/controller/tests/test_macro_controller.py +142 -0
  801. karabogui/project/controller/tests/test_project_controller.py +140 -0
  802. karabogui/project/controller/tests/test_project_groups.py +108 -0
  803. karabogui/project/controller/tests/utils.py +21 -0
  804. karabogui/project/dialog/__init__.py +16 -0
  805. karabogui/project/dialog/device_configuration.py +163 -0
  806. karabogui/project/dialog/device_handle.py +194 -0
  807. karabogui/project/dialog/load_project_with_device.py +274 -0
  808. karabogui/project/dialog/move_handle.py +87 -0
  809. karabogui/project/dialog/object_handle.py +144 -0
  810. karabogui/project/dialog/project_handle.py +502 -0
  811. karabogui/project/dialog/server_handle.py +93 -0
  812. karabogui/project/dialog/tests/__init__.py +16 -0
  813. karabogui/project/dialog/tests/test_move_handle.py +31 -0
  814. karabogui/project/dialog/tests/test_object_handle.py +76 -0
  815. karabogui/project/dialog/tests/test_project_conf_dialog.py +160 -0
  816. karabogui/project/dialog/ui/device_configuration.ui +253 -0
  817. karabogui/project/dialog/ui/device_handle.ui +159 -0
  818. karabogui/project/dialog/ui/load_project_with_device.ui +135 -0
  819. karabogui/project/dialog/ui/object_duplicate.ui +106 -0
  820. karabogui/project/dialog/ui/object_edit.ui +78 -0
  821. karabogui/project/dialog/ui/project_handle.ui +162 -0
  822. karabogui/project/dialog/ui/project_new.ui +95 -0
  823. karabogui/project/dialog/ui/server_handle.ui +95 -0
  824. karabogui/project/dialog/utils.py +25 -0
  825. karabogui/project/loading_watcher.py +76 -0
  826. karabogui/project/restore.py +94 -0
  827. karabogui/project/tests/test_restore.py +31 -0
  828. karabogui/project/tests/test_utils.py +68 -0
  829. karabogui/project/topo_listener.py +38 -0
  830. karabogui/project/utils.py +572 -0
  831. karabogui/project/view.py +377 -0
  832. karabogui/request.py +367 -0
  833. karabogui/sceneview/__init__.py +16 -0
  834. karabogui/sceneview/api.py +25 -0
  835. karabogui/sceneview/bases.py +79 -0
  836. karabogui/sceneview/builder.py +256 -0
  837. karabogui/sceneview/const.py +79 -0
  838. karabogui/sceneview/layout/__init__.py +16 -0
  839. karabogui/sceneview/layout/api.py +19 -0
  840. karabogui/sceneview/layout/base.py +111 -0
  841. karabogui/sceneview/layout/layouts.py +197 -0
  842. karabogui/sceneview/layout/shape.py +108 -0
  843. karabogui/sceneview/selection_model.py +90 -0
  844. karabogui/sceneview/shapes.py +356 -0
  845. karabogui/sceneview/tests/__init__.py +16 -0
  846. karabogui/sceneview/tests/data/parse_scene.svg +1836 -0
  847. karabogui/sceneview/tests/test_deprecated_widgets.py +320 -0
  848. karabogui/sceneview/tests/test_fonts.py +216 -0
  849. karabogui/sceneview/tests/test_layouts.py +58 -0
  850. karabogui/sceneview/tests/test_reading_scenes.py +37 -0
  851. karabogui/sceneview/tests/test_selection_model.py +104 -0
  852. karabogui/sceneview/tests/test_shapes.py +68 -0
  853. karabogui/sceneview/tests/test_utils.py +40 -0
  854. karabogui/sceneview/tests/test_view.py +621 -0
  855. karabogui/sceneview/tools/__init__.py +16 -0
  856. karabogui/sceneview/tools/actions.py +277 -0
  857. karabogui/sceneview/tools/api.py +35 -0
  858. karabogui/sceneview/tools/clipboard.py +276 -0
  859. karabogui/sceneview/tools/drawing.py +362 -0
  860. karabogui/sceneview/tools/scenedndhandler.py +282 -0
  861. karabogui/sceneview/tools/selection.py +335 -0
  862. karabogui/sceneview/tools/tests/__init__.py +16 -0
  863. karabogui/sceneview/tools/tests/test_actions.py +127 -0
  864. karabogui/sceneview/tools/tests/test_clipboard.py +191 -0
  865. karabogui/sceneview/tools/tests/test_drawing.py +123 -0
  866. karabogui/sceneview/tools/tests/test_scenedndhandler.py +127 -0
  867. karabogui/sceneview/tools/tests/test_widgethandler.py +116 -0
  868. karabogui/sceneview/tools/widgethandler.py +234 -0
  869. karabogui/sceneview/utils.py +146 -0
  870. karabogui/sceneview/view.py +719 -0
  871. karabogui/sceneview/widget/__init__.py +16 -0
  872. karabogui/sceneview/widget/api.py +25 -0
  873. karabogui/sceneview/widget/container.py +320 -0
  874. karabogui/sceneview/widget/grid.py +91 -0
  875. karabogui/sceneview/widget/label.py +162 -0
  876. karabogui/sceneview/widget/link.py +283 -0
  877. karabogui/sceneview/widget/renderer.py +93 -0
  878. karabogui/sceneview/widget/status.py +122 -0
  879. karabogui/sceneview/widget/sticker.py +113 -0
  880. karabogui/sceneview/widget/tests/__init__.py +16 -0
  881. karabogui/sceneview/widget/tests/test_container.py +163 -0
  882. karabogui/sceneview/widget/tests/test_label.py +91 -0
  883. karabogui/sceneview/widget/tests/test_link.py +279 -0
  884. karabogui/sceneview/widget/tests/test_renderer.py +71 -0
  885. karabogui/sceneview/widget/tests/test_status.py +111 -0
  886. karabogui/sceneview/widget/tests/test_sticker.py +78 -0
  887. karabogui/sceneview/widget/unknown.py +153 -0
  888. karabogui/sceneview/widget/utils.py +42 -0
  889. karabogui/singletons/__init__.py +16 -0
  890. karabogui/singletons/api.py +91 -0
  891. karabogui/singletons/configuration.py +293 -0
  892. karabogui/singletons/db_connection.py +402 -0
  893. karabogui/singletons/manager.py +863 -0
  894. karabogui/singletons/mediator.py +70 -0
  895. karabogui/singletons/network.py +680 -0
  896. karabogui/singletons/panel_wrangler.py +467 -0
  897. karabogui/singletons/project_model.py +434 -0
  898. karabogui/singletons/selection_tracker.py +45 -0
  899. karabogui/singletons/tests/__init__.py +16 -0
  900. karabogui/singletons/tests/test_configuration.py +161 -0
  901. karabogui/singletons/tests/test_db_connection.py +197 -0
  902. karabogui/singletons/tests/test_manager.py +1014 -0
  903. karabogui/singletons/tests/test_mediator.py +62 -0
  904. karabogui/singletons/tests/test_network.py +387 -0
  905. karabogui/singletons/tests/test_project_model.py +63 -0
  906. karabogui/singletons/tests/test_selection_tracker.py +53 -0
  907. karabogui/singletons/tests/test_util.py +230 -0
  908. karabogui/singletons/util.py +106 -0
  909. karabogui/testing/__init__.py +29 -0
  910. karabogui/testing/schema.py +230 -0
  911. karabogui/testing/utils.py +446 -0
  912. karabogui/tests/__init__.py +16 -0
  913. karabogui/tests/data/multiple_arrays.npz +0 -0
  914. karabogui/tests/data/single_array.npy +0 -0
  915. karabogui/tests/test_background.py +138 -0
  916. karabogui/tests/test_fonts.py +39 -0
  917. karabogui/tests/test_imports.py +38 -0
  918. karabogui/tests/test_logger.py +56 -0
  919. karabogui/tests/test_mainwindow.py +121 -0
  920. karabogui/tests/test_request.py +275 -0
  921. karabogui/tests/test_util.py +201 -0
  922. karabogui/topology/__init__.py +16 -0
  923. karabogui/topology/api.py +23 -0
  924. karabogui/topology/device_tree.py +310 -0
  925. karabogui/topology/project_device.py +287 -0
  926. karabogui/topology/system_topology.py +563 -0
  927. karabogui/topology/system_tree.py +468 -0
  928. karabogui/topology/tests/__init__.py +16 -0
  929. karabogui/topology/tests/test_device_tree.py +68 -0
  930. karabogui/topology/tests/test_project_device.py +79 -0
  931. karabogui/topology/tests/test_system_topology.py +423 -0
  932. karabogui/topology/tests/test_system_tree.py +135 -0
  933. karabogui/topology/tests/utils.py +27 -0
  934. karabogui/topology/util.py +91 -0
  935. karabogui/util.py +446 -0
  936. karabogui/validators.py +218 -0
  937. karabogui/widgets/__init__.py +16 -0
  938. karabogui/widgets/api.py +23 -0
  939. karabogui/widgets/edits.py +40 -0
  940. karabogui/widgets/find_toolbar.py +116 -0
  941. karabogui/widgets/hints.py +200 -0
  942. karabogui/widgets/ipython.py +176 -0
  943. karabogui/widgets/log.py +377 -0
  944. karabogui/widgets/popup.py +129 -0
  945. karabogui/widgets/range_slider.py +332 -0
  946. karabogui/widgets/scintilla_api.py +88 -0
  947. karabogui/widgets/scintilla_editor.py +494 -0
  948. karabogui/widgets/scintilla_lexer.py +87 -0
  949. karabogui/widgets/tests/__init__.py +16 -0
  950. karabogui/widgets/tests/test_find_toolbar.py +64 -0
  951. karabogui/widgets/tests/test_hints.py +28 -0
  952. karabogui/widgets/tests/test_log.py +99 -0
  953. karabogui/widgets/tests/test_popup.py +77 -0
  954. karabogui/widgets/tests/test_range_slider.py +190 -0
  955. karabogui/widgets/tests/test_scintilla_editor.py +302 -0
  956. karabogui/widgets/tests/test_toolbar.py +43 -0
  957. karabogui/widgets/toolbar.py +39 -0
  958. karabogui/widgets/ui/find_widget.ui +309 -0
  959. karabogui/wizards/__init__.py +18 -0
  960. karabogui/wizards/api.py +19 -0
  961. karabogui/wizards/cinema/__init__.py +16 -0
  962. karabogui/wizards/cinema/const.py +26 -0
  963. karabogui/wizards/cinema/controllers.py +167 -0
  964. karabogui/wizards/cinema/link.ui +172 -0
  965. karabogui/wizards/cinema/pages.py +376 -0
  966. karabogui/wizards/cinema/tests/__init__.py +16 -0
  967. karabogui/wizards/cinema/tests/test_controller.py +281 -0
  968. karabogui/wizards/cinema/wizard.py +116 -0
  969. karabogui/wizards/tips/__init__.py +16 -0
  970. karabogui/wizards/tips/note_1.html +61 -0
  971. karabogui/wizards/tips/note_2.html +52 -0
  972. karabogui/wizards/tips/note_3.html +35 -0
  973. karabogui/wizards/tips/note_4.html +41 -0
  974. karabogui/wizards/tips/note_5.html +35 -0
  975. karabogui/wizards/tips/note_6.html +35 -0
  976. karabogui/wizards/tips/note_7.html +34 -0
  977. karabogui/wizards/tips/note_8.html +35 -0
  978. karabogui/wizards/tips/tests/__init__.py +16 -0
  979. karabogui/wizards/tips/tests/test_tip_wizard.py +66 -0
  980. karabogui/wizards/tips/wizard.py +110 -0
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.4
2
+ Name: karabo.gui
3
+ Version: 2.21.3
4
+ Summary: Karabo's Graphical User Interface
5
+ Author-email: European XFEL GmbH <opensource@xfel.eu>
6
+ Maintainer-email: "S. Hauf" <steffen.hauf@xfel.eu>, "D. Goeries" <dennis.goeries@xfel.eu>
7
+ License-Expression: GPL-3.0-or-later
8
+ Project-URL: Homepage, https://github.com/European-XFEL/Karabo
9
+ Project-URL: Bug Reports, https://github.com/European-XFEL/Karabo/issues
10
+ Project-URL: Source, https://github.com/European-XFEL/Karabo
11
+ Keywords: Karabo,SCADA,PyQt,control system
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Requires-Python: >=3.12
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE.md
18
+ Requires-Dist: cycler==0.10.0
19
+ Requires-Dist: flake8==6.1.0
20
+ Requires-Dist: isort==5.8.0
21
+ Requires-Dist: karabo-native==2.21.3
22
+ Requires-Dist: lttbc>=0.3.0
23
+ Requires-Dist: lxml>=5.3.2
24
+ Requires-Dist: natsort==6.2.0
25
+ Requires-Dist: numpy==2.1.3
26
+ Requires-Dist: pint>=0.24.4
27
+ Requires-Dist: pyqt5>=5.15
28
+ Requires-Dist: pyqtgraph==0.13.3
29
+ Requires-Dist: pytest-cov==2.12.1
30
+ Requires-Dist: pytest-mock==3.6.1
31
+ Requires-Dist: pytest-qt==4.3.1
32
+ Requires-Dist: pytest-subtests==0.11.0
33
+ Requires-Dist: pytest-xdist>=3.5
34
+ Requires-Dist: pytest>=8.2
35
+ Requires-Dist: pyyaml==6.0.1
36
+ Requires-Dist: qscintilla>=2.14.1
37
+ Requires-Dist: qtpy==2.4.1
38
+ Requires-Dist: requests==2.28.1
39
+ Requires-Dist: scipy==1.14.0
40
+ Requires-Dist: tabulate>=0.8.9
41
+ Requires-Dist: traits==6.4.3
42
+ Requires-Dist: typing-extensions==4.12.2
43
+ Requires-Dist: setuptools
44
+ Dynamic: license-file
45
+
46
+ # Karabo SCADA Framework - Services
47
+ ![Karabo Badge](https://img.shields.io/badge/Karabo-GUI-blue?style=social&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAABigAwAEAAAAAQAAABgAAAAAEQ8YrgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAAB4lJREFUSA1tVQlwU9cVPX%2FXZmuxZcuSjWyMwQaDsUvLWmo7bEOHLSnETckQBgITWpO2CSmTlqnatEyazNCWpmEZYEpCS7DLpA3FbVPWTAIJ2GZfHNsgL1iWZGuz9S19Sf%2F1fWfSYdpeaeZ96f13l3PPuY%2FZsuWA0CfdZlFWhsDR22pb28EUHrOT2yt2jcrJpWlVcqWUaFEqMcDprTXQm10RNtF%2FNdfQ%2BeLiN0bvPXZk%2FLHW4%2BH1NhvH%2FPeG9vvNG4PGHXd99p3Xji%2FfZn3j93ZrHkZVFhkIAKMDUkGVVSJsJg00%2B585v73i%2BT0vS6PDCYur56mV1YE6hqE7X5gWwFD5zafdtvKaCpImlUl5pJIjqFCM5pLcRMi41%2FV6anIR9W0ATz8cVDDQjsehen1Qfte3WdfElaIkPqSOESZgMFt6ddlZDxgl0clmZXfwjUdOt930DRUakTFF%2FX6M%2BANIyTLUTAZ9LEfez%2FmRUC%2BnhVyavMAQEOpbSbHwj4H9LAHd5VA0Q4LtiFA4IEoOnSA4THbH10IZgqlmmlUKnFU0ZJv0AqvqbHZic5dkFDlOg4wwylic%2B2Uwxey8F4FFL8GpE5EhBB1yAoiNAkYd5hZO5MrLdCqnN6YFSa%2BC40k6EmIu3HnI1q36Bs%2FHlNSVzjPnViS7vCn3E3Ml5%2FQqTjLbkFGSFAuCRckxxKNhhINBDA08wmg4jEpnAXKnToTRagMr6UEYhiWEsDq9Af23buLRgSO00GIms2JhiOd5od9sz8GN0wcYX0cvlr5qRv6kMqR1OgR6e8BxPLLyXLC4iuGunAllNEobTVvHsEiMxDD84C6sBQWw5ORgqNeLwJV2JGFSMd%2FNyWk1wDM879VlmSiyZaS8qhj%2F3H0YmDwFVfWVkD%2B9gs7rXrjnTYO1uAiumhqIhixEB%2FrRc%2FlT9LV7oUS8KJhZDZ%2FMAZ8HqZ8RTDQaSFDgkQIJsYIk9PCShBxE2Ps3OvHK7k349Y4VCN%2FroM79KJnsQs%2Blh7j%2Bp99AHh4Gy%2FNIRKPoPncMlmwB2TnFiJuy8NOty%2FDR1bew81db8SB%2BFVUuO1SWC%2FOEZfoLCp34BEXc6k215OUXnmVyzCY8tWoZdh9sxv6feFA%2Bax7utxKKzBey4UQBkjQXVjaDjuEUDr2yGasXzKTEiOE7y79OHnhfRbfNDYHjo2yByA2yBkMK65exP%2FvBc0SJjyIwOIgiuwVb1i4FapYg2toPkRaf0ZSlGQ2UR1Lo8N7Fih%2BuQVWxAx237%2BDa9Tuwm41YvmgB00ZFIzGIsjkWw7BKyDCsFhj0OlWWxzAYGEZz8wcoddjw7i82w4cgyqAgnc6M%2B%2BdYFn3K55Qo89CweB7I2Ag4UURl1XRkOAnJRBIOWiUYEmW%2FXzszSsXhAysgGhtRbTkWHD58AuXlZcjONmHJnBn49s5G3EE7skQeVAYQqTPAhKcbFqK6rAjuCS44CvIRDkUotQE5HmcHKa15UYyyFFciZFKPcOEmzXxIpWFRUuwET1mgqiosJj1qZ5QCdd9DfukkpKk%2BDDYb8jZvhSNLD53AYcAXxIWLn%2BHGjbuIyQly9szHTFlkCGlWiLJazVQovRp13953nPTSl1etXIre3gGEwxGwHAdWGxB5FjACLZuWQHUFSa8fz1Y7393thd8fRGGhA5%2B03sTfmvaj1JkHJZ2JjQeQVaZ3%2BdxKtPzlIHP67CUUuSdgWsUkdHY%2BBE%2FxNpuzKb3HQOh80pyDqHSuEiRSaToZeOTbbVi5vA7Fk0px7OSHNKQFyaRCURAj4wF4ke%2BP0D%2FMFJ9dLx4ll9pvw1lUiK%2FOqkJfIIQP%2FnERViFDhaMpmLKJBnFLPPZ7jqG55TyKSidCpYrfd%2BQ9nP%2FzvrTZOBWixQomkx6j8qNMXLvJSjuyUVb0fNh7LX300DlIFpYR9Abm5789ivfe8qBQpmp35cFI8U%2FEIuj61zlEHj3Ah6daESWjePfURfX4xfuZKdVzhOr1a%2BDIsb6zcIp5v9Z0eDwetrt4weZ4PL4r1NNTqFHurC%2BQxuG%2FU%2FBjQulXytHddg3T161BWX09Yo96cea1A8iblAcmMAp%2FuVuZv2Sh6HS5wMgjQ26XY9ubDU80a7413jEehqHswUFP68CxLlPWS4qiND43o9ouz6rBpUPvJLrbung6rHmGNlzDX1utJXYEuryqmOVQVjQ8qTMaKaOSoyfqqmq%2Bu2FRxTCwliOkibC0azRLoLGlRfLMcsrHNtS%2FJqrxqnhgcA8RhPi0b63W2adP4JP4OJGKyxqF6JdB%2BGGnwjmd6vzGdTo9q%2FrsJPHMH7Y3NGjOG%2Fe2SPQy1VRJxiHSAmhW6znPw%2B3lL2zcSG8UYP3bf52SFsQdY7K8yd%2FZhajPl6mor1Pl4SDpuXVLnDJ7NnKzjX%2BcnZ%2F%2F0vOr5vixtonzTAPn8axTtPP0jqCp%2FB9b29QkBu%2Fa1QueuvHhs%2BXk5ZpYOPpjJZV%2BkvISybE4DKoSKMrN3bbn2cUnx13s3St5QqEU7acG97hpAb58%2Ft%2BVbm450EqV9R89YcOJj%2BY37DvV%2BsLB90%2B1tHfatUNNTU3cXgrvl8609bFn7t8fxThrSai%2FQAAAAABJRU5ErkJggg%3D%3D)
48
+ ![PyPI - Version](https://img.shields.io/pypi/v/karabo-gui)
49
+ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/karabo-gui)
50
+ ![PyPI - License](https://img.shields.io/pypi/l/karabo-gui)
51
+ ![PyPI - Wheel](https://img.shields.io/pypi/wheel/karabo-gui)
52
+ ![GitHub language count](https://img.shields.io/github/languages/count/European-XFEL/Karabo)
53
+ ![GitHub top language](https://img.shields.io/github/languages/top/European-XFEL/Karabo)
54
+ ![GitHub contributors](https://img.shields.io/github/contributors/European-XFEL/Karabo)
55
+ ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/European-XFEL/Karabo)
56
+ ![GitHub Repo stars](https://img.shields.io/github/stars/European-XFEL/Karabo)
57
+
58
+ This is the Karabo GUI, the main front-end for the Karabo SCADA framework.
59
+
60
+ Please check https://pypi.org/project/Karabo/ for an overview of Karabo's components
61
+ and ways to install the full system.
62
+
63
+ # Installation
64
+
65
+ To install run
66
+
67
+ ```bash
68
+ pip install karabo.gui
69
+ ```
70
+
71
+ or use the `full` or `gui` options when installing the `karabo` package:
72
+
73
+ ```bash
74
+ pip install karabo[full]
75
+ pip install karabo[gui]
76
+ ```
77
+
78
+ This package itself is pure Python but depends on `pyqt5` which requires compiled code.
79
+
80
+ It is recommended that you install the Karabo GUI into an environment separate from other Karabo packages.
81
+
82
+ # List of commands
83
+
84
+ ## karabo-gui
85
+
86
+ Will launch a Karabo GUI.