mx-bluesky 1.4.4__tar.gz → 1.4.6__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 (473) hide show
  1. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/CONTRIBUTING.md +2 -0
  2. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.pre-commit-config.yaml +1 -1
  3. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/Dockerfile.release +6 -0
  4. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/PKG-INFO +5 -4
  5. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/hyperion/index.rst +1 -0
  6. mx_bluesky-1.4.6/docs/developer/hyperion/system-tests.rst +20 -0
  7. {mx_bluesky-1.4.4/helmchart → mx_bluesky-1.4.6/helmcharts/hyperion}/templates/deployment.yaml +17 -18
  8. {mx_bluesky-1.4.4/helmchart → mx_bluesky-1.4.6/helmcharts/hyperion}/templates/ingress.yaml +4 -4
  9. {mx_bluesky-1.4.4/helmchart → mx_bluesky-1.4.6/helmcharts/hyperion}/templates/service.yaml +3 -3
  10. {mx_bluesky-1.4.4/helmchart → mx_bluesky-1.4.6/helmcharts/hyperion}/values.yaml +1 -1
  11. mx_bluesky-1.4.6/helmcharts/redis-to-murko/Chart.yaml +6 -0
  12. mx_bluesky-1.4.6/helmcharts/redis-to-murko/templates/deployment.yaml +73 -0
  13. mx_bluesky-1.4.6/helmcharts/redis-to-murko/values.yaml +17 -0
  14. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/pyproject.toml +23 -13
  15. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/run_hyperion.sh +3 -11
  16. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/_version.py +9 -4
  17. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +14 -3
  18. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i04/thawing_plan.py +9 -13
  19. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/__init__.py +14 -0
  20. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/dcid.py +3 -1
  21. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +1 -1
  22. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +6 -3
  23. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +11 -11
  24. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +3 -3
  25. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -1
  26. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +1 -1
  27. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +3 -3
  28. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -1
  29. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +2 -2
  30. mx_bluesky-1.4.6/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +109 -0
  31. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +2 -2
  32. mx_bluesky-1.4.6/src/mx_bluesky/common/device_setup_plans/setup_panda.py +9 -0
  33. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
  34. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +11 -3
  35. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +1 -1
  36. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +6 -2
  37. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +7 -0
  38. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/parameters/constants.py +16 -0
  39. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/parameters/gridscan.py +36 -1
  40. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/plans/do_fgs.py +4 -6
  41. mx_bluesky-1.4.6/src/mx_bluesky/common/plans/read_hardware.py +78 -0
  42. {mx_bluesky-1.4.4/src/mx_bluesky/hyperion → mx_bluesky-1.4.6/src/mx_bluesky/common}/utils/context.py +0 -16
  43. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/utils/exceptions.py +2 -1
  44. {mx_bluesky-1.4.4/src/mx_bluesky/hyperion/experiment_plans → mx_bluesky-1.4.6/src/mx_bluesky}/common/xrc_result.py +16 -0
  45. mx_bluesky-1.4.6/src/mx_bluesky/definitions.py +4 -0
  46. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/__main__.py +11 -42
  47. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +5 -5
  48. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +9 -8
  49. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +2 -2
  50. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +6 -6
  51. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +2 -2
  52. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +14 -4
  53. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +2 -6
  54. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -15
  55. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +42 -93
  56. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +14 -6
  57. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +26 -21
  58. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +11 -11
  59. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +5 -9
  60. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +1 -1
  61. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +2 -4
  62. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +10 -10
  63. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +11 -18
  64. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -4
  65. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +19 -10
  66. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -0
  67. mx_bluesky-1.4.6/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +104 -0
  68. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +19 -2
  69. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +1 -1
  70. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling/sample_handling_callback.py +14 -9
  71. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/config_server.py +13 -2
  72. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/cli.py +1 -9
  73. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/constants.py +6 -1
  74. mx_bluesky-1.4.6/src/mx_bluesky/hyperion/parameters/device_composites.py +49 -0
  75. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/gridscan.py +5 -3
  76. mx_bluesky-1.4.6/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +1006 -0
  77. mx_bluesky-1.4.6/src/mx_bluesky/hyperion/utils/__init__.py +1 -0
  78. mx_bluesky-1.4.6/src/mx_bluesky/hyperion/utils/context.py +19 -0
  79. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/utils/validation.py +23 -20
  80. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/PKG-INFO +5 -4
  81. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/SOURCES.txt +29 -14
  82. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/entry_points.txt +1 -0
  83. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/requires.txt +4 -3
  84. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/conftest.py +168 -49
  85. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/conftest.py +13 -1
  86. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +37 -30
  87. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +34 -66
  88. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/conftest.py +63 -58
  89. mx_bluesky-1.4.6/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +12 -0
  90. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +11 -14
  91. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +80 -68
  92. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +112 -32
  93. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +8 -5
  94. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +22 -26
  95. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +2 -2
  96. {mx_bluesky-1.4.4/tests/test_data/nexus_files/rotation_unicode_metafile → mx_bluesky-1.4.6/tests/test_data/nexus_files/rotation}/ins_8_5_expected_output.txt +1 -1
  97. {mx_bluesky-1.4.4/tests/test_data/nexus_files/rotation → mx_bluesky-1.4.6/tests/test_data/nexus_files/rotation_unicode_metafile}/ins_8_5_expected_output.txt +1 -1
  98. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +18 -0
  99. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i04/test_thawing.py +5 -5
  100. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/conftest.py +22 -11
  101. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +45 -0
  102. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +87 -1
  103. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +34 -1
  104. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +13 -2
  105. mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +60 -0
  106. mx_bluesky-1.4.6/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +42 -0
  107. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +11 -0
  108. mx_bluesky-1.4.6/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +723 -0
  109. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +9 -7
  110. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +1 -1
  111. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/conftest.py +3 -3
  112. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +72 -6
  113. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +2 -2
  114. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +3 -3
  115. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/plan_stubs/test_do_fgs.py +3 -3
  116. mx_bluesky-1.4.6/tests/unit_tests/common/plans/test_read_hardware.py +107 -0
  117. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/conftest.py +28 -0
  118. mx_bluesky-1.4.6/tests/unit_tests/hyperion/conftest.py +41 -0
  119. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +5 -5
  120. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +3 -3
  121. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +39 -23
  122. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +1 -1
  123. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +50 -5
  124. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +1 -1
  125. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/conftest.py +3 -11
  126. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_change_aperture_then_move_plan.py +1 -1
  127. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +72 -191
  128. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +3 -3
  129. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +52 -24
  130. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +55 -14
  131. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +3 -6
  132. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +2 -5
  133. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +22 -6
  134. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +1 -38
  135. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +11 -10
  136. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +5 -12
  137. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +1 -1
  138. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +18 -50
  139. mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +207 -0
  140. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +3 -3
  141. mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  142. mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +186 -0
  143. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +4 -4
  144. mx_bluesky-1.4.6/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  145. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +58 -15
  146. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/test_main_system.py +11 -123
  147. mx_bluesky-1.4.6/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  148. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/utils/test_context.py +1 -1
  149. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/build_docker_image.sh +7 -0
  150. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/deploy/deploy_mx_bluesky.py +1 -2
  151. mx_bluesky-1.4.4/utility_scripts/deploy/deploy_hyperion_to_k8s.sh → mx_bluesky-1.4.6/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +37 -25
  152. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/docker/entrypoint.sh +3 -10
  153. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/docker/i03-compose.yml +0 -1
  154. mx_bluesky-1.4.4/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +0 -14
  155. mx_bluesky-1.4.4/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +0 -54
  156. mx_bluesky-1.4.4/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +0 -95
  157. mx_bluesky-1.4.4/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -964
  158. mx_bluesky-1.4.4/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +0 -72
  159. mx_bluesky-1.4.4/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +0 -36
  160. mx_bluesky-1.4.4/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -765
  161. mx_bluesky-1.4.4/tests/unit_tests/hyperion/conftest.py +0 -23
  162. mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -82
  163. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.copier-answers.yml +0 -0
  164. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.coveragerc +0 -0
  165. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.devcontainer/Dockerfile +0 -0
  166. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.devcontainer/devcontainer.json +0 -0
  167. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.dockerignore +0 -0
  168. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  169. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  170. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/actions/install_requirements/action.yml +0 -0
  171. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/actions/verify-nexus/Dockerfile +0 -0
  172. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/actions/verify-nexus/action.yml +0 -0
  173. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  174. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/dependabot.yml +0 -0
  175. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/pages/index.html +0 -0
  176. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/pages/make_switcher.py +0 -0
  177. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_check.yml +0 -0
  178. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_container.yml +0 -0
  179. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_dist.yml +0 -0
  180. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_docs.yml +0 -0
  181. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_pypi.yml +0 -0
  182. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_release.yml +0 -0
  183. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_test.yml +0 -0
  184. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/_tox.yml +0 -0
  185. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/ci.yml +0 -0
  186. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.github/workflows/periodic.yml +0 -0
  187. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.gitignore +0 -0
  188. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/extensions.json +0 -0
  189. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/launch.json +0 -0
  190. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/mx-bluesky.code-workspace +0 -0
  191. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  192. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/settings.json +0 -0
  193. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/.vscode/tasks.json +0 -0
  194. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/Dockerfile +0 -0
  195. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/LICENSE +0 -0
  196. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/README.rst +0 -0
  197. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/catalog-info.yaml +0 -0
  198. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/codecov.yml +0 -0
  199. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/conftest.py +0 -0
  200. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/_api.rst +0 -0
  201. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/_templates/custom-module-template.rst +0 -0
  202. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/conf.py +0 -0
  203. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  204. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  205. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  206. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/explanations/decisions.rst +0 -0
  207. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/contribute.rst +0 -0
  208. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/create-a-release.rst +0 -0
  209. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  210. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  211. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  212. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  213. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  214. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  215. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/how-to/get-started.rst +0 -0
  216. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/index.rst +0 -0
  217. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/reference/standards.rst +0 -0
  218. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  219. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  220. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  221. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  222. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/hyperion/reference/readme.md +0 -0
  223. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/index.rst +0 -0
  224. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  225. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  226. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/murko-integration/index.rst +0 -0
  227. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  228. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  229. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  230. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  231. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
  232. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  233. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  234. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/images/dls-favicon.ico +0 -0
  235. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/images/dls-logo.svg +0 -0
  236. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/docs/index.rst +0 -0
  237. {mx_bluesky-1.4.4/helmchart → mx_bluesky-1.4.6/helmcharts/hyperion}/Chart.yaml +0 -0
  238. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  239. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  240. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/code.yml +0 -0
  241. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/container_tests.sh +0 -0
  242. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  243. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  244. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/linkcheck.yml +0 -0
  245. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  246. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  247. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/pin_versions.py +0 -0
  248. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  249. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  250. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  251. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/test_data/setup.cfg +0 -0
  252. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  253. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  254. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/hyperion_other/workflows/test_pin_versions.py +0 -0
  255. {mx_bluesky-1.4.4/.github/PULL_REQUEST_TEMPLATE → mx_bluesky-1.4.6}/pull_request_template.md +0 -0
  256. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/run_hyperion_in_podman.sh +0 -0
  257. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/setup.cfg +0 -0
  258. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/__init__.py +0 -0
  259. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/__main__.py +0 -0
  260. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/__init__.py +0 -0
  261. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  262. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  263. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  264. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  265. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  266. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  267. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  268. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  269. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  270. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  271. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  272. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  273. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  274. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  275. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  276. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  277. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  278. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  279. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
  280. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
  281. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  282. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  283. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  284. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  285. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  286. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  287. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  288. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  289. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  290. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  291. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  292. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  293. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  294. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  295. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  296. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  297. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  298. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  299. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  300. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  301. {mx_bluesky-1.4.4/src/mx_bluesky/common → mx_bluesky-1.4.6/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
  302. {mx_bluesky-1.4.4/src/mx_bluesky/common/external_interaction → mx_bluesky-1.4.6/src/mx_bluesky/common}/__init__.py +0 -0
  303. {mx_bluesky-1.4.4/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.4.6/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
  304. {mx_bluesky-1.4.4/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.4.6/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
  305. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  306. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/aperture_change_callback.py +0 -0
  307. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  308. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
  309. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  310. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  311. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  312. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  313. {mx_bluesky-1.4.4/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.4.6/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
  314. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  315. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  316. {mx_bluesky-1.4.4/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.4.6/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
  317. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  318. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  319. {mx_bluesky-1.4.4/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.4.6/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
  320. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  321. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  322. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/external_interaction/test_config_server.py +0 -0
  323. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/parameters/components.py +0 -0
  324. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/plans/__init__.py +0 -0
  325. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/utils/log.py +0 -0
  326. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/utils/tracing.py +0 -0
  327. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/common/utils/utils.py +0 -0
  328. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/__init__.py +0 -0
  329. {mx_bluesky-1.4.4/src/mx_bluesky/hyperion/external_interaction/callbacks/common → mx_bluesky-1.4.6/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  330. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/check_beamstop.py +0 -0
  331. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  332. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
  333. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
  334. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  335. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  336. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  337. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
  338. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  339. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  340. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  341. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  342. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  343. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  344. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  345. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  346. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  347. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  348. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  349. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  350. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/start_jupyter.sh +0 -0
  351. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/__init__.py +0 -0
  352. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/__init__.py +0 -0
  353. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/__init__.py +0 -0
  354. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/experiment_plans/__init__.py +0 -0
  355. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  356. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  357. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
  358. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
  359. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/README.md +0 -0
  360. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  361. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  362. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  363. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  364. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  365. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  366. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  367. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  368. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  369. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  370. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  371. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  372. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  373. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  374. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  375. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -0
  376. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  377. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  378. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  379. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  380. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/scratch/README +0 -0
  381. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_OAVCentring.json +0 -0
  382. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  383. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  384. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_beamline_parameters.txt +0 -0
  385. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  386. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_config.cfg +0 -0
  387. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  388. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  389. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  390. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  391. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  392. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_det_dist_converter.txt +0 -0
  393. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_display.configuration +0 -0
  394. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  395. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_lookup_table.txt +0 -0
  396. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/test_data/test_mirror_focus.json +0 -0
  397. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/__init__.py +0 -0
  398. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/__init__.py +0 -0
  399. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  400. {mx_bluesky-1.4.4/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
  401. {mx_bluesky-1.4.4/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  402. {mx_bluesky-1.4.4/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  403. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  404. {mx_bluesky-1.4.4/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  405. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  406. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  407. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  408. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  409. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  410. {mx_bluesky-1.4.4/tests/unit_tests/common → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  411. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  412. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  413. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  414. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  415. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  416. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  417. {mx_bluesky-1.4.4/tests/unit_tests/common/external_interaction → mx_bluesky-1.4.6/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  418. {mx_bluesky-1.4.4/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.4.6/tests/unit_tests/common}/__init__.py +0 -0
  419. {mx_bluesky-1.4.4/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.4.6/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  420. {mx_bluesky-1.4.4/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.4.6/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  421. {mx_bluesky-1.4.4/tests/unit_tests/common/utils → mx_bluesky-1.4.6/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  422. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  423. {mx_bluesky-1.4.4/tests/unit_tests/hyperion → mx_bluesky-1.4.6/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  424. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  425. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  426. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  427. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  428. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  429. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  430. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.4.6/tests/unit_tests/common/plans}/__init__.py +0 -0
  431. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.4.6/tests/unit_tests/common/utils}/__init__.py +0 -0
  432. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/common/utils/test_log.py +0 -0
  433. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.4.6/tests/unit_tests/hyperion}/__init__.py +0 -0
  434. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.6/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  435. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_check_beamstop.py +0 -0
  436. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  437. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  438. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.6/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
  439. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  440. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +0 -0
  441. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +0 -0
  442. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  443. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling → mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
  444. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  445. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  446. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/parameters → mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  447. {mx_bluesky-1.4.4/tests/unit_tests/hyperion/utils → mx_bluesky-1.4.6/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  448. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  449. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  450. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  451. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  452. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  453. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  454. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  455. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  456. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/test_utils.py +0 -0
  457. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  458. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/tests/unit_tests/test_cli.py +0 -0
  459. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/beam_off_trickery.sh +0 -0
  460. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/build_imginfo.sh +0 -0
  461. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/deploy/create_venv.py +0 -0
  462. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  463. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/deploy/test_deploy.py +0 -0
  464. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/dev_jaeger_container.sh +0 -0
  465. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/dls_dev_env.sh +0 -0
  466. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/docker/healthcheck.sh +0 -0
  467. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/generate_plantuml.py +0 -0
  468. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/graylog/Dockerfile +0 -0
  469. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/graylog/tcp_input.json +0 -0
  470. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/procserv_ioc_start.sh +0 -0
  471. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/run_imginfo.sh +0 -0
  472. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/setup_graylog.sh +0 -0
  473. {mx_bluesky-1.4.4 → mx_bluesky-1.4.6}/utility_scripts/strip_metafile.py +0 -0
@@ -36,6 +36,8 @@ Developers are welcome to ignore **nit** comments if they wish and can choose no
36
36
 
37
37
  For minor changes to code reviewers are welcome to make the changes themselves but in this case the original developer should then recheck what the reviewer has done.
38
38
 
39
+ When beginning to review a PR, it is recommended to assign the PR to yourself on GitHub so that other developers know that this code is already being reviewed. If you decide you cannot complete the review, remember to unassign yourself from this PR to let others know.
40
+
39
41
  ## Issue or Discussion?
40
42
 
41
43
  Github also offers [discussions](https://github.com/DiamondLightSource/mx-bluesky/discussions) as a place to ask questions and share ideas. If
@@ -6,7 +6,7 @@ repos:
6
6
  args: ["--maxkb=500"]
7
7
  - id: check-yaml
8
8
  args: ["--allow-multiple-documents"]
9
- exclude: ^helmchart/
9
+ exclude: ^helmcharts/
10
10
  - id: check-merge-conflict
11
11
  - id: end-of-file-fixer
12
12
 
@@ -1,5 +1,11 @@
1
1
  FROM python:3.11 AS build
2
2
 
3
+ ARG DEBIAN_FRONTEND=noninteractive
4
+
5
+ RUN apt update -y && apt upgrade -y
6
+ # Needed for python cv2 dependency
7
+ RUN apt install -y libgl1 libglib2.0-0
8
+
3
9
  RUN pip install setuptools_scm
4
10
 
5
11
  # Copy the pyproject.toml and install dependencies for better caching when developing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mx-bluesky
3
- Version: 1.4.4
3
+ Version: 1.4.6
4
4
  Summary: Bluesky tools for MX Beamlines at DLS
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
6
6
  License: Apache License
@@ -215,6 +215,7 @@ Description-Content-Type: text/x-rst
215
215
  License-File: LICENSE
216
216
  Requires-Dist: annotated_types
217
217
  Requires-Dist: caproto
218
+ Requires-Dist: confluent-kafka==2.8.0
218
219
  Requires-Dist: fastapi[all]
219
220
  Requires-Dist: flask-restful
220
221
  Requires-Dist: ispyb
@@ -237,9 +238,9 @@ Requires-Dist: matplotlib
237
238
  Requires-Dist: blueapi>=0.5.0
238
239
  Requires-Dist: daq-config-server>=0.1.1
239
240
  Requires-Dist: ophyd==1.9.0
240
- Requires-Dist: ophyd-async>=0.8a5
241
+ Requires-Dist: ophyd-async>=0.9.0a2
241
242
  Requires-Dist: bluesky>=1.13
242
- Requires-Dist: dls-dodal==1.39.0
243
+ Requires-Dist: dls-dodal==1.41.0
243
244
  Provides-Extra: dev
244
245
  Requires-Dist: black; extra == "dev"
245
246
  Requires-Dist: build; extra == "dev"
@@ -253,7 +254,7 @@ Requires-Dist: pipdeptree; extra == "dev"
253
254
  Requires-Dist: plantweb; extra == "dev"
254
255
  Requires-Dist: pre-commit; extra == "dev"
255
256
  Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
256
- Requires-Dist: pyright; extra == "dev"
257
+ Requires-Dist: pyright==1.1.394; extra == "dev"
257
258
  Requires-Dist: pytest-asyncio; extra == "dev"
258
259
  Requires-Dist: pytest-cov; extra == "dev"
259
260
  Requires-Dist: pytest-random-order; extra == "dev"
@@ -15,6 +15,7 @@ Documentation specific for the Hyperion module within MX-Bluesky
15
15
  reference/param-hierarchy
16
16
  reference/readme
17
17
  deploying-hyperion
18
+ system-tests
18
19
 
19
20
  +++
20
21
 
@@ -0,0 +1,20 @@
1
+ System Tests
2
+ ============
3
+
4
+ The system tests are run by a project hosted in a GitLab private repository, `Hyperion System Testing`_.
5
+
6
+ This contains a ``.gitlab-ci`` pipeline that defines a job that runs the tests.
7
+
8
+ System Test Images
9
+ ------------------
10
+
11
+ The system tests require a number of container images to run:
12
+
13
+ * The test runner image
14
+ * An ISPyB MariaDB database server image
15
+ * An ExpEye image
16
+
17
+ It is expected that these images should need to change only infrequently and builds are triggered
18
+ manually as needed - see the Hyperion System Testing project for how to rebuild them and how to trigger the tests.
19
+
20
+ .. _`Hyperion System Testing`: https://gitlab.diamond.ac.uk/MX-GDA/hyperion-system-testing
@@ -14,13 +14,13 @@ spec:
14
14
  spec:
15
15
  securityContext:
16
16
  # gda2
17
- runAsUser: {{ .Values.hyperion.runAsUser }}
18
- runAsGroup: {{ .Values.hyperion.runAsGroup }}
19
- supplementalGroups: {{ .Values.hyperion.supplementalGroups }}
17
+ runAsUser: {{ .Values.application.runAsUser }}
18
+ runAsGroup: {{ .Values.application.runAsGroup }}
19
+ supplementalGroups: {{ .Values.application.supplementalGroups }}
20
20
  volumes:
21
21
  - name: dls-sw-bl
22
22
  hostPath:
23
- path: "/dls_sw/{{ .Values.hyperion.beamline }}"
23
+ path: "/dls_sw/{{ .Values.application.beamline }}"
24
24
  type: Directory
25
25
  - name: dls-sw-apps
26
26
  hostPath:
@@ -33,15 +33,15 @@ spec:
33
33
  # Bind some source folders for easier debugging
34
34
  - name: src
35
35
  hostPath:
36
- path: "{{ .Values.hyperion.projectDir }}/src"
36
+ path: "{{ .Values.application.projectDir }}/src"
37
37
  type: Directory
38
38
  - name: tests
39
39
  hostPath:
40
- path: "{{ .Values.hyperion.projectDir }}/tests"
40
+ path: "{{ .Values.application.projectDir }}/tests"
41
41
  type: Directory
42
42
  - name: utility-scripts
43
43
  hostPath:
44
- path: "{{ .Values.hyperion.projectDir }}/utility_scripts"
44
+ path: "{{ .Values.application.projectDir }}/utility_scripts"
45
45
  type: Directory
46
46
  - name: dodal
47
47
  hostPath:
@@ -50,14 +50,14 @@ spec:
50
50
  - name: logs
51
51
  hostPath:
52
52
  type: Directory
53
- path: "{{ .Values.hyperion.logDir }}"
53
+ path: "{{ .Values.application.logDir }}"
54
54
  - name: data
55
55
  hostPath:
56
56
  type: Directory
57
- path: "{{ .Values.hyperion.dataDir }}"
57
+ path: "{{ .Values.application.dataDir }}"
58
58
  containers:
59
59
  - name: hyperion
60
- image: {{ .Values.hyperion.imageRepository}}/mx-bluesky:{{ .Values.hyperion.appVersion }}
60
+ image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
61
61
  securityContext:
62
62
  capabilities:
63
63
  # Required for hostNetwork
@@ -103,30 +103,29 @@ spec:
103
103
  memory: "1Gi"
104
104
  ports:
105
105
  - name: hyperion-api
106
- containerPort: {{ .Values.hyperion.containerPort }}
106
+ containerPort: {{ .Values.application.containerPort }}
107
107
  protocol: TCP
108
108
  env:
109
109
  - name: LOG_DIR
110
110
  value: /var/log/bluesky
111
111
  - name: BEAMLINE
112
- value: "{{ .Values.hyperion.beamline }}"
113
- {{- if not .Values.hyperion.dev }}
112
+ value: "{{ .Values.application.beamline }}"
113
+ {{- if not .Values.application.dev }}
114
114
  - name: ZOCALO_GO_USER
115
115
  value: "gda2"
116
116
  - name: ZOCALO_GO_HOSTNAME
117
- value: "{{ .Values.hyperion.beamline }}-control"
117
+ value: "{{ .Values.application.beamline }}-control"
118
118
  - name: ZOCALO_CONFIG
119
119
  value: "/dls_sw/apps/zocalo/live/configuration.yaml"
120
120
  - name: ISPYB_CONFIG_PATH
121
- value: "/dls_sw/dasc/mariadb/credentials/ispyb-hyperion-{{ .Values.hyperion.beamline }}.cfg"
122
- args: [ "--external-callbacks" ]
121
+ value: "/dls_sw/dasc/mariadb/credentials/ispyb-hyperion-{{ .Values.application.beamline }}.cfg"
123
122
  {{- end }}
124
123
  readinessProbe:
125
124
  exec:
126
125
  command: [ "/app/hyperion/utility_scripts/docker/healthcheck.sh" ]
127
126
  periodSeconds: 5
128
127
  volumeMounts:
129
- - mountPath: "/dls_sw/{{ .Values.hyperion.beamline }}"
128
+ - mountPath: "/dls_sw/{{ .Values.application.beamline }}"
130
129
  name: dls-sw-bl
131
130
  readOnly: true
132
131
  mountPropagation: HostToContainer
@@ -148,6 +147,6 @@ spec:
148
147
  name: dodal
149
148
  - mountPath: "/var/log/bluesky"
150
149
  name: logs
151
- - mountPath: "/dls/{{ .Values.hyperion.beamline }}/data"
150
+ - mountPath: "/dls/{{ .Values.application.beamline }}/data"
152
151
  name: data
153
152
  hostNetwork: true
@@ -1,4 +1,4 @@
1
- {{- if not .Values.hyperion.dev }}
1
+ {{- if not .Values.application.dev }}
2
2
  apiVersion: networking.k8s.io/v1
3
3
  kind: Ingress
4
4
  metadata:
@@ -7,9 +7,9 @@ spec:
7
7
  ingressClassName: nginx
8
8
  tls:
9
9
  - hosts:
10
- - {{ .Values.hyperion.externalHostname }}
10
+ - {{ .Values.application.externalHostname }}
11
11
  rules:
12
- - host: {{ .Values.hyperion.externalHostname }}
12
+ - host: {{ .Values.application.externalHostname }}
13
13
  http:
14
14
  paths:
15
15
  - path: /
@@ -18,6 +18,6 @@ spec:
18
18
  service:
19
19
  name: hyperion-svc # this must match the name of the service you want to target
20
20
  port:
21
- number: {{ .Values.hyperion.containerPort }}
21
+ number: {{ .Values.application.containerPort }}
22
22
  {{- end }}
23
23
 
@@ -3,15 +3,15 @@ kind: Service
3
3
  metadata:
4
4
  name: hyperion-svc
5
5
  spec:
6
- {{- if .Values.hyperion.dev }}
6
+ {{- if .Values.application.dev }}
7
7
  type: LoadBalancer
8
8
  {{- else }}
9
9
  type: ClusterIP
10
10
  {{- end }}
11
11
  ports:
12
12
  - name: hyperion-api
13
- port: {{ .Values.hyperion.servicePort }}
13
+ port: {{ .Values.application.servicePort }}
14
14
  protocol: TCP
15
- targetPort: {{ .Values.hyperion.containerPort }}
15
+ targetPort: {{ .Values.application.containerPort }}
16
16
  selector:
17
17
  app: hyperion
@@ -1,4 +1,4 @@
1
- hyperion:
1
+ application:
2
2
  containerPort: 5005
3
3
  servicePort: 80
4
4
  imageRepository: ghcr.io/diamondlightsource
@@ -0,0 +1,6 @@
1
+ apiVersion: v2
2
+ name: redis-to-murko
3
+ description: Redis to murko server
4
+ type: application
5
+ # version of the chart
6
+ version: 0.0.1
@@ -0,0 +1,73 @@
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: {{ .Values.application.name }}-deployment
5
+ spec:
6
+ selector:
7
+ matchLabels:
8
+ app: {{ .Values.application.name }}
9
+ replicas: 1
10
+ template:
11
+ metadata:
12
+ labels:
13
+ app: {{ .Values.application.name }}
14
+ project: murko
15
+ spec:
16
+ securityContext:
17
+ runAsUser: {{ .Values.application.runAsUser }}
18
+ runAsGroup: {{ .Values.application.runAsGroup }}
19
+ supplementalGroups: {{ .Values.application.supplementalGroups }}
20
+ volumes:
21
+ - name: dls-sw-bl
22
+ hostPath:
23
+ path: "/dls_sw/{{ .Values.application.beamline }}"
24
+ type: Directory
25
+ # Bind some source folders for easier debugging
26
+ - name: src
27
+ hostPath:
28
+ path: "{{ .Values.application.projectDir }}/src"
29
+ type: Directory
30
+ - name: tests
31
+ hostPath:
32
+ path: "{{ .Values.application.projectDir }}/tests"
33
+ type: Directory
34
+ - name: utility-scripts
35
+ hostPath:
36
+ path: "{{ .Values.application.projectDir }}/utility_scripts"
37
+ type: Directory
38
+ - name: dodal
39
+ hostPath:
40
+ path: "{{ .Values.dodal.projectDir | clean }}"
41
+ type: Directory
42
+ containers:
43
+ - name: {{ .Values.application.name }}
44
+ image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
45
+ command: ["redis_to_murko"]
46
+ resources:
47
+ limits:
48
+ cpu: "1"
49
+ memory: "1Gi"
50
+ env:
51
+ - name: LOG_DIR
52
+ value: /var/log/bluesky
53
+ - name: BEAMLINE
54
+ value: "{{ .Values.application.beamline }}"
55
+ - name: VALKEY_PASSWORD
56
+ valueFrom:
57
+ secretKeyRef:
58
+ name: valkey-secret
59
+ key: requirepass
60
+ volumeMounts:
61
+ - mountPath: "/dls_sw/{{ .Values.application.beamline }}"
62
+ name: dls-sw-bl
63
+ readOnly: true
64
+ mountPropagation: HostToContainer
65
+ - mountPath: "/app/hyperion/src"
66
+ name: src
67
+ - mountPath: "/app/hyperion/tests"
68
+ name: tests
69
+ - mountPath: "/app/hyperion/utility_scripts"
70
+ name: utility-scripts
71
+ - mountPath: "/app/dodal"
72
+ name: dodal
73
+ hostNetwork: false
@@ -0,0 +1,17 @@
1
+ podSecurityContext: {}
2
+
3
+ application:
4
+ name: redis-to-murko
5
+ imageRepository: ghcr.io/diamondlightsource
6
+ beamline: i04
7
+ # i03-hyperion user and group
8
+ runAsUser: 36101
9
+ runAsGroup: 36101
10
+ supplementalGroups: []
11
+ # These should be overridden at install time
12
+ projectDir: SET_ON_INSTALL
13
+ appVersion: SET_ON_INSTALL
14
+ dodal:
15
+ projectDir: SET_ON_INSTALL
16
+ service:
17
+ type: NodePort
@@ -18,6 +18,7 @@ dependencies = [
18
18
  #
19
19
  "annotated_types",
20
20
  "caproto",
21
+ "confluent-kafka==2.8.0",
21
22
  "fastapi[all]",
22
23
  "flask-restful",
23
24
  "ispyb",
@@ -44,9 +45,9 @@ dependencies = [
44
45
  "blueapi >= 0.5.0",
45
46
  "daq-config-server >= 0.1.1",
46
47
  "ophyd == 1.9.0",
47
- "ophyd-async >= 0.8a5",
48
+ "ophyd-async >= 0.9.0a2",
48
49
  "bluesky >= 1.13",
49
- "dls-dodal == 1.39.0",
50
+ "dls-dodal == 1.41.0",
50
51
  ]
51
52
 
52
53
 
@@ -71,7 +72,7 @@ dev = [
71
72
  "plantweb",
72
73
  "pre-commit",
73
74
  "pydata-sphinx-theme>=0.12",
74
- "pyright",
75
+ "pyright==1.1.394", # See https://github.com/DiamondLightSource/mx-bluesky/issues/875
75
76
  "pytest-asyncio",
76
77
  "pytest-cov",
77
78
  "pytest-random-order",
@@ -94,6 +95,7 @@ hyperion = "mx_bluesky.hyperion.__main__:main"
94
95
  hyperion-callbacks = "mx_bluesky.hyperion.external_interaction.callbacks.__main__:main"
95
96
  hyperion-generate-test-nexus = "mx_bluesky.hyperion.utils.validation:generate_test_nexus"
96
97
  hyperion-populate-test-and-meta-files = "mx_bluesky.hyperion.utils.validation:copy_test_meta_data_files"
98
+ redis_to_murko = "mx_bluesky.beamlines.i04.redis_to_murko_forwarder:main"
97
99
 
98
100
  [project.urls]
99
101
  GitHub = "https://github.com/DiamondLightSource/mx-bluesky"
@@ -119,9 +121,10 @@ markers = [
119
121
  "dlstbx: marks tests as requiring dlstbx (deselect with '-m \"not dlstbx\"')",
120
122
  "skip_log_setup: marks tests so that loggers are not setup before the test.",
121
123
  "skip_in_pycharm: marks test as not working in pycharm testrunner",
124
+ "system_test: marks tests as a system test",
122
125
  ]
123
126
  addopts = """
124
- --tb=native -vv --doctest-modules --doctest-glob="*.rst"
127
+ --tb=native -vv --doctest-modules --doctest-glob="*.rst" --durations=10
125
128
  """
126
129
  # https://iscinumpy.gitlab.io/post/bound-version-constraints/#watch-for-warnings
127
130
  filterwarnings = [
@@ -147,6 +150,9 @@ filterwarnings = [
147
150
  "ignore:.*custom tp_new.*:DeprecationWarning",
148
151
  # Ignore warning about deprecated throw() call https://github.com/bluesky/bluesky/issues/1817
149
152
  "ignore:.*signature of throw\\(\\) is deprecated.*:DeprecationWarning",
153
+ # Ignore warning about deprecations in python-workflows encountered during system tests
154
+ # https://github.com/DiamondLightSource/python-workflows/issues/188
155
+ "ignore:.*`Field` should not be instantiated.*:marshmallow.warnings.ChangedInMarshmallow4Warning",
150
156
  ]
151
157
  # Doctest python code in docs, python code in src docstrings, test functions in tests
152
158
  testpaths = "docs src tests/unit_tests"
@@ -165,10 +171,12 @@ legacy_tox_ini = """
165
171
  [tox]
166
172
  skipsdist=True
167
173
 
168
- [testenv:{pre-commit,type-checking,tests,docs}]
174
+ [testenv:{pre-commit,type-checking,tests,docs,systemtests}]
169
175
  # Don't create a virtualenv for the command, requires tox-direct plugin
170
176
  direct = True
171
177
  passenv = *
178
+ setenv =
179
+ systemtests: DODAL_TEST_MODE=true
172
180
  allowlist_externals =
173
181
  pytest
174
182
  pre-commit
@@ -180,6 +188,7 @@ commands =
180
188
  type-checking: pyright src tests {posargs}
181
189
  tests: pytest --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml {posargs}
182
190
  docs: sphinx-{posargs:build -EW --keep-going} -T docs build/html
191
+ systemtests: pytest --junit-xml=systemtests_output.xml -m system_test tests/system_tests
183
192
  commands_pre =
184
193
  docs: /usr/bin/bash -c "{toxinidir}/utility_scripts/generate_plantuml.py > \
185
194
  docs/developer/hyperion/reference/param_hierarchy.puml"
@@ -189,14 +198,15 @@ commands_pre =
189
198
  src = ["src", "tests"]
190
199
  line-length = 88
191
200
  lint.select = [
192
- "B", # flake8-bugbear - https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
193
- "C4", # flake8-comprehensions - https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
194
- "E", # pycodestyle errors - https://docs.astral.sh/ruff/rules/#error-e
195
- "F", # pyflakes rules - https://docs.astral.sh/ruff/rules/#pyflakes-f
196
- "W", # pycodestyle warnings - https://docs.astral.sh/ruff/rules/#warning-w
197
- "I", # isort - https://docs.astral.sh/ruff/rules/#isort-i
198
- "UP", # pyupgrade - https://docs.astral.sh/ruff/rules/#pyupgrade-up
199
- "SLF", # self - https://docs.astral.sh/ruff/settings/#lintflake8-self
201
+ "B", # flake8-bugbear - https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
202
+ "C4", # flake8-comprehensions - https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
203
+ "E", # pycodestyle errors - https://docs.astral.sh/ruff/rules/#error-e
204
+ "F", # pyflakes rules - https://docs.astral.sh/ruff/rules/#pyflakes-f
205
+ "W", # pycodestyle warnings - https://docs.astral.sh/ruff/rules/#warning-w
206
+ "I", # isort - https://docs.astral.sh/ruff/rules/#isort-i
207
+ "UP", # pyupgrade - https://docs.astral.sh/ruff/rules/#pyupgrade-up
208
+ "SLF", # self - https://docs.astral.sh/ruff/settings/#lintflake8-self
209
+ "PT012", # flake8-pytest-style rules - https://docs.astral.sh/ruff/rules/pytest-raises-with-multiple-statements/#pytest-raises-with-multiple-statements-pt012
200
210
  ]
201
211
  lint.extend-ignore = [
202
212
  "E501", # Line too long
@@ -5,7 +5,6 @@ START=1
5
5
  SKIP_STARTUP_CONNECTION=false
6
6
  VERBOSE_EVENT_LOGGING=false
7
7
  IN_DEV=false
8
- EXTERNAL_CALLBACK_SERVICE=false
9
8
 
10
9
  for option in "$@"; do
11
10
  case $option in
@@ -28,9 +27,6 @@ for option in "$@"; do
28
27
  --verbose-event-logging)
29
28
  VERBOSE_EVENT_LOGGING=true
30
29
  ;;
31
- --external-callbacks)
32
- EXTERNAL_CALLBACK_SERVICE=true
33
- ;;
34
30
 
35
31
  --help|--info|--h)
36
32
 
@@ -119,11 +115,9 @@ if [[ $START == 1 ]]; then
119
115
 
120
116
  #Add future arguments here
121
117
  declare -A h_only_args=( ["SKIP_STARTUP_CONNECTION"]="$SKIP_STARTUP_CONNECTION"
122
- ["VERBOSE_EVENT_LOGGING"]="$VERBOSE_EVENT_LOGGING"
123
- ["EXTERNAL_CALLBACK_SERVICE"]="$EXTERNAL_CALLBACK_SERVICE" )
118
+ ["VERBOSE_EVENT_LOGGING"]="$VERBOSE_EVENT_LOGGING" )
124
119
  declare -A h_only_arg_strings=( ["SKIP_STARTUP_CONNECTION"]="--skip-startup-connection"
125
- ["VERBOSE_EVENT_LOGGING"]="--verbose-event-logging"
126
- ["EXTERNAL_CALLBACK_SERVICE"]="--external-callbacks")
120
+ ["VERBOSE_EVENT_LOGGING"]="--verbose-event-logging" )
127
121
 
128
122
  declare -A h_and_cb_args=( ["IN_DEV"]="$IN_DEV" )
129
123
  declare -A h_and_cb_arg_strings=( ["IN_DEV"]="--dev" )
@@ -146,9 +140,7 @@ if [[ $START == 1 ]]; then
146
140
 
147
141
  unset PYEPICS_LIBCA
148
142
  hyperion `echo $h_commands;`>$start_log_path 2>&1 &
149
- if [ $EXTERNAL_CALLBACK_SERVICE == true ]; then
150
- hyperion-callbacks `echo $cb_commands;`>$callback_start_log_path 2>&1 &
151
- fi
143
+ hyperion-callbacks `echo $cb_commands;`>$callback_start_log_path 2>&1 &
152
144
  echo "$(date) Waiting for Hyperion to start"
153
145
 
154
146
  for i in {1..30}
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '1.4.4'
16
- __version_tuple__ = version_tuple = (1, 4, 4)
20
+ __version__ = version = '1.4.6'
21
+ __version_tuple__ = version_tuple = (1, 4, 6)
@@ -156,8 +156,15 @@ class RedisListener:
156
156
  sample_id = data["sample_id"]
157
157
 
158
158
  # Images are put in redis as raw jpeg bytes, murko needs numpy arrays
159
- raw_image = self.redis_client.hget(f"murko:{sample_id}:raw", uuid)
160
- assert isinstance(raw_image, bytes)
159
+ image_key = f"murko:{sample_id}:raw"
160
+ raw_image = self.redis_client.hget(image_key, uuid)
161
+
162
+ if not isinstance(raw_image, bytes):
163
+ LOGGER.warning(
164
+ f"Image at {image_key}:{uuid} is {raw_image}, expected bytes. Ignoring the data"
165
+ )
166
+ return
167
+
161
168
  image = Image.open(io.BytesIO(raw_image))
162
169
  image = np.asarray(image)
163
170
 
@@ -173,6 +180,10 @@ class RedisListener:
173
180
  self._get_and_handle_message()
174
181
 
175
182
 
176
- if __name__ == "__main__":
183
+ def main():
177
184
  client = RedisListener()
178
185
  client.listen_for_image_data_forever()
186
+
187
+
188
+ if __name__ == "__main__":
189
+ main()
@@ -24,21 +24,17 @@ def thaw_and_stream_to_redis(
24
24
  oav: OAV = inject("oav"),
25
25
  oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
26
26
  ) -> MsgGenerator:
27
- zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
27
+ zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage)
28
28
  sample_id = yield from bps.rd(robot.sample_id)
29
29
 
30
30
  sample_id = int(sample_id)
31
- zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
31
+ zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level)
32
32
 
33
- yield from bps.mv(oav.zoom_controller.level, "1.0x") # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
33
+ yield from bps.mv(oav.zoom_controller.level, "1.0x")
34
34
 
35
35
  def switch_forwarder_to_ROI() -> MsgGenerator:
36
36
  yield from bps.complete(oav_to_redis_forwarder, wait=True)
37
- yield from bps.mv(
38
- # See: https://github.com/bluesky/bluesky/issues/1809
39
- oav_to_redis_forwarder.selected_source, # type: ignore
40
- Source.ROI.value, # type: ignore
41
- )
37
+ yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
42
38
  yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
43
39
 
44
40
  microns_per_pixel_x = yield from bps.rd(oav.microns_per_pixel_x)
@@ -59,10 +55,10 @@ def thaw_and_stream_to_redis(
59
55
  )
60
56
  def _thaw_and_stream_to_redis():
61
57
  yield from bps.mv(
62
- oav_to_redis_forwarder.sample_id, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
63
- sample_id, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
64
- oav_to_redis_forwarder.selected_source, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
65
- Source.FULL_SCREEN.value, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
58
+ oav_to_redis_forwarder.sample_id,
59
+ sample_id,
60
+ oav_to_redis_forwarder.selected_source,
61
+ Source.FULL_SCREEN.value,
66
62
  )
67
63
 
68
64
  yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
@@ -74,7 +70,7 @@ def thaw_and_stream_to_redis(
74
70
  yield from bps.complete(oav_to_redis_forwarder)
75
71
 
76
72
  def cleanup():
77
- yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
73
+ yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing)
78
74
 
79
75
  yield from bpp.contingency_wrapper(
80
76
  _thaw_and_stream_to_redis(),
@@ -1,3 +1,11 @@
1
+ from mx_bluesky.beamlines.i24.serial.web_gui_plans.general_plans import (
2
+ gui_gonio_move_on_click,
3
+ gui_move_detector,
4
+ gui_set_parameters,
5
+ gui_sleep,
6
+ gui_stage_move_on_click,
7
+ )
8
+
1
9
  from .extruder.i24ssx_Extruder_Collect_py3v2 import (
2
10
  enter_hutch,
3
11
  initialise_extruder,
@@ -43,4 +51,10 @@ __all__ = [
43
51
  "pumpprobe_calc",
44
52
  "setup_collection_logs",
45
53
  "clean_up_log_config_at_end",
54
+ # GUI plans
55
+ "gui_stage_move_on_click",
56
+ "gui_gonio_move_on_click",
57
+ "gui_sleep",
58
+ "gui_move_detector",
59
+ "gui_set_parameters",
46
60
  ]
@@ -213,7 +213,9 @@ class DCID:
213
213
  "transmission": transmission,
214
214
  "visit": self.parameters.visit.name,
215
215
  "wavelength": beam_settings.wavelength_in_a,
216
- "group": {"experimentType": self.parameters.ispyb_experiment_type},
216
+ "group": {
217
+ "experimentType": self.parameters.ispyb_experiment_type.value
218
+ },
217
219
  "xBeam": xbeam,
218
220
  "yBeam": ybeam,
219
221
  "ssx": {
@@ -138,7 +138,7 @@ def enter_hutch(
138
138
  detector_stage: DetectorMotion = inject("detector_motion"),
139
139
  ) -> MsgGenerator:
140
140
  """Move the detector stage before entering hutch."""
141
- yield from bps.mv(detector_stage.z, SAFE_DET_Z) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
141
+ yield from bps.mv(detector_stage.z, SAFE_DET_Z)
142
142
  SSX_LOGGER.debug("Detector moved.")
143
143
 
144
144