mx-bluesky 1.5.11__tar.gz → 1.5.14__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 (629) hide show
  1. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/dependabot.yml +3 -5
  2. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_container.yml +43 -25
  3. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/settings.json +7 -6
  4. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile.blueapi +7 -5
  5. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile.hyperion +6 -4
  6. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/PKG-INFO +7 -6
  7. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/conftest.py +3 -0
  8. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/callback_and_run_logic.rst +2 -4
  9. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/create-a-release.rst +4 -3
  10. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/deploy-a-release.rst +5 -26
  11. mx_bluesky-1.5.14/docs/developer/general/how-to/setup-blueapi-for-mx.md +40 -0
  12. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/index.rst +3 -0
  13. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/index.rst +0 -1
  14. mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations.puml +131 -0
  15. mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations_rotation.puml +77 -0
  16. mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations_set_energy.puml +38 -0
  17. mx_bluesky-1.5.14/docs/user/hyperion/advanced/index.rst +9 -0
  18. mx_bluesky-1.5.14/docs/user/hyperion/advanced/install.rst +57 -0
  19. mx_bluesky-1.5.14/docs/user/hyperion/advanced/operations.rst +46 -0
  20. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/configuration.rst +4 -0
  21. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/index.rst +6 -8
  22. mx_bluesky-1.5.14/docs/user/hyperion/logging.rst +43 -0
  23. mx_bluesky-1.5.14/docs/user/hyperion/troubleshooting.rst +53 -0
  24. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/pyproject.toml +8 -17
  25. mx_bluesky-1.5.14/src/mx_bluesky/Getting started.ipynb +170 -0
  26. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/_version.py +3 -3
  27. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/robot_load_plan.py +198 -0
  28. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py +17 -0
  29. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py +13 -0
  30. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/pin_tip_centring.py +31 -0
  31. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/robot_load.py +74 -0
  32. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/__init__.py +6 -2
  33. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +27 -12
  34. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +88 -13
  35. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/external_interaction/config_server.py +15 -0
  36. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +115 -0
  37. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/parameters/constants.py +21 -0
  38. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +24 -1
  39. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/thawing_plan.py +147 -152
  40. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/dcid.py +4 -5
  41. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py +5 -2
  42. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +11 -11
  43. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +3 -3
  44. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +142 -142
  45. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +135 -135
  46. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +8 -8
  47. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +13 -13
  48. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py +7 -4
  49. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py +35 -32
  50. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +5 -5
  51. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +180 -0
  52. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +8 -2
  53. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -1
  54. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +6 -6
  55. mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +64 -0
  56. mx_bluesky-1.5.11/src/mx_bluesky/hyperion/device_setup_plans/smargon.py → mx_bluesky-1.5.14/src/mx_bluesky/common/device_setup_plans/gonio.py +9 -6
  57. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +8 -1
  58. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +1 -1
  59. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +8 -0
  60. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +0 -5
  61. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +8 -1
  62. mx_bluesky-1.5.14/src/mx_bluesky/common/experiment_plans/beamstop_check.py +229 -0
  63. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +2 -0
  64. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +5 -2
  65. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -1
  66. {mx_bluesky-1.5.11/src/mx_bluesky/hyperion → mx_bluesky-1.5.14/src/mx_bluesky/common}/experiment_plans/pin_tip_centring_plan.py +20 -21
  67. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +5 -0
  68. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +10 -12
  69. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +3 -5
  70. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +5 -5
  71. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/config_server.py +2 -2
  72. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +11 -4
  73. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +159 -2
  74. mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +214 -0
  75. mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +13 -0
  76. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/components.py +1 -0
  77. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/constants.py +5 -2
  78. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/device_composites.py +4 -2
  79. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/exceptions.py +15 -0
  80. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/log.py +9 -0
  81. mx_bluesky-1.5.14/src/mx_bluesky/common/utils/utils.py +90 -0
  82. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/__main__.py +3 -13
  83. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/baton_handler.py +23 -6
  84. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +1 -0
  85. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +5 -6
  86. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +3 -10
  87. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +4 -2
  88. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +8 -2
  89. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -2
  90. mx_bluesky-1.5.14/src/mx_bluesky/hyperion/experiment_plans/udc_default_state.py +166 -0
  91. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +1 -1
  92. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +48 -21
  93. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
  94. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +1 -0
  95. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +1 -4
  96. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/config_server.py +5 -5
  97. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/constants.py +10 -3
  98. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/device_composites.py +4 -2
  99. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/robot_load.py +1 -9
  100. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/plan_runner.py +31 -0
  101. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/plan_runner_api.py +14 -1
  102. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/utils/context.py +2 -2
  103. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/jupyter_example.ipynb +9 -1
  104. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/PKG-INFO +7 -6
  105. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/SOURCES.txt +40 -9
  106. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/requires.txt +6 -5
  107. mx_bluesky-1.5.14/start_jupyter.sh +2 -0
  108. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/conftest.py +161 -236
  109. mx_bluesky-1.5.14/tests/expeye_helpers.py +151 -0
  110. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +1 -1
  111. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/conftest.py +23 -12
  112. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +36 -10
  113. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/conftest.py +12 -13
  114. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +16 -5
  115. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +3 -5
  116. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +11 -31
  117. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +2 -2
  118. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/test_main_udc.py +1 -1
  119. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties +5 -0
  120. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties_with_no_gpu +4 -0
  121. mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping/test_aithre_pin_tip_centre.py +41 -0
  122. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +2 -3
  123. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +1 -2
  124. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +2 -10
  125. mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping/test_robot_load.py +282 -0
  126. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +107 -37
  127. mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/conftest.py +12 -0
  128. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +137 -18
  129. mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/test_oav_imaging.py +253 -0
  130. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +26 -1
  131. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_thawing.py +156 -65
  132. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i23/test_serial.py +3 -8
  133. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_external_acquisition.py +1 -1
  134. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_internal_acquisition.py +1 -1
  135. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_plan_utils.py +0 -2
  136. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/conftest.py +7 -23
  137. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +8 -3
  138. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +23 -3
  139. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +16 -4
  140. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +1 -1
  141. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +14 -9
  142. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -1
  143. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +1 -1
  144. mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/web_gui/test_oav_plans.py +87 -0
  145. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +10 -3
  146. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +24 -2
  147. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +1 -2
  148. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +6 -7
  149. mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans/test_beamstop_check.py +439 -0
  150. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +28 -7
  151. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +1 -1
  152. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +12 -4
  153. {mx_bluesky-1.5.11/tests/unit_tests/hyperion → mx_bluesky-1.5.14/tests/unit_tests/common}/experiment_plans/test_pin_tip_centring.py +101 -78
  154. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +1 -2
  155. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +4 -2
  156. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +1 -1
  157. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +240 -325
  158. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +137 -171
  159. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/test_config_server.py +12 -9
  160. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +177 -204
  161. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/parameters/test_constants.py +6 -0
  162. mx_bluesky-1.5.14/tests/unit_tests/common/utils/test_utils.py +49 -0
  163. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/conftest.py +79 -29
  164. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +1 -1
  165. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +1 -1
  166. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +2 -2
  167. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/conftest.py +6 -2
  168. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +1 -5
  169. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +5 -2
  170. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +6 -9
  171. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +5 -6
  172. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +9 -1
  173. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +62 -32
  174. mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans/test_udc_default_state.py +353 -0
  175. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +14 -1
  176. mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/__init__.py +0 -0
  177. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +1 -1
  178. mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  179. mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +283 -0
  180. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +1 -2
  181. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +49 -16
  182. mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  183. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +1 -5
  184. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +1 -0
  185. mx_bluesky-1.5.14/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  186. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_baton_handler.py +44 -15
  187. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_main_system.py +4 -4
  188. mx_bluesky-1.5.14/tests/unit_tests/hyperion/test_plan_runner.py +98 -0
  189. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_plan_runner_api.py +7 -0
  190. mx_bluesky-1.5.14/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  191. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/utils/test_context.py +4 -4
  192. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/t01.py +5 -3
  193. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_mx_bluesky.py +1 -1
  194. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +2 -2
  195. mx_bluesky-1.5.11/docs/developer/hyperion/deploying-hyperion.rst +0 -130
  196. mx_bluesky-1.5.11/docs/user/hyperion/troubleshooting.rst +0 -143
  197. mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -373
  198. mx_bluesky-1.5.11/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -86
  199. mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -29
  200. mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -304
  201. mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -27
  202. mx_bluesky-1.5.11/src/mx_bluesky/common/utils/utils.py +0 -42
  203. mx_bluesky-1.5.11/start_jupyter.sh +0 -2
  204. mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +0 -206
  205. mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -307
  206. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.copier-answers.yml +0 -0
  207. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.coveragerc +0 -0
  208. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.devcontainer/Dockerfile +0 -0
  209. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.devcontainer/devcontainer.json +0 -0
  210. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.dockerignore +0 -0
  211. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/CODEOWNERS +0 -0
  212. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/CONTRIBUTING.md +0 -0
  213. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  214. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  215. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/install_requirements/action.yml +0 -0
  216. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/Dockerfile +0 -0
  217. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/action.yml +0 -0
  218. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  219. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/pages/index.html +0 -0
  220. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/pages/make_switcher.py +0 -0
  221. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/release.yml +0 -0
  222. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_debug_container.yml +0 -0
  223. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_dist.yml +0 -0
  224. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_docs.yml +0 -0
  225. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_helm.yml +0 -0
  226. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_label.yml +0 -0
  227. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_pypi.yml +0 -0
  228. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_release.yml +0 -0
  229. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_test.yml +0 -0
  230. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_tox.yml +0 -0
  231. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/ci.yml +0 -0
  232. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/periodic.yml +0 -0
  233. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.gitignore +0 -0
  234. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.pre-commit-config.yaml +0 -0
  235. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/extensions.json +0 -0
  236. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/launch.json +0 -0
  237. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mx-bluesky-dev-container.code-workspace +0 -0
  238. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mx-bluesky.code-workspace +0 -0
  239. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  240. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/tasks.json +0 -0
  241. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile +0 -0
  242. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/LICENSE +0 -0
  243. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/README.rst +0 -0
  244. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/catalog-info.yaml +0 -0
  245. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/codecov.yml +0 -0
  246. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/_api.rst +0 -0
  247. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/_templates/custom-module-template.rst +0 -0
  248. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/conf.py +0 -0
  249. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  250. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
  251. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/index.rst +0 -0
  252. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
  253. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  254. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  255. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  256. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions.rst +0 -0
  257. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/contribute.rst +0 -0
  258. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  259. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  260. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  261. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  262. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  263. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/get-started.md +0 -0
  264. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/reference/standards.rst +0 -0
  265. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  266. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  267. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/baton.rst +0 -0
  268. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  269. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
  270. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/gda-baton.puml +0 -0
  271. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  272. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  273. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/readme.md +0 -0
  274. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/system-tests.rst +0 -0
  275. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/index.rst +0 -0
  276. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/explanations/DrawioImages.rst +0 -0
  277. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  278. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
  279. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/index.rst +0 -0
  280. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  281. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  282. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  283. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  284. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  285. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  286. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  287. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  288. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  289. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
  290. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/dls-favicon.ico +0 -0
  291. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/dls-logo.svg +0 -0
  292. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor coordinate systems.odg +0 -0
  293. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor-coords-omega-0.svg +0 -0
  294. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor-coords-omega-alpha.svg +0 -0
  295. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/index.rst +0 -0
  296. {mx_bluesky-1.5.11/docs/user/hyperion → mx_bluesky-1.5.14/docs/user/hyperion/advanced}/alerts.rst +0 -0
  297. {mx_bluesky-1.5.11/docs/user/hyperion → mx_bluesky-1.5.14/docs/user/hyperion/advanced}/pvs.rst +0 -0
  298. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/running.rst +0 -0
  299. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/Chart.yaml +0 -0
  300. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/deployment.yaml +0 -0
  301. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/ingress.yaml +0 -0
  302. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/service.yaml +0 -0
  303. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/zocalo-config.yaml +0 -0
  304. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/values.yaml +0 -0
  305. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
  306. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
  307. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/values.yaml +0 -0
  308. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/Chart.yaml +0 -0
  309. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/templates/deployment.yaml +0 -0
  310. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/values.yaml +0 -0
  311. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/pull_request_template.md +0 -0
  312. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/run_hyperion.sh +0 -0
  313. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/run_hyperion_in_podman.sh +0 -0
  314. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/setup.cfg +0 -0
  315. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/__init__.py +0 -0
  316. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/__main__.py +0 -0
  317. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/__init__.py +0 -0
  318. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  319. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  320. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  321. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i02_1/parameters → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans}/__init__.py +0 -0
  322. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  323. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i04/callbacks → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters}/__init__.py +0 -0
  324. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i04/experiment_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i02_1/parameters}/__init__.py +0 -0
  325. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +0 -0
  326. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24 → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/callbacks}/__init__.py +0 -0
  327. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04}/experiment_plans/__init__.py +0 -0
  328. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/external_interaction}/__init__.py +0 -0
  329. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/oav_centering_plans}/__init__.py +0 -0
  330. {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/parameters}/__init__.py +0 -0
  331. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  332. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  333. {mx_bluesky-1.5.11/src/mx_bluesky/common → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24}/__init__.py +0 -0
  334. {mx_bluesky-1.5.11/src/mx_bluesky/common/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
  335. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +0 -0
  336. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/__init__.py +0 -0
  337. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py +0 -0
  338. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_internal_acquisition.py +0 -0
  339. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py +0 -0
  340. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  341. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  342. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  343. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  344. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  345. {mx_bluesky-1.5.11/src/mx_bluesky/common/experiment_plans/inner_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
  346. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  347. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  348. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  349. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  350. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  351. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  352. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  353. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  354. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_startup_py3v1.py +0 -0
  355. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  356. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  357. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  358. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  359. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  360. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  361. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  362. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  363. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  364. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  365. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  366. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  367. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  368. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  369. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  370. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  371. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  372. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  373. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  374. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
  375. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  376. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.14/src/mx_bluesky/common}/__init__.py +0 -0
  377. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.5.14/src/mx_bluesky/common/device_setup_plans}/__init__.py +0 -0
  378. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  379. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  380. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
  381. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
  382. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
  383. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
  384. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.5.14/src/mx_bluesky/common/experiment_plans/inner_plans}/__init__.py +0 -0
  385. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
  386. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
  387. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
  388. {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
  389. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
  390. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
  391. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
  392. {mx_bluesky-1.5.11/src/mx_bluesky/common/parameters → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
  393. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  394. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  395. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  396. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  397. {mx_bluesky-1.5.11/src/mx_bluesky/common/preprocessors → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  398. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  399. {mx_bluesky-1.5.11/src/mx_bluesky/common/protocols → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
  400. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  401. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  402. {mx_bluesky-1.5.11/src/mx_bluesky/common/utils → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
  403. {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
  404. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  405. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  406. {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/alerting → mx_bluesky-1.5.14/src/mx_bluesky/common/parameters}/__init__.py +0 -0
  407. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
  408. {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions → mx_bluesky-1.5.14/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
  409. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  410. {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.14/src/mx_bluesky/common/protocols}/__init__.py +0 -0
  411. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  412. {mx_bluesky-1.5.11/src/mx_bluesky/phase1_zebra/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/common/utils}/__init__.py +0 -0
  413. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/context.py +0 -0
  414. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/tracing.py +0 -0
  415. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/xrc_result.py +0 -0
  416. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/definitions.py +0 -0
  417. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/__init__.py +0 -0
  418. {mx_bluesky-1.5.11/tests → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  419. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  420. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  421. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  422. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  423. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  424. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  425. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  426. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
  427. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  428. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  429. {mx_bluesky-1.5.11/tests/system_tests → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
  430. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
  431. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  432. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
  433. {mx_bluesky-1.5.11/tests/system_tests/common/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions}/__init__.py +0 -0
  434. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
  435. {mx_bluesky-1.5.11/tests/system_tests/hyperion → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  436. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  437. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  438. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  439. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  440. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
  441. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  442. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  443. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  444. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/runner.py +0 -0
  445. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  446. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
  447. {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.14/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
  448. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  449. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  450. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  451. {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction/alerting → mx_bluesky-1.5.14/tests}/__init__.py +0 -0
  452. {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.14/tests/system_tests}/__init__.py +0 -0
  453. {mx_bluesky-1.5.11/tests/unit_tests → mx_bluesky-1.5.14/tests/system_tests/common/device_setup_plans}/__init__.py +0 -0
  454. {mx_bluesky-1.5.11/tests/unit_tests/beamlines → mx_bluesky-1.5.14/tests/system_tests/hyperion}/__init__.py +0 -0
  455. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/aithre_lasershaping → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
  456. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i04 → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
  457. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
  458. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i04 → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction}/callbacks/__init__.py +0 -0
  459. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  460. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  461. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
  462. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  463. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_native.json +0 -0
  464. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_wait.json +0 -0
  465. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  466. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/README.md +0 -0
  467. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  468. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  469. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  470. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  471. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  472. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  473. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  474. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  475. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  476. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  477. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  478. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  479. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
  480. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
  481. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  482. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  483. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  484. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  485. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  486. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  487. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  488. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  489. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  490. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  491. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/scratch/README +0 -0
  492. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_OAVCentring.json +0 -0
  493. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  494. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  495. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_parameters.txt +0 -0
  496. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  497. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_config.cfg +0 -0
  498. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  499. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  500. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  501. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  502. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  503. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  504. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  505. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_det_dist_converter.txt +0 -0
  506. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_display.configuration +0 -0
  507. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties_with_panda +0 -0
  508. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  509. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  510. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  511. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  512. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  513. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  514. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  515. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  516. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  517. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  518. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  519. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_lookup_table.txt +0 -0
  520. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_mirror_focus.json +0 -0
  521. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  522. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i23 → mx_bluesky-1.5.14/tests/unit_tests}/__init__.py +0 -0
  523. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.14/tests/unit_tests/beamlines}/__init__.py +0 -0
  524. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping}/__init__.py +0 -0
  525. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04}/__init__.py +0 -0
  526. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/callbacks}/__init__.py +0 -0
  527. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i23}/__init__.py +0 -0
  528. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
  529. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning}/__init__.py +0 -0
  530. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/parameters → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
  531. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans/test_do_darks.py +0 -0
  532. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/__init__.py +0 -0
  533. {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  534. {mx_bluesky-1.5.11/tests/unit_tests/common → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  535. {mx_bluesky-1.5.11/tests/unit_tests/common/device_setup_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  536. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  537. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  538. {mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/parameters}/__init__.py +0 -0
  539. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  540. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  541. {mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  542. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  543. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  544. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  545. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  546. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  547. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  548. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
  549. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.14/tests/unit_tests/common}/__init__.py +0 -0
  550. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/alerting/alerting → mx_bluesky-1.5.14/tests/unit_tests/common/device_setup_plans}/__init__.py +0 -0
  551. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  552. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_setup_zebra_and_shutter.py +0 -0
  553. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
  554. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
  555. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
  556. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  557. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
  558. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  559. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/alerting}/__init__.py +0 -0
  560. {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/nexus → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
  561. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
  562. {mx_bluesky-1.5.11/tests/unit_tests/common/parameters → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  563. {mx_bluesky-1.5.11/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  564. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  565. {mx_bluesky-1.5.11/tests/unit_tests/common/utils → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  566. {mx_bluesky-1.5.11/tests/unit_tests/hyperion → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  567. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  568. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  569. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  570. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  571. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/nexus}/__init__.py +0 -0
  572. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  573. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  574. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  575. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  576. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  577. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
  578. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/common/parameters}/__init__.py +0 -0
  579. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/parameters/test_components.py +0 -0
  580. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/experiment_plans/common → mx_bluesky-1.5.14/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
  581. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  582. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.14/tests/unit_tests/common/utils}/__init__.py +0 -0
  583. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/utils/test_log.py +0 -0
  584. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.14/tests/unit_tests/hyperion}/__init__.py +0 -0
  585. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/conftest.py +0 -0
  586. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load → mx_bluesky-1.5.14/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  587. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  588. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  589. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  590. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
  591. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans/common}/__init__.py +0 -0
  592. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  593. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  594. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  595. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
  596. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  597. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
  598. {mx_bluesky-1.5.11/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  599. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  600. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  601. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  602. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  603. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  604. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  605. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  606. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
  607. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  608. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_runner.py +0 -0
  609. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_utils.py +0 -0
  610. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  611. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/test_cli.py +0 -0
  612. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/build_docker_image.sh +0 -0
  613. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/build_imginfo.sh +0 -0
  614. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/create_venv.py +0 -0
  615. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  616. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/test_deploy.py +0 -0
  617. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/dev_jaeger_container.sh +0 -0
  618. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/dls_dev_env.sh +0 -0
  619. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/entrypoint.sh +0 -0
  620. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/healthcheck.sh +0 -0
  621. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/i03-compose.yml +0 -0
  622. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/generate_plantuml.py +0 -0
  623. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/graylog/Dockerfile +0 -0
  624. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/graylog/tcp_input.json +0 -0
  625. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/procserv_ioc_start.sh +0 -0
  626. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/request_baton.sh +0 -0
  627. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/run_imginfo.sh +0 -0
  628. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/setup_graylog.sh +0 -0
  629. {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/strip_metafile.py +0 -0
@@ -1,8 +1,3 @@
1
- # To get started with Dependabot version updates, you'll need to specify which
2
- # package ecosystems to update and where the package manifests are located.
3
- # Please see the documentation for all configuration options:
4
- # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
-
6
1
  version: 2
7
2
  updates:
8
3
  - package-ecosystem: "github-actions"
@@ -26,3 +21,6 @@ updates:
26
21
  - "*"
27
22
  commit-message:
28
23
  prefix: "chore"
24
+ ignore:
25
+ - dependency-name: "pyright"
26
+ versions: [ ">=1.1.407" ] # Until https://github.com/microsoft/pyright/issues/11060 is fixed
@@ -28,6 +28,10 @@ jobs:
28
28
  username: ${{ github.actor }}
29
29
  password: ${{ secrets.GITHUB_TOKEN }}
30
30
 
31
+ ################################
32
+ # Hyperion Container Image Build
33
+ ################################
34
+
31
35
  - name: Build and export to Docker local cache
32
36
  uses: docker/build-push-action@v6
33
37
  env:
@@ -37,15 +41,6 @@ jobs:
37
41
  file: Dockerfile.hyperion
38
42
  load: true
39
43
 
40
- - name: Build and export Dockerfile.blueapi to local cache
41
- uses: docker/build-push-action@v6
42
- env:
43
- DOCKER_BUILD_RECORD_UPLOAD: false
44
- with:
45
- context: .
46
- file: Dockerfile.blueapi
47
- load: true
48
-
49
44
  - name: Create tags for publishing Hyperion image
50
45
  id: meta-hyperion
51
46
  uses: docker/metadata-action@v5
@@ -62,22 +57,6 @@ jobs:
62
57
  type=ref,event=tag
63
58
  type=raw,value=latest
64
59
 
65
- - name: Create tags for publishing BlueAPI image
66
- id: meta-blueapi
67
- uses: docker/metadata-action@v5
68
- with:
69
- images: |
70
- ghcr.io/${{ github.repository }}-blueapi
71
- labels: |
72
- org.opencontainers.image.title=mx-bluesky-blueapi
73
- org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
74
- annotations: |
75
- org.opencontainers.image.title=mx-bluesky-blueapi
76
- org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
77
- tags: |
78
- type=ref,event=tag
79
- type=raw,value=latest
80
-
81
60
  - name: Push cached Hyperion image to container registry
82
61
  if: inputs.publish && github.ref_type == 'tag'
83
62
  uses: docker/build-push-action@v6
@@ -94,6 +73,45 @@ jobs:
94
73
  # Set the annotations to make the description appear in the GH repo page
95
74
  annotations: ${{ steps.meta-hyperion.outputs.annotations }}
96
75
 
76
+ - name: Check disk space before
77
+ run: df -h && docker buildx du
78
+
79
+ - name: Prune local image cache before next build
80
+ run: docker buildx prune -f
81
+
82
+ - name: Check disk space after
83
+ run: df -h && docker buildx du
84
+
85
+ ###############################
86
+ # BlueAPI Container Image Build
87
+ ###############################
88
+
89
+ - name: Build and export Dockerfile.blueapi to local cache
90
+ uses: docker/build-push-action@v6
91
+ env:
92
+ DOCKER_BUILD_RECORD_UPLOAD: false
93
+ with:
94
+ context: .
95
+ file: Dockerfile.blueapi
96
+ load: true
97
+
98
+
99
+ - name: Create tags for publishing BlueAPI image
100
+ id: meta-blueapi
101
+ uses: docker/metadata-action@v5
102
+ with:
103
+ images: |
104
+ ghcr.io/${{ github.repository }}-blueapi
105
+ labels: |
106
+ org.opencontainers.image.title=mx-bluesky-blueapi
107
+ org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
108
+ annotations: |
109
+ org.opencontainers.image.title=mx-bluesky-blueapi
110
+ org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
111
+ tags: |
112
+ type=ref,event=tag
113
+ type=raw,value=latest
114
+
97
115
  - name: Push cached BlueAPI image to container registry
98
116
  if: github.ref_type == 'tag'
99
117
  uses: docker/build-push-action@v6
@@ -26,8 +26,12 @@
26
26
  "python.analysis.typeCheckingMode": "basic",
27
27
  "cSpell.words": [
28
28
  "aperturescatterguard",
29
+ "beamline",
30
+ "beamlines",
31
+ "beamsize",
29
32
  "beamstop",
30
33
  "blueapi",
34
+ "caget",
31
35
  "cryostream",
32
36
  "deadtime",
33
37
  "dodal",
@@ -40,19 +44,16 @@
40
44
  "mrad",
41
45
  "murko",
42
46
  "ophyd",
47
+ "pmac",
43
48
  "readback",
44
49
  "scanspec",
45
50
  "scatterguard",
46
51
  "smargon",
52
+ "thawer",
47
53
  "topup",
48
54
  "Transfocator",
49
55
  "undulator",
50
56
  "xbpm",
51
- "xspress",
52
- "pmac",
53
- "beamlines",
54
- "caget",
55
- "thawer",
56
- "beamline",
57
+ "xspress"
57
58
  ],
58
59
  }
@@ -1,15 +1,17 @@
1
1
  # Before changing this BlueAPI version number, you should check that
2
2
  # the BlueAPI pin in pyproject.toml is compatible, else the version will
3
3
  # be overridden
4
- FROM ghcr.io/diamondlightsource/blueapi:1.0.0-rc.2
4
+ FROM ghcr.io/diamondlightsource/blueapi:1.11.0
5
5
 
6
6
  ARG DEBIAN_FRONTEND=noninteractive
7
7
 
8
- RUN apt update -y && apt upgrade -y
9
- # Needed for python cv2 dependency
10
- RUN apt install -y libgl1 libglib2.0-0
8
+ # Need:
9
+ # libgl, libglib2.0 for python cv2 dependency
10
+ RUN apt update -y && \
11
+ apt upgrade -y && \
12
+ apt install -y libgl1 libglib2.0-0
11
13
 
12
- RUN /venv/bin/pip install mx-bluesky
14
+ RUN /venv/bin/pip install --no-cache-dir --no-compile mx-bluesky
13
15
 
14
16
  # Needed so that Blueapi's setup-scratch stage has permission to modify dependencies installed
15
17
  # in the above pip installation
@@ -2,11 +2,13 @@ FROM python:3.11 AS build
2
2
 
3
3
  ARG DEBIAN_FRONTEND=noninteractive
4
4
 
5
- RUN apt update -y && apt upgrade -y
6
- # Needed for python cv2 dependency
7
- RUN apt install -y libgl1 libglib2.0-0
5
+ # Need:
6
+ # libgl, libglib2.0 for python cv2 dependency
7
+ RUN apt update -y && \
8
+ apt upgrade -y && \
9
+ apt install -y libgl1 libglib2.0-0
8
10
 
9
- RUN pip install setuptools_scm
11
+ RUN pip install --no-cache-dir --no-compile setuptools_scm
10
12
 
11
13
  # Copy the pyproject.toml and install dependencies for better caching when developing
12
14
  # & rerunning deployment scripts
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.11
3
+ Version: 1.5.14
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
@@ -218,11 +218,10 @@ Requires-Dist: annotated_types
218
218
  Requires-Dist: caproto
219
219
  Requires-Dist: fastapi[all]
220
220
  Requires-Dist: flask-restful
221
- Requires-Dist: ispyb
222
221
  Requires-Dist: jupyterlab
223
222
  Requires-Dist: matplotlib
224
223
  Requires-Dist: nexgen>=0.11.0
225
- Requires-Dist: numpy==2.2.6
224
+ Requires-Dist: numpy>=2.3.5
226
225
  Requires-Dist: opencv-python
227
226
  Requires-Dist: opentelemetry-distro
228
227
  Requires-Dist: opentelemetry-exporter-otlp
@@ -238,17 +237,18 @@ Requires-Dist: deepdiff
238
237
  Requires-Dist: matplotlib
239
238
  Requires-Dist: cachetools
240
239
  Requires-Dist: daq-config-server>=v1.0.0-rc.2
241
- Requires-Dist: blueapi>=1.6.3
240
+ Requires-Dist: blueapi>=1.8.0
242
241
  Requires-Dist: ophyd>=1.10.5
243
- Requires-Dist: ophyd-async>=0.13.5
242
+ Requires-Dist: ophyd-async>=0.14.0
244
243
  Requires-Dist: bluesky>=1.14.6
245
- Requires-Dist: dls-dodal==1.65.0
244
+ Requires-Dist: dls-dodal==1.67.0
246
245
  Provides-Extra: dev
247
246
  Requires-Dist: black; extra == "dev"
248
247
  Requires-Dist: build; extra == "dev"
249
248
  Requires-Dist: diff-cover; extra == "dev"
250
249
  Requires-Dist: GitPython; extra == "dev"
251
250
  Requires-Dist: import-linter; extra == "dev"
251
+ Requires-Dist: ispyb; extra == "dev"
252
252
  Requires-Dist: ipython; extra == "dev"
253
253
  Requires-Dist: mypy; extra == "dev"
254
254
  Requires-Dist: myst-parser; extra == "dev"
@@ -262,6 +262,7 @@ Requires-Dist: pytest-cov; extra == "dev"
262
262
  Requires-Dist: pytest-random-order; extra == "dev"
263
263
  Requires-Dist: pytest-timeout; extra == "dev"
264
264
  Requires-Dist: pytest; extra == "dev"
265
+ Requires-Dist: responses; extra == "dev"
265
266
  Requires-Dist: ruff; extra == "dev"
266
267
  Requires-Dist: sphinx-autobuild; extra == "dev"
267
268
  Requires-Dist: sphinx-copybutton; extra == "dev"
@@ -7,6 +7,9 @@ import pytest
7
7
  environ["HYPERION_TEST_MODE"] = "true"
8
8
 
9
9
 
10
+ pytest_plugins = ["dodal.testing.fixtures.run_engine"]
11
+
12
+
10
13
  def pytest_addoption(parser):
11
14
  parser.addoption(
12
15
  "--logging",
@@ -16,11 +16,9 @@ In general, the ordering flow of when callbacks are triggered is controlled by e
16
16
  Rotation Scans
17
17
  ---------------------
18
18
 
19
- There are currently two ways of doing rotation scans. A single scan creates one hdf file, one ispyb deposition and then triggers zocalo once. Multi rotation scans create one hdf file for all rotations but then N nexus files, N ispyb depositions and triggers zocalo N times.
19
+ Rotation scans are generalised so that multiple scans can be done at once. The plan will create one hdf file for all rotations but then N nexus files, N ispyb depositions and triggers zocalo N times.
20
20
 
21
- Single scans will be removed in https://github.com/DiamondLightSource/mx-bluesky/issues/847
22
-
23
- For multi rotations this is does by starting 1+2*N different runs:
21
+ It does this by starting 1+2*N different runs:
24
22
 
25
23
  1. ``CONST.PLAN.ROTATION_MULTI``: This is emitted once for the whole multiple rotation. It is used by the nexus callback to get the full number of images and meta_data_run_number so that it knows which hdf file to use. When this is finished zocalo end is triggered.
26
24
  2. ``CONST.PLAN.ROTATION_OUTER``: Emitted N times, inside a ``CONST.PLAN.ROTATION_MULTI`` run. This is used to create the initial ispyb deposition and create the nexus writer (but not actually write the file)
@@ -3,14 +3,14 @@ Create a New Release
3
3
  ===========
4
4
  Pre-release
5
5
  ===========
6
- Make sure that dodal has an up-to-date release. If not, create one (see `dodal release instructions <https://diamondlightsource.github.io/dodal/main/developer/how-to/make-release.html>`_).
6
+ Make sure that dodal has an up-to-date release. If not, create one (see `dodal release instructions <https://diamondlightsource.github.io/dodal/main/how-to/make-release.html>`_).
7
7
 
8
8
  =======
9
9
  Release
10
10
  =======
11
11
 
12
- 1. Create a new branch from main named pre followed by the release version e.g. pre_v0.1.0. The release versions should look like ``v{major}.{minor}.{patch}``.
13
- 2. On this branch pin the up-to-date version of dodal and the latest release of nexgen if necessary, then push to GitHub.
12
+ 1. Create a new branch from main named pre followed by the release version e.g. pre_0.1.0. The release versions should look like ``{major}.{minor}.{patch}``.
13
+ 2. On this branch pin the latest release of dodal, and nexgen if necessary, then push to GitHub. (e.g "dls-dodal == 1.63.0")
14
14
  3. Make sure the CI is passing for this new pre-release branch.
15
15
  4. Go `here <https://github.com/DiamondLightSource/mx-bluesky/releases/new>`_.
16
16
  5. Select Choose a new tag and type the version of the release, then select the branch created in step 1 as the target.
@@ -19,6 +19,7 @@ Release
19
19
  8. Publish the release
20
20
 
21
21
  NOTE FOR USING THE MX-BLUESKY-BLUEAPI IMAGE: If using this image with BlueAPI's helmchart for deployment, the version of dodal which is installed will be the version which is pinned in the BlueAPI, rather than what's in mx-bluesky's pyproject.toml. Before releasing, you should pin BlueAPI to a version which uses a dodal version which is compatible with itself AND mx-bluesky. The deployment will fail if BlueAPI has no version which works with the desired dodal version
22
+ Follow `these instructions <setup-blueapi-for-mx.html>`_ on using the mx-bluesky-blueapi image.
22
23
 
23
24
  ------------------------
24
25
  Deciding release numbers
@@ -1,9 +1,13 @@
1
1
  Deploy a New Release
2
2
  ====================
3
3
 
4
+ .. warning::
5
+
6
+ This guide is for pre-containerised deployments. To see how deployments work using BlueAPI with kubernetes, please see `the updated guide <setup-blueapi-for-mx.html>`_.
7
+
4
8
  **Remember to discuss any new deployments with the appropriate beamline scientist.**
5
9
 
6
- The ``utility_scripts/deploy/deploy_mx_bluesky.py`` script will deploy the latest mx-bluesky version to a specified beamline. Deployments live in ``/dls_sw/ixx/software/bluesky/mx-bluesky_vX.X.X``. To do a new deployment you should run the deploy script from your mx-bluesky dev environment with e.g.
10
+ The ``utility_scripts/deploy/deploy_mx_bluesky.py`` script will deploy the latest mx-bluesky version to a specified beamline. Deployments live in ``/dls_sw/ixx/software/bluesky/mx-bluesky_X.X.X``. To do a new deployment you should run the deploy script from your mx-bluesky dev environment with e.g.
7
11
  If you have just created a new release, you may need to run git fetch --tags to get the newest release.
8
12
 
9
13
  .. code:: console
@@ -31,28 +35,3 @@ The script has a few additional optional arguments, which can be viewed with:
31
35
  .. code:: console
32
36
 
33
37
  python ./deploy/deploy_mx_bluesky.py -h
34
-
35
-
36
- For building and deploying a Docker image please see :doc:`../../hyperion/deploying-hyperion`.
37
-
38
-
39
- .. note::
40
-
41
- On i03 the installation will succeed with error messages due to RedHat7 versions of dependencies being unavailable.
42
- This results in the installation being incomplete, thus requiring the following post-installation steps:
43
-
44
- First, on a RedHat8 workstation, run
45
-
46
- .. code:: console
47
-
48
- . ./.venv/bin/activate
49
- pip install confluent-kafka
50
- pip install contourpy
51
-
52
- Then, on the control machine, run
53
-
54
- .. code:: console
55
-
56
- . ./.venv/bin/activate
57
- pip install -e .
58
- pip install -e ../dodal
@@ -0,0 +1,40 @@
1
+ # Setting up BlueAPI for an MX beamline
2
+
3
+ ## Background
4
+
5
+ The Athena DAQ platform is intended to run in microservices using kubernetes. A beamline ixx has a gitlab repository `ixx-services`, which contains that beamline's available services and their helm configurations, as well as `ixx-deployments` which says which available services should be deployed. Services managed in this way will be deployed into the `ixx-beamline` namespace. ArgoCD provides a useful dashboard for the deployed services and their kubernetes objects. See [here](https://dev-guide.diamond.ac.uk/athena/how-tos/migration/) for more information. This guide will explain how to setup BlueAPI using mx-bluesky within this framework.
6
+
7
+ ## Prerequisites
8
+
9
+ 1. The beamline has a kubernetes cluster with gitlab deployment and services repos. See [here](https://dev-guide.diamond.ac.uk/epics-containers/how-tos/intro/) for a guide on this. DAQ members should be codeowners of these repos.
10
+ 2. Confirm the beamline cluster has a Blueapi ingress and DNS entry for `ixx-blueapi.diamond.ac.uk` - create a scicomp ticket if it doesn't.
11
+
12
+ ## Guide to run BlueAPI with mx-bluesky through kubernetes
13
+
14
+ The best way to add BlueAPI to the services and deployments repo with the correct configuration is to copy from an existing setup and change the relevant values. i04 will be used as an example for this guide - [see their blueapi configuration](https://gitlab.diamond.ac.uk/controls/containers/beamline/i04-services/-/tree/main/services/i04-blueapi?ref_type=heads). The `chart.yaml` tells us which helmcharts are being used. The BlueAPI helmchart gives us the bulk of the configuration. See [here](https://github.com/DiamondLightSource/blueapi/tree/main/helm/blueapi) for a table of its settings. In MX we use an additional `mx-bluesky-blueapi` helmchart - right now this is purely for configuring Zocalo, but anything else which is generic to MX should be added.
15
+
16
+ `values.yaml` lets us configure the helmcharts that we had listed in dependencies. This file should look the same for each MX beamline, other than the actual beamline name. Unfortunately, there's no way to get a templated file here which automatically fills in the beamline name. Some notes:
17
+
18
+ - The BlueAPI image should be set to `ghcr.io/diamondlightsource/mx-bluesky-blueapi` and you should specify a version tag. See all releases of this image [here](https://github.com/DiamondLightSource/mx-bluesky/pkgs/container/mx-bluesky-blueapi). This image will install any MX-specific dependencies on top of the BlueAPI image.
19
+ - We are currently mounting `/dls/ixx` and `/dls_sw/ixx` to BlueAPI, but the long-term goal is to not mount the file system. Nexgen currently requires `/dls/ixx` to be mounted. Once Nexgen is migrated into a separate service, we can unmount `/dls/ixx` from Blueapi and mount it in Nexgen only. Unmounting `/dls_sw/ixx`requires us to be using the config server for all settings - this is currently being worked on.
20
+ - Until the above is done, BlueAPI needs to run as the detector user so that it has permission to write files. Type `id ixxdetector` into a terminal to find the user id. This then needs to be added in the `runAsUser: [number]` part of the values.
21
+
22
+ MX Bluesky plans require some secrets to be added to the beamline cluster. The configuration from the above requires these secrets, so will not work without this. At the time of writing this guide, there are 3 that we need: ispyb (expeye) credentials, rabbitMQ credentials for zocalo, and config for rabbitMQ api reader for zocalo. These should be added as sealed secrets and committed to the services repo. Here's how this works:
23
+
24
+ 1. Open a terminal and enter your beamline cluster with `module load k8s-ixx`
25
+ 2. Set the default namespace to ixx-beamline with `kubectl config set-context --current --namespace=ixx-beamline`
26
+ 3. Create a regular secret and save to a yaml file with `kubectl create secret generic [secret-name] --from-file=/path/to/sensitive/file --save-config --dry-run=client -o yaml > [secret-file-name.yaml]`
27
+ 4. Seal the secret with `kubeseal --controller-namespace kube-system --controller-name sealed-secrets-controller --format yaml < [secret-file-name.yaml] > [sealed-secret-file-name.yaml]`. This will encrypt your secret - the beamline cluster comes installed with the private key to decrypt information sealed with this command.
28
+ 5. Commit the sealed secret into `ixx-services/services/ixx-blueapi/templates`. Importantly, do not commit the unsealed secret!
29
+ 6. Once this is pushed to the main branch, you can check the k8s dashboard to see if the secret has successfully been added.
30
+
31
+ <div style="border: 2px solid #f39c12; background-color: #fef2e4; padding: 10px; margin: 15px 0; border-radius: 5px;">
32
+ <strong>Warning:</strong> The mx-bluesky-blueapi image is responsible for your blueapi version and your python environment. It is independent from the mx-bluesky and dodal repos in the scratch folder. Currently, the versions of these repos must be manually managed. This will be addressed <a href="https://github.com/DiamondLightSource/blueapi/issues/933" target="_blank" style="color: #e67e22; text-decoration: underline;">here</a>.
33
+ </div>
34
+
35
+ Paths to required credentials:
36
+
37
+ - Zocalo api reader: `/dls_sw/apps/zocalo/secrets/rabbitmq-api-reader.yml`
38
+ - Zocalo RMQ credentials: `/dls_sw/apps/zocalo/secrets/rabbitmq-credentials.yml`
39
+ - ispyb (expeye) credentials: `/dls_sw/dasc/mariadb/credentials/ispyb-mx-bluesky-ixx.cfg`
40
+ See [here](https://gitlab.diamond.ac.uk/controls/containers/beamline/i24-services/-/tree/main/services/i24-blueapi/templates?ref_type=heads) For what the templates folder should look like once the above steps have been done.
@@ -1,3 +1,5 @@
1
+ :: _dev-guide:
2
+
1
3
  General MX-Bluesky Developer Guide
2
4
  ==================================
3
5
 
@@ -25,6 +27,7 @@ Documentation is split into four categories, and each is also accessible from li
25
27
  :maxdepth: 1
26
28
 
27
29
  how-to/get-started
30
+ how-to/setup-blueapi-for-mx
28
31
  how-to/contribute
29
32
  how-to/create-a-release
30
33
  how-to/deploy-a-release
@@ -16,7 +16,6 @@ Documentation specific for the Hyperion module within MX-Bluesky
16
16
  reference/baton
17
17
  reference/param-hierarchy
18
18
  reference/coordinate-systems
19
- deploying-hyperion
20
19
  system-tests
21
20
 
22
21
  +++
@@ -0,0 +1,131 @@
1
+ @startuml
2
+ !pragma teoz true
3
+ participant "BlueSky RunEngine" as RE
4
+ box "Opyhd Async Devices"
5
+ participant "Aperture\nScatterguard" as ap_sg
6
+ participant "Smargon" as smargon
7
+ participant "Robot" as robot
8
+ participant "Backlight" as backlight
9
+ participant "OAV" as oav
10
+ participant "Panda" as panda
11
+ participant "Zebra" as zebra
12
+ participant "Zocalo\nResults" as zocalo
13
+ participant "Eiger" as eiger
14
+ end box
15
+ box "Callbacks"
16
+ participant "Robot Load\nISPyB" as RobotLoadISPyB
17
+ participant "Gridscan\nISPyB" as GridscanISPyB
18
+ participant "Grid\nDetection" as GridDetection
19
+ participant "GridScan\nNexus" as GridScanNexus
20
+ participant "Zocalo\nTrigger" as ZocaloCallback
21
+ participant "XRC\nResults" as XRayCentreEventHandler
22
+ participant "Snapshot\nBeam Centre\nAnnotation" as BeamDrawingCallback
23
+ end box
24
+
25
+ RE -> RE:robot_load_then_xray_centre
26
+ activate RE #ffeeee
27
+ opt pin not already loaded
28
+ RE -> RE: robot_load_and_change_energy_plan
29
+ activate RE #ffdddd
30
+ RE -> RE: prepare_for_robot_load
31
+ activate RE #ffcccc
32
+ RE -> ap_sg: Move Aperture Scatterguard out of beam
33
+ activate ap_sg
34
+ RE -> smargon: Home smargon
35
+ activate smargon
36
+ deactivate ap_sg
37
+ deactivate RE /' prepare_for_robot_load '/
38
+ RE -> RE: robot_load_and_snapshots
39
+ activate RE #ffcccc
40
+ activate RobotLoadISPyB
41
+ RE -> RobotLoadISPyB: send parameters to robot load callback
42
+ RE -> backlight: move backlight in
43
+ RE -> RE: do_robot_load
44
+ activate RE #ffbbbb
45
+ RE -> robot: trigger robot load
46
+ activate robot
47
+ RE -> RE: set_energy_plan
48
+ note right of RE: (see below)
49
+ deactivate robot
50
+ deactivate RE /' do_robot_load '/
51
+ RE -> smargon: Restore motor positions
52
+ deactivate smargon
53
+ RE -> oav: trigger snapshots
54
+ RE -> RobotLoadISPyB: read hardware
55
+ RE -> RobotLoadISPyB: record snapshots
56
+ deactivate RE /'robot_load_and_snapshots'/
57
+ return /'robot_load_and_change_energy_plan'/
58
+ deactivate RobotLoadISPyB
59
+ end /'pin not already loaded'/
60
+ alt pin is loaded
61
+ RE -> RE: set_energy_plan
62
+ end /'pin is loaded'/
63
+ RE -> RE++ : start_preparing_data_collection_then_do_plan
64
+ RE -> eiger ++ : arm the eiger
65
+ RE -> GridscanISPyB ++ : send parameters to grdscan callback
66
+ RE -> RE ++ #ffdddd : pin_centre_then_flyscan_plan
67
+ RE -> RE: setup_beamline_for_oav
68
+ RE -> RE: pin_tip_centre_plan
69
+ ...do pin tip centring...
70
+ RE -> RE ++ #ffcccc: detect_grid_and_do_gridscan
71
+ RE -> RE: setup_beamline_for_oav
72
+ RE -> ap_sg ++: prepare aperture scatterguard\nfor gridscan in background
73
+ activate GridDetection
74
+ RE -> RE ++ #ffbbbb: grid_detection_plan
75
+ loop xy and xz grids
76
+ RE -> smargon: rotate omega
77
+ RE -> oav: trigger OAV snapshot
78
+ RE -> GridscanISPyB: snapshot event with oav + smargon state
79
+ & RE -> BeamDrawingCallback ++
80
+ BeamDrawingCallback -> BeamDrawingCallback : save snapshot details\n\
81
+ to generate rotation\n\
82
+ snapshots later
83
+ end
84
+ deactivate RE /'grid_detection_plan'/
85
+ deactivate GridDetection
86
+ RE -> RE ++
87
+ ...grid detection...
88
+ return
89
+ RE -> backlight: move backlight out
90
+ ap_sg -> RE --: aperture scatterguard completes
91
+ RE -> RE ++ #ffaaaa : common_flycan_xray_centre
92
+ RE -> eiger : setup detector parameters
93
+ RE -> GridScanNexus++: send gridscan parameters
94
+ RE -> panda : configure panda
95
+ RE -> zebra : configure zebra for panda
96
+ RE -> panda ++ : arm panda
97
+ RE -> zocalo ++ : stage zocalo device
98
+ RE -> RE ++ #ff9999 : run_gridscan
99
+ RE -> GridscanISPyB : read hardware before
100
+ & RE -> GridScanNexus
101
+ RE <-> eiger : stage eiger (ensures arming complete if not already)
102
+ RE -> ZocaloCallback ++ : send params to Zocalo callback
103
+ zocalo -> RE : zocalo stage completes
104
+ RE -> ZocaloCallback : trigger zocalo with detector filename
105
+ RE -> panda ++ : kickoff gridscan
106
+ RE -> GridscanISPyB : read hardware during
107
+ & RE -> GridScanNexus
108
+ deactivate GridScanNexus
109
+ ...perform gridscan...
110
+ panda -> RE --
111
+ eiger -> RE -- : unstage eiger
112
+ RE -> ZocaloCallback : notify Zocalo of completion
113
+ deactivate ZocaloCallback
114
+ deactivate RE /' run_gridscan '/
115
+ RE -> zocalo ++: fetch results from zocalo
116
+ ...wait for Zocalo processing...
117
+ zocalo -> RE -- : detected xtal centres
118
+ RE -> XRayCentreEventHandler ++ : post detected centres to callback
119
+ zocalo -> RE -- : unstage zocalo
120
+ panda -> RE -- : unstage panda
121
+ RE -> zebra : tidy zebra
122
+ deactivate RE /'common_flyscan_xray_centre'/
123
+ deactivate RE /' detect_grid_and_do_gridscan'/
124
+ return /' pin_centre_then_flyscan_plan'/
125
+ deactivate GridscanISPyB
126
+ deactivate RE /' start_preparing_data_collection_then_do_plan '/
127
+ deactivate RE /'robot_load_then_xray_centre'/
128
+ note over XRayCentreEventHandler
129
+ Results collected later by rotation
130
+ end note
131
+ @enduml
@@ -0,0 +1,77 @@
1
+ @startuml
2
+ !pragma teoz true
3
+ participant "BlueSky RunEngine" as RE
4
+ box "Opyhd Async Devices"
5
+ participant "Aperture\nScatterguard" as ap_sg
6
+ participant "Smargon" as smargon
7
+ participant "Robot" as robot
8
+ participant "Backlight" as backlight
9
+ participant "OAV" as oav
10
+ participant "Zebra" as zebra
11
+ participant "Eiger" as eiger
12
+ participant "Synchrotron" as synchrotron
13
+ end box
14
+ box "Callbacks"
15
+ participant "Rotation\nISPyB" as RotationISPyB
16
+ participant "Rotation\nNexus" as RotationScanNexus
17
+ participant "XRC\nResults" as XRayCentreEventHandler
18
+ participant "Snapshot\nBeam Centre\nAnnotation" as BeamDrawingCallback
19
+ end box
20
+
21
+ activate XRayCentreEventHandler
22
+ activate BeamDrawingCallback
23
+ XRayCentreEventHandler -> RE : results from gridscan
24
+ deactivate XRayCentreEventHandler
25
+
26
+ RE -> eiger : configure eiger parameters
27
+
28
+ RE -> RE ++ : start_preparing_data_collection_then_do_plan
29
+ RE -> eiger ++ : start arming the eiger
30
+ RE -> RotationScanNexus ++ : send rotation parameters
31
+ loop for each rotation
32
+ RE -> RotationISPyB ++: send rotation parameters (ROTATION_OUTER)
33
+ & RotationISPyB -> RotationScanNexus
34
+ RE -> smargon : move to xtal centre
35
+ RE -> RE : setup_beamline_for_oav
36
+ note right of RE : (if snapshots not derived from gridscan snapshots)
37
+ RE -> ap_sg ++ : prepare aperture
38
+ RE -> RE ++ #ffdddd : oav_snapshot_plan
39
+ loop for each snapshot
40
+ RE -> smargon : rotate
41
+ RE -> oav : configure + trigger snapshot (if taking real snapshots)
42
+ oav -> oav : save snapshots
43
+ RE -> RotationISPyB : generate snapshot event
44
+ & RE -> BeamDrawingCallback
45
+ BeamDrawingCallback -> BeamDrawingCallback : annotate snapshots
46
+ end
47
+ deactivate BeamDrawingCallback
48
+ deactivate RE /' oav_snapshot_plan '/
49
+ RE -> RE ++ #ffdddd : rotation_scan_plan
50
+ RE -> RotationISPyB ++ : send scan points (ROTATION_SCAN_MAIN)
51
+ RE -> zebra ++ : configure zebra for rotation
52
+ RE -> RE ++ #ffcccc : setup_sample_environment
53
+ RE -> backlight : move backlight out
54
+ ap_sg -> RE -- : select aperture completed
55
+ deactivate RE /' setup_sample_environment '/
56
+ RE -> smargon : set velocity
57
+ RE -> zebra : arm zebra PC
58
+ opt wait for topup
59
+ RE -> synchrotron ++ : check synchrotron status vs desired exposure
60
+ ...wait until topup is complete if necessary...
61
+ return
62
+ end
63
+ RE -> smargon : trigger scan
64
+ RE -> RotationISPyB : read hardware during scan
65
+ & -> RotationScanNexus
66
+ deactivate RE /' rotation_scan_plan '/
67
+ RE -> RotationISPyB : record subplan exit status
68
+ deactivate RotationISPyB
69
+ end /' loop for each rotation '/
70
+ deactivate RotationISPyB
71
+ eiger -> RE -- : unstage eiger
72
+ RE -> zebra : tidy zebra
73
+ deactivate zebra
74
+ deactivate RotationScanNexus
75
+ deactivate RE /' start_preparing_data_collection_then_do_plan '/
76
+
77
+ @enduml
@@ -0,0 +1,38 @@
1
+ @startuml
2
+ !pragma teoz true
3
+ participant "BlueSky RunEngine" as RE
4
+ box "Opyhd Async Devices"
5
+ participant "Undulator" as undulator
6
+ participant "DCM" as dcm
7
+ participant "Transmission\nand Feedback" as feedback
8
+ participant "Mirrors" as mirrors
9
+ participant "Mirror\nVoltages" as voltages
10
+ end box
11
+
12
+ group set_energy_plan
13
+ RE -> RE: set_energy_plan
14
+ activate RE
15
+ RE -> feedback: feedback off
16
+ activate feedback
17
+ RE -> undulator: set undulator gap for requested energy
18
+ activate undulator
19
+ RE -> dcm: Adjust DCM pitch and roll for energy
20
+ activate dcm
21
+ opt mirror stripe needs changing
22
+ RE -> mirrors: Adjust mirror stripe
23
+ activate mirrors
24
+ RE -> mirrors: Adjust yaw, lat
25
+ {start_voltages} RE -> voltages: Adjust mirror voltages
26
+ activate voltages
27
+ ...Wait for all voltages to settle...
28
+ {end_voltages} voltages -> RE
29
+ deactivate voltages
30
+ deactivate mirrors
31
+ end
32
+ undulator -> RE
33
+ deactivate undulator
34
+ deactivate dcm
35
+ deactivate feedback
36
+ deactivate RE /' set energy plan '/
37
+ end
38
+ @enduml