mx-bluesky 1.5.1__tar.gz → 1.5.3__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 (571) hide show
  1. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_container.yml +33 -8
  2. mx_bluesky-1.5.3/.github/workflows/_helm.yml +23 -0
  3. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/ci.yml +8 -0
  4. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.pre-commit-config.yaml +1 -1
  5. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/mx-bluesky.code-workspace +2 -0
  6. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/Dockerfile.blueapi +4 -2
  7. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/PKG-INFO +5 -4
  8. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/conftest.py +1 -1
  9. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/deploying-hyperion.rst +10 -0
  10. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/reference/coordinate-systems.rst +1 -1
  11. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/index.rst +7 -0
  12. mx_bluesky-1.5.3/docs/user/hyperion/alerts.rst +68 -0
  13. mx_bluesky-1.5.3/docs/user/hyperion/configuration.rst +25 -0
  14. mx_bluesky-1.5.3/docs/user/hyperion/index.rst +25 -0
  15. mx_bluesky-1.5.3/docs/user/hyperion/logging.rst +41 -0
  16. mx_bluesky-1.5.3/docs/user/hyperion/pvs.rst +12 -0
  17. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/templates/deployment.yaml +8 -41
  18. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/values.yaml +1 -1
  19. mx_bluesky-1.5.3/helm/mx-bluesky-blueapi/Chart.yaml +16 -0
  20. mx_bluesky-1.5.3/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +38 -0
  21. mx_bluesky-1.5.3/helm/mx-bluesky-blueapi/values.yaml +13 -0
  22. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/pyproject.toml +19 -7
  23. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/_version.py +16 -3
  24. mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i04/__init__.py +10 -0
  25. mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +110 -0
  26. mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +262 -0
  27. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +2 -2
  28. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +3 -1
  29. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +5 -1
  30. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +26 -3
  31. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +1 -0
  32. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +3 -1
  33. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +12 -2
  34. mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/alerting/__init__.py +13 -0
  35. mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/alerting/_service.py +82 -0
  36. mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +57 -0
  37. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +28 -4
  38. mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/config_server.py +154 -0
  39. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +11 -6
  40. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/parameters/constants.py +27 -8
  41. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/parameters/device_composites.py +1 -1
  42. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/parameters/gridscan.py +2 -1
  43. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/__main__.py +195 -0
  44. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/baton_handler.py +177 -0
  45. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +29 -24
  46. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +4 -93
  47. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +23 -38
  48. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +12 -4
  49. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +1 -1
  50. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +7 -8
  51. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +128 -73
  52. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +12 -0
  53. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +5 -0
  54. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +2 -2
  55. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/external_interaction/config_server.py +16 -0
  56. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/cli.py +15 -3
  57. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/parameters/components.py +10 -0
  58. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/constants.py +21 -6
  59. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/gridscan.py +22 -14
  60. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +1 -14
  61. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/robot_load.py +1 -4
  62. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/rotation.py +1 -2
  63. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/plan_runner.py +78 -0
  64. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/runner.py +189 -0
  65. mx_bluesky-1.5.3/src/mx_bluesky/hyperion/utils/context.py +33 -0
  66. mx_bluesky-1.5.3/src/mx_bluesky/phase1_zebra/__init__.py +1 -0
  67. mx_bluesky-1.5.3/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +112 -0
  68. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/PKG-INFO +5 -4
  69. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/SOURCES.txt +51 -30
  70. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/entry_points.txt +0 -2
  71. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/requires.txt +4 -3
  72. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/conftest.py +71 -18
  73. mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +87 -0
  74. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/conftest.py +4 -4
  75. mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +148 -0
  76. mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +141 -0
  77. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +29 -1
  78. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +7 -4
  79. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +1 -1
  80. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +3 -1
  81. mx_bluesky-1.5.3/tests/test_data/agamemnon/example_wait.json +3 -0
  82. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -3
  83. mx_bluesky-1.5.3/tests/test_data/test_domain_properties +73 -0
  84. mx_bluesky-1.5.3/tests/test_data/test_domain_properties_with_no_gpu +73 -0
  85. mx_bluesky-1.5.3/tests/test_data/test_domain_properties_with_panda +73 -0
  86. mx_bluesky-1.5.3/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +207 -0
  87. mx_bluesky-1.5.3/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +363 -0
  88. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i04/test_thawing.py +1 -0
  89. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +4 -2
  90. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -5
  91. {mx_bluesky-1.5.1/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.3/tests/unit_tests/common/experiment_plans/inner_plans}/test_read_hardware.py +1 -1
  92. {mx_bluesky-1.5.1/tests/unit_tests/common → mx_bluesky-1.5.3/tests/unit_tests/common/experiment_plans/inner_plans}/test_write_sample_status.py +1 -1
  93. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +1 -18
  94. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -18
  95. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +16 -0
  96. mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +86 -0
  97. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +29 -0
  98. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/conftest.py +1 -3
  99. mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/test_config_server.py +158 -0
  100. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +3 -1
  101. mx_bluesky-1.5.3/tests/unit_tests/common/parameters/test_constants.py +25 -0
  102. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/conftest.py +88 -34
  103. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/conftest.py +17 -12
  104. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +32 -5
  105. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +4 -2
  106. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +6 -6
  107. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +13 -3
  108. mx_bluesky-1.5.3/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  109. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/conftest.py +21 -2
  110. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +5 -18
  111. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +4 -8
  112. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +2 -2
  113. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +1 -1
  114. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +2 -3
  115. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +1 -2
  116. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +64 -58
  117. mx_bluesky-1.5.3/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  118. mx_bluesky-1.5.3/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  119. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +3 -11
  120. mx_bluesky-1.5.3/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  121. mx_bluesky-1.5.3/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  122. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +61 -30
  123. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +9 -0
  124. mx_bluesky-1.5.3/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  125. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +1 -1
  126. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +124 -59
  127. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +4 -4
  128. mx_bluesky-1.5.3/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  129. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +32 -46
  130. mx_bluesky-1.5.3/tests/unit_tests/hyperion/test_baton_handler.py +636 -0
  131. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/test_main_system.py +174 -25
  132. mx_bluesky-1.5.3/tests/unit_tests/hyperion/test_runner.py +95 -0
  133. mx_bluesky-1.5.3/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  134. mx_bluesky-1.5.3/tests/unit_tests/t01.py +22 -0
  135. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +13 -1
  136. mx_bluesky-1.5.1/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -26
  137. mx_bluesky-1.5.1/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -13
  138. mx_bluesky-1.5.1/hyperion_other/workflows/get_issue_from_pr.yml +0 -51
  139. mx_bluesky-1.5.1/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -98
  140. mx_bluesky-1.5.1/hyperion_other/workflows/linkcheck.yml +0 -34
  141. mx_bluesky-1.5.1/hyperion_other/workflows/open_prs_to_review.yml +0 -19
  142. mx_bluesky-1.5.1/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -13
  143. mx_bluesky-1.5.1/hyperion_other/workflows/pin_versions.py +0 -136
  144. mx_bluesky-1.5.1/hyperion_other/workflows/pre_release_workflow.yml +0 -48
  145. mx_bluesky-1.5.1/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -19
  146. mx_bluesky-1.5.1/hyperion_other/workflows/test_data/pip_freeze.txt +0 -248
  147. mx_bluesky-1.5.1/hyperion_other/workflows/test_data/setup.cfg +0 -75
  148. mx_bluesky-1.5.1/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -74
  149. mx_bluesky-1.5.1/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -74
  150. mx_bluesky-1.5.1/hyperion_other/workflows/test_pin_versions.py +0 -79
  151. mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i04/__init__.py +0 -3
  152. mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -55
  153. mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/config_server.py +0 -57
  154. mx_bluesky-1.5.1/src/mx_bluesky/hyperion/__main__.py +0 -323
  155. mx_bluesky-1.5.1/src/mx_bluesky/hyperion/baton_handler.py +0 -89
  156. mx_bluesky-1.5.1/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -35
  157. mx_bluesky-1.5.1/src/mx_bluesky/hyperion/parameters/components.py +0 -8
  158. mx_bluesky-1.5.1/src/mx_bluesky/hyperion/utils/context.py +0 -19
  159. mx_bluesky-1.5.1/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -92
  160. mx_bluesky-1.5.1/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -61
  161. mx_bluesky-1.5.1/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -107
  162. mx_bluesky-1.5.1/tests/unit_tests/common/external_interaction/test_config_server.py +0 -38
  163. mx_bluesky-1.5.1/tests/unit_tests/hyperion/test_baton_handler.py +0 -178
  164. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.copier-answers.yml +0 -0
  165. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.coveragerc +0 -0
  166. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.devcontainer/Dockerfile +0 -0
  167. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.devcontainer/devcontainer.json +0 -0
  168. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.dockerignore +0 -0
  169. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/CODEOWNERS +0 -0
  170. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/CONTRIBUTING.md +0 -0
  171. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  172. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  173. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/actions/install_requirements/action.yml +0 -0
  174. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/actions/verify-nexus/Dockerfile +0 -0
  175. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/actions/verify-nexus/action.yml +0 -0
  176. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  177. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/dependabot.yml +0 -0
  178. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/pages/index.html +0 -0
  179. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/pages/make_switcher.py +0 -0
  180. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_check.yml +0 -0
  181. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_dist.yml +0 -0
  182. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_docs.yml +0 -0
  183. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_pypi.yml +0 -0
  184. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_release.yml +0 -0
  185. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_test.yml +0 -0
  186. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/_tox.yml +0 -0
  187. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.github/workflows/periodic.yml +0 -0
  188. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.gitignore +0 -0
  189. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/extensions.json +0 -0
  190. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/launch.json +0 -0
  191. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  192. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/settings.json +0 -0
  193. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/.vscode/tasks.json +0 -0
  194. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/Dockerfile +0 -0
  195. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/Dockerfile.hyperion +0 -0
  196. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/LICENSE +0 -0
  197. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/README.rst +0 -0
  198. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/catalog-info.yaml +0 -0
  199. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/codecov.yml +0 -0
  200. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/_api.rst +0 -0
  201. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/_templates/custom-module-template.rst +0 -0
  202. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/conf.py +0 -0
  203. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  204. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
  205. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/code-map/index.rst +0 -0
  206. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
  207. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
  208. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  209. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  210. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  211. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/explanations/decisions.rst +0 -0
  212. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/contribute.rst +0 -0
  213. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/create-a-release.rst +0 -0
  214. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  215. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  216. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  217. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  218. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  219. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  220. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/how-to/get-started.rst +0 -0
  221. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/index.rst +0 -0
  222. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/reference/standards.rst +0 -0
  223. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  224. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  225. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/index.rst +0 -0
  226. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  227. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  228. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  229. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/reference/readme.md +0 -0
  230. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/hyperion/system-tests.rst +0 -0
  231. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/index.rst +0 -0
  232. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  233. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  234. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/murko-integration/index.rst +0 -0
  235. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  236. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  237. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  238. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  239. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  240. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  241. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  242. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  243. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  244. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/dls-favicon.ico +0 -0
  245. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/dls-logo.svg +0 -0
  246. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/motor coordinate systems.odg +0 -0
  247. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/motor-coords-omega-0.svg +0 -0
  248. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/docs/images/motor-coords-omega-alpha.svg +0 -0
  249. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/Chart.yaml +0 -0
  250. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/templates/ingress.yaml +0 -0
  251. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/templates/service.yaml +0 -0
  252. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/hyperion/templates/zocalo-config.yaml +0 -0
  253. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/redis-to-murko/Chart.yaml +0 -0
  254. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/redis-to-murko/templates/deployment.yaml +0 -0
  255. {mx_bluesky-1.5.1/helmcharts → mx_bluesky-1.5.3/helm}/redis-to-murko/values.yaml +0 -0
  256. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/pull_request_template.md +0 -0
  257. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/run_hyperion.sh +0 -0
  258. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/run_hyperion_in_podman.sh +0 -0
  259. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/setup.cfg +0 -0
  260. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/__init__.py +0 -0
  261. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/__main__.py +0 -0
  262. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/__init__.py +0 -0
  263. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  264. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  265. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  266. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  267. {mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i24 → mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i04/experiment_plans}/__init__.py +0 -0
  268. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +0 -0
  269. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
  270. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  271. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  272. {mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i24}/__init__.py +0 -0
  273. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  274. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  275. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  276. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  277. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  278. {mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
  279. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  280. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  281. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  282. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  283. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  284. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  285. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  286. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  287. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  288. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  289. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  290. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  291. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  292. {mx_bluesky-1.5.1/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  293. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  294. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
  295. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  296. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  297. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  298. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  299. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  300. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  301. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  302. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  303. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  304. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  305. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  306. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  307. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  308. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  309. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  310. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  311. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  312. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  313. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  314. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  315. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  316. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  317. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  318. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  319. {mx_bluesky-1.5.1/src/mx_bluesky/common → mx_bluesky-1.5.3/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
  320. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +0 -0
  321. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  322. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction → mx_bluesky-1.5.3/src/mx_bluesky/common}/__init__.py +0 -0
  323. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
  324. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  325. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +0 -0
  326. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
  327. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  328. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
  329. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
  330. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
  331. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
  332. {mx_bluesky-1.5.1/src/mx_bluesky/common/experiment_plans → mx_bluesky-1.5.3/src/mx_bluesky/common/experiment_plans/inner_plans}/read_hardware.py +0 -0
  333. {mx_bluesky-1.5.1/src/mx_bluesky/common/experiment_plans → mx_bluesky-1.5.3/src/mx_bluesky/common/experiment_plans/inner_plans}/write_sample_status.py +0 -0
  334. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
  335. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
  336. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
  337. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  338. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  339. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
  340. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  341. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  342. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  343. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  344. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  345. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  346. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
  347. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
  348. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  349. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  350. {mx_bluesky-1.5.1/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
  351. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  352. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  353. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  354. {mx_bluesky-1.5.1/src/mx_bluesky/common/preprocessors → mx_bluesky-1.5.3/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
  355. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  356. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  357. {mx_bluesky-1.5.1/src/mx_bluesky/common/protocols → mx_bluesky-1.5.3/src/mx_bluesky/common/parameters}/__init__.py +0 -0
  358. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/parameters/components.py +0 -0
  359. {mx_bluesky-1.5.1/src/mx_bluesky/common/utils → mx_bluesky-1.5.3/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
  360. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  361. {mx_bluesky-1.5.1/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.3/src/mx_bluesky/common/protocols}/__init__.py +0 -0
  362. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  363. {mx_bluesky-1.5.1/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.3/src/mx_bluesky/common/utils}/__init__.py +0 -0
  364. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/utils/context.py +0 -0
  365. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  366. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/utils/log.py +0 -0
  367. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/utils/tracing.py +0 -0
  368. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/utils/utils.py +0 -0
  369. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/common/xrc_result.py +0 -0
  370. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/definitions.py +0 -0
  371. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/__init__.py +0 -0
  372. {mx_bluesky-1.5.1/tests → mx_bluesky-1.5.3/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  373. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  374. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  375. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  376. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  377. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  378. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  379. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  380. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  381. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  382. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
  383. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  384. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  385. {mx_bluesky-1.5.1/tests/system_tests → mx_bluesky-1.5.3/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
  386. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  387. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
  388. {mx_bluesky-1.5.1/tests/system_tests/hyperion → mx_bluesky-1.5.3/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  389. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +0 -0
  390. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  391. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  392. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  393. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/parameters/device_composites.py +0 -0
  394. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  395. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  396. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  397. {mx_bluesky-1.5.1/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.3/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
  398. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  399. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  400. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/start_jupyter.sh +0 -0
  401. {mx_bluesky-1.5.1/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.3/tests}/__init__.py +0 -0
  402. {mx_bluesky-1.5.1/tests/unit_tests → mx_bluesky-1.5.3/tests/system_tests}/__init__.py +0 -0
  403. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  404. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/conftest.py +0 -0
  405. {mx_bluesky-1.5.1/tests/unit_tests/beamlines → mx_bluesky-1.5.3/tests/system_tests/hyperion}/__init__.py +0 -0
  406. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
  407. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
  408. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.3/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  409. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  410. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  411. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  412. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/agamemnon/example_native.json +0 -0
  413. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  414. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/README.md +0 -0
  415. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  416. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  417. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  418. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  419. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  420. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  421. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  422. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  423. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  424. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  425. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  426. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
  427. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
  428. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  429. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  430. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  431. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  432. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  433. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  434. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  435. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  436. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  437. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  438. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/scratch/README +0 -0
  439. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_OAVCentring.json +0 -0
  440. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  441. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  442. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_beamline_parameters.txt +0 -0
  443. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  444. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_config.cfg +0 -0
  445. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  446. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  447. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  448. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  449. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  450. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  451. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  452. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_det_dist_converter.txt +0 -0
  453. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_display.configuration +0 -0
  454. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  455. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  456. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  457. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  458. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  459. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  460. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  461. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  462. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  463. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  464. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  465. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_lookup_table.txt +0 -0
  466. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/test_mirror_focus.json +0 -0
  467. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  468. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.3/tests/unit_tests}/__init__.py +0 -0
  469. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.3/tests/unit_tests/beamlines}/__init__.py +0 -0
  470. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
  471. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
  472. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
  473. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
  474. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
  475. {mx_bluesky-1.5.1/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
  476. {mx_bluesky-1.5.1/tests/unit_tests/common → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  477. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  478. {mx_bluesky-1.5.1/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  479. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  480. {mx_bluesky-1.5.1/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  481. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  482. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  483. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  484. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
  485. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  486. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  487. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  488. {mx_bluesky-1.5.1/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  489. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  490. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  491. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  492. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  493. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  494. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  495. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  496. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  497. {mx_bluesky-1.5.1/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.3/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  498. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
  499. {mx_bluesky-1.5.1/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.3/tests/unit_tests/common}/__init__.py +0 -0
  500. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  501. {mx_bluesky-1.5.1/tests/unit_tests/common/parameters → mx_bluesky-1.5.3/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
  502. {mx_bluesky-1.5.1/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.3/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
  503. {mx_bluesky-1.5.1/tests/unit_tests/common → mx_bluesky-1.5.3/tests/unit_tests/common/experiment_plans/inner_plans}/test_do_fgs.py +0 -0
  504. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  505. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
  506. {mx_bluesky-1.5.1/tests/unit_tests/common/utils → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  507. {mx_bluesky-1.5.1/tests/unit_tests/hyperion → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/alerting}/__init__.py +0 -0
  508. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
  509. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  510. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  511. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  512. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
  513. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.3/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  514. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  515. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  516. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  517. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  518. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  519. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  520. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  521. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  522. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  523. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  524. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
  525. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.3/tests/unit_tests/common/parameters}/__init__.py +0 -0
  526. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/parameters/test_components.py +0 -0
  527. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.3/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
  528. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  529. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.3/tests/unit_tests/common/utils}/__init__.py +0 -0
  530. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/common/utils/test_log.py +0 -0
  531. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.3/tests/unit_tests/hyperion}/__init__.py +0 -0
  532. {mx_bluesky-1.5.1/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.3/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  533. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  534. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  535. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  536. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  537. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  538. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  539. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  540. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  541. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  542. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  543. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  544. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  545. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  546. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  547. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  548. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  549. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/test_utils.py +0 -0
  550. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  551. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  552. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/tests/unit_tests/test_cli.py +0 -0
  553. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/beam_off_trickery.sh +0 -0
  554. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/build_docker_image.sh +0 -0
  555. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/build_imginfo.sh +0 -0
  556. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/deploy/create_venv.py +0 -0
  557. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  558. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  559. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/deploy/test_deploy.py +0 -0
  560. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/dev_jaeger_container.sh +0 -0
  561. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/dls_dev_env.sh +0 -0
  562. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/docker/entrypoint.sh +0 -0
  563. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/docker/healthcheck.sh +0 -0
  564. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/docker/i03-compose.yml +0 -0
  565. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/generate_plantuml.py +0 -0
  566. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/graylog/Dockerfile +0 -0
  567. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/graylog/tcp_input.json +0 -0
  568. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/procserv_ioc_start.sh +0 -0
  569. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/run_imginfo.sh +0 -0
  570. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/setup_graylog.sh +0 -0
  571. {mx_bluesky-1.5.1 → mx_bluesky-1.5.3}/utility_scripts/strip_metafile.py +0 -0
@@ -42,18 +42,39 @@ jobs:
42
42
  file: Dockerfile.blueapi
43
43
  load: true
44
44
 
45
- - name: Create tags for publishing image
46
- id: meta
45
+ - name: Create tags for publishing Hyperion image
46
+ id: meta-hyperion
47
47
  uses: docker/metadata-action@v5
48
48
  with:
49
49
  images: |
50
50
  ghcr.io/${{ github.repository }}
51
+ labels: |
52
+ org.opencontainers.image.title=mx-bluesky
53
+ org.opencontainers.image.description=Hyperion service for MX Unattended Data Collection
54
+ annotations: |
55
+ org.opencontainers.image.title=mx-bluesky
56
+ org.opencontainers.image.description=Hyperion service for MX Unattended Data Collection
57
+ tags: |
58
+ type=ref,event=tag
59
+ type=raw,value=latest
60
+
61
+ - name: Create tags for publishing BlueAPI image
62
+ id: meta-blueapi
63
+ uses: docker/metadata-action@v5
64
+ with:
65
+ images: |
51
66
  ghcr.io/${{ github.repository }}-blueapi
67
+ labels: |
68
+ org.opencontainers.image.title=mx-bluesky-blueapi
69
+ org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
70
+ annotations: |
71
+ org.opencontainers.image.title=mx-bluesky-blueapi
72
+ org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
52
73
  tags: |
53
74
  type=ref,event=tag
54
75
  type=raw,value=latest
55
76
 
56
- - name: Push cached image to container registry
77
+ - name: Push cached Hyperion image to container registry
57
78
  if: github.ref_type == 'tag'
58
79
  uses: docker/build-push-action@v6
59
80
  env:
@@ -64,10 +85,12 @@ jobs:
64
85
  context: .
65
86
  file: Dockerfile.hyperion
66
87
  push: true
67
- tags: ${{ steps.meta.outputs.tags }}
68
- labels: ${{ steps.meta.outputs.labels }}
88
+ tags: ${{ steps.meta-hyperion.outputs.tags }}
89
+ labels: ${{ steps.meta-hyperion.outputs.labels }}
90
+ # Set the annotations to make the description appear in the GH repo page
91
+ annotations: ${{ steps.meta-hyperion.outputs.annotations }}
69
92
 
70
- - name: Push Dockerfile.blueapi image to container registry
93
+ - name: Push cached BlueAPI image to container registry
71
94
  if: github.ref_type == 'tag'
72
95
  uses: docker/build-push-action@v6
73
96
  env:
@@ -76,5 +99,7 @@ jobs:
76
99
  context: .
77
100
  file: Dockerfile.blueapi
78
101
  push: true
79
- tags: ${{ steps.meta.outputs.tags }}
80
- labels: ${{ steps.meta.outputs.labels }}
102
+ tags: ${{ steps.meta-blueapi.outputs.tags }}
103
+ labels: ${{ steps.meta-blueapi.outputs.labels }}
104
+ # Set the annotations to make the description appear in the GH repo page
105
+ annotations: ${{ steps.meta-blueapi.outputs.annotations }}
@@ -0,0 +1,23 @@
1
+ on:
2
+ workflow_call:
3
+
4
+ jobs:
5
+ build:
6
+ runs-on: ubuntu-latest
7
+
8
+ steps:
9
+ - name: Install Helm
10
+ uses: Azure/setup-helm@v4.3.0
11
+ id: install
12
+
13
+ - name: Helm login to GHCR
14
+ if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }}
15
+ run: |
16
+ echo ${{ secrets.GITHUB_TOKEN }} | helm registry login ghcr.io/${{ github.repository }} --username ${{ github.repository_owner }} --password-stdin
17
+
18
+ - name: Package and push chart
19
+ if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }}
20
+ run: |
21
+ helm dependencies update helm/mx-bluesky-blueapi
22
+ helm package helm/mx-bluesky-blueapi --version ${{ steps.meta.outputs.version }} --app-version ${{ steps.meta.outputs.version }} -d /tmp/
23
+ helm push /tmp/mx-bluesky-blueapi-${{ steps.meta.outputs.version }}.tgz oci://ghcr.io/diamondlightsource/charts
@@ -38,6 +38,14 @@ jobs:
38
38
  contents: read
39
39
  packages: write
40
40
 
41
+ helm:
42
+ needs: container
43
+ if: needs.check.outputs.branch-pr == ''
44
+ uses: ./.github/workflows/_helm.yml
45
+ permissions:
46
+ contents: read
47
+ packages: write
48
+
41
49
  docs:
42
50
  needs: check
43
51
  if: needs.check.outputs.branch-pr == ''
@@ -6,7 +6,7 @@ repos:
6
6
  args: ["--maxkb=500"]
7
7
  - id: check-yaml
8
8
  args: ["--allow-multiple-documents"]
9
- exclude: ^helmcharts/
9
+ exclude: ^helm/
10
10
  - id: check-merge-conflict
11
11
  - id: end-of-file-fixer
12
12
 
@@ -13,6 +13,8 @@
13
13
  "editor.defaultFormatter": "ms-python.black-formatter"
14
14
  },
15
15
  "python.defaultInterpreterPath": ".venv/bin/python",
16
+ "python.analysis.extraPaths": ["../dodal"],
17
+ "python.analysis.autoImportCompletions": true,
16
18
  "terminal.integrated.gpuAcceleration": "off",
17
19
  "esbonio.sphinx.confDir": ""
18
20
  }
@@ -1,5 +1,7 @@
1
- # See https://github.com/DiamondLightSource/mx-bluesky/issues/1004
2
- FROM ghcr.io/diamondlightsource/blueapi:0.10.1
1
+ # Before changing this BlueAPI version number, you should check that
2
+ # the BlueAPI pin in pyproject.toml is compatible, else the version will
3
+ # be overridden
4
+ FROM ghcr.io/diamondlightsource/blueapi:1.0.0-rc.2
3
5
 
4
6
  ARG DEBIAN_FRONTEND=noninteractive
5
7
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.1
3
+ Version: 1.5.3
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
@@ -235,12 +235,13 @@ Requires-Dist: scipy
235
235
  Requires-Dist: semver
236
236
  Requires-Dist: deepdiff
237
237
  Requires-Dist: matplotlib
238
- Requires-Dist: blueapi>=0.11.1
239
- Requires-Dist: daq-config-server==0.1.1
238
+ Requires-Dist: cachetools
239
+ Requires-Dist: daq-config-server>=v1.0.0-rc.2
240
+ Requires-Dist: blueapi>=0.15.0
240
241
  Requires-Dist: ophyd>=1.10.5
241
242
  Requires-Dist: ophyd-async>=0.10.0a2
242
243
  Requires-Dist: bluesky>=1.13.1
243
- Requires-Dist: dls-dodal==1.51.0
244
+ Requires-Dist: dls-dodal>=1.55.0
244
245
  Provides-Extra: dev
245
246
  Requires-Dist: black; extra == "dev"
246
247
  Requires-Dist: build; extra == "dev"
@@ -19,5 +19,5 @@ def pytest_addoption(parser):
19
19
  @pytest.fixture(scope="session", autouse=True)
20
20
  def default_session_fixture() -> Iterator[None]:
21
21
  print("Patching bluesky 0MQ Publisher in __main__ for the whole session")
22
- with patch("mx_bluesky.hyperion.__main__.Publisher"):
22
+ with patch("mx_bluesky.hyperion.runner.Publisher"):
23
23
  yield
@@ -80,6 +80,16 @@ are not already present:
80
80
  * ``rmq-creds``
81
81
  * ``rmq-api-reader``
82
82
 
83
+ In addition, an ispyb credentials secret must be created with the following name:
84
+ * ``ispyb-hyperion-cfg``
85
+
86
+
87
+ For creating the secrets, use ``kubectl create secret``:
88
+
89
+ ::
90
+
91
+ kubectl create secret -n i03-beamline generic ispyb-hyperion-cfg --from-file=ispyb.cfg=<path-to-ispyb-hyperion-ixx.cfg>
92
+
83
93
  Production deployment
84
94
  ~~~~~~~~~~~~~~~~~~~~~
85
95
 
@@ -20,7 +20,7 @@ defined by ``rotation_direction`` which can be ``POSITIVE`` or ``NEGATIVE``
20
20
 
21
21
  The coordinate systems of the underlying hardware may differ from the request. At Diamond traditionally the omega
22
22
  axis is implemented to be in the opposite direction, therefore the commands sent to the hardware are transformed and
23
- the ``omega_flip`` feature flag controls this behaviour, which by default is set to ``True`` as this is
23
+ the ``omega_flip`` flag controls this behaviour, which by default is set to ``True`` as this is
24
24
  generally expected to be required for the beamlines here.
25
25
 
26
26
  In the Nexus output file, there is provision for describing the choice of axis orientations in the nexus file, and
@@ -16,7 +16,14 @@ The documentation consists of a Developer Guide for MX-Bluesky, which also inclu
16
16
 
17
17
  The Developer Guide contains documentation on how to install, develop and contribute changes to MX-Bluesky; explanations about the purpose of the software and some of the technical concepts; as well as how-to guides and tutorials.
18
18
 
19
+ .. grid-item-card:: :material-regular:`code;4em`
20
+ :link: user/hyperion/index
21
+ :link-type: doc
22
+
23
+ The User Guide for the Hyperion UDC Service
24
+
19
25
  .. toctree::
20
26
  :hidden:
21
27
 
22
28
  developer/index
29
+ user/hyperion/index
@@ -0,0 +1,68 @@
1
+ Alerts
2
+ ------
3
+
4
+ Hyperion can be configured to raise in order to notify staff of issues with data collections or with Hyperion
5
+ itself.
6
+
7
+ The currently supported alerting backend uses graylog alerting to send email alert notifications.
8
+
9
+ Graylog Alert Configuration
10
+ ===========================
11
+
12
+ When hyperion generates an alert it will generate the alert in the form of a log message that will be logged to graylog
13
+ in the normal way.
14
+
15
+ The log message will have the message ``***ALERT*** summary=<summary> content=<content>`` and will have the following
16
+ metadata as fields in the log message.
17
+
18
+ .. csv-table:: Log message fields
19
+ :widths: auto
20
+ :header: "Field", "Description"
21
+
22
+ "alert_summary", "A single line summary of the alert, that could e.g. be used in an email summary"
23
+ "alert_content", "The plain text body of the alert message"
24
+ "beamline", "Beamline on which the alert was raised"
25
+ "container", "Container ID that was being processed"
26
+ "ispyb_url", "Link to the ISPyB page of the affected sample"
27
+ "graylog_url", "Link to the graylog stream in the minutes up to the event"
28
+ "proposal", "Proposal that was being processed"
29
+ "sample_id", "Sample ID that was being processed"
30
+ "visit", "Visit that was being processed"
31
+
32
+
33
+ In order to configure alerts in Graylog you will need appropriate Graylog permissions to edit Event Definitions and
34
+ Notifications.
35
+
36
+ Event Definitions define which log messages will trigger a Graylog Event, and the information that is contained in
37
+ the event.
38
+
39
+ Notifications are triggered by a Graylog Event and define how the information in the event is dispatched to the
40
+ recipient(s).
41
+
42
+ For the authoritative Graylog documentation, please see https://go2docs.graylog.org/current/interacting_with_your_log_data/alerts.html
43
+
44
+ Notification Configuration
45
+ --------------------------
46
+
47
+ Go to the Alerts->Notifications tab in Graylog, you should see a searchable list of notifications, clicking on the
48
+ notification you want to edit and click the "Edit Notification" button.
49
+
50
+ For an email notification, you can edit the subject, recipients, and the plain-text and HTML body.
51
+
52
+ Inside the subject and body fields, you can include metadata from the event, for example ``${event.timestamp}`` will
53
+ expand to the event timestamp.
54
+
55
+ All the fields that are available in the event are available under the ``event.fields`` object, e.g. ``${event.fields.alert_summary}``
56
+
57
+ Event Definitions
58
+ -----------------
59
+
60
+ In order to access fields from the log message, including the ones explicitly added by Hyperion and also any other
61
+ ones that graylog appends to the message, you must configure the Event Definition.
62
+
63
+ To configure the Event Definition, go to the Alerts->Event Definitions tab and click on the notification definition,
64
+ then click "Edit Event Definition".
65
+
66
+ Under Filter & Aggregation you can configure the conditions under which an event will be generated.
67
+ Under Fields you can add custom fields to the event, for each additional field that you want to use in the
68
+ notification, you should click Add Custom Field, then populate the fields, see the existing definitions as a guide.
@@ -0,0 +1,25 @@
1
+ Configuration
2
+ -------------
3
+
4
+ Configuration of several properties that control Hyperion execution are available. These can be edited in the
5
+ ``domain.properties`` file typically found in
6
+
7
+ ::
8
+
9
+ /dls_sw/<beamline>/software/daq_configuration/domain.properties
10
+
11
+
12
+ .. csv-table:: Configuration properties
13
+ :widths: auto
14
+ :header: "Property Name", "Type", "Description"
15
+
16
+ "gda.gridscan.hyperion.flaskServerAddress", "host:port", "Configures the Hyperion server address that GDA connects to."
17
+ "gda.gridscan.hyperion.multipin", "boolean", "Controls whether multipin collection is enabled."
18
+ "gda.hyperion.use_grid_snapshots_for_rotation", "boolean", "If true, then rotation snapshots are generated from the grid snapshots instead of directly capturing them"
19
+ "gda.mx.hyperion.enabled", "boolean", "Controls whether GDA invokes Hyperion or performs collection itself"
20
+ "gda.mx.hyperion.panda.runnup_distance_mm", "double", "Controls the panda runup distance."
21
+ "gda.mx.hyperion.xrc.box_size", "double", "Configures the grid scan box size in microns."
22
+ "gda.mx.hyperion.use_panda_for_gridscans", "boolean", "If true then the Panda is used instead of the Zebra for XRC gridscans"
23
+ "gda.mx.hyperion.xrc.use_gpu_results", "boolean", "If true, then zocalo gridscan processing uses the GPU results"
24
+ "gda.mx.hyperion.xrc.use_roi_mode", "boolean", "If true then ROI mode is used."
25
+ "gda.mx.udc.hyperion.enable", "boolean", "Enables baton passing to Hyperion."
@@ -0,0 +1,25 @@
1
+ Hyperion User Guide
2
+ ===================
3
+
4
+ The Hyperion User Guide describes how to run, configure and troubleshoot Hyperion. For installation instructions, see
5
+ the Developer Guide.
6
+
7
+ What is Hyperion?
8
+ -----------------
9
+
10
+ Hyperion is a service for running high throughput unattended data collection (UDC). It does not provide a user
11
+ interface, instead instructions are pulled from Agamemnon which is controlled by information obtained in ISPyB.
12
+
13
+ Running Hyperion
14
+ ----------------
15
+
16
+ When installed, Hyperion should be running automatically. If it is not running, it can be (re)started from GDA by
17
+ invoking ``hyperion_restart()`` from the Jython console.
18
+
19
+
20
+ .. toctree::
21
+ :caption: Topics
22
+ :maxdepth: 1
23
+ :glob:
24
+
25
+ *
@@ -0,0 +1,41 @@
1
+ Logging
2
+ -------
3
+
4
+ Hyperion logs to a number of different locations. The sections below describe the locations that are configured via
5
+ environment variables for a standard server install; for kubernetes deployments please check the deployment
6
+ ``values.yaml`` for the configured locations.
7
+
8
+ Graylog
9
+ ~~~~~~~
10
+
11
+ Graylog is the recommended way to view logs. It is used for more centralised logging which is also more easily
12
+ searched and archived. Log messages are sent to the `Hyperion graylog stream <https://graylog.diamond.ac.uk/streams/66264f5519ccca6d1c9e4e03/search>`_.
13
+
14
+
15
+ Startup Log
16
+ ~~~~~~~~~~~
17
+
18
+ When ``hyperion_restart()`` is called by GDA, it will log the initial console output to a log file. This log file
19
+ location is
20
+ controlled by the ``gda.logs.dir`` property and is typically ``/dls_sw/<beamline>/logs/bluesky``.
21
+
22
+ On kubernetes deployments, the initial startup is sent to standard IO and is captured as part of the standard
23
+ kubernetes logging facility.
24
+
25
+ Log files
26
+ ~~~~~~~~~
27
+
28
+ By default, Hyperion logs to the filesystem.
29
+
30
+ The log file location is controlled by the ``LOG_DIR`` environment value. Typically this can be found in
31
+ ``/dls_sw/<beamline>/logs/bluesky``
32
+
33
+ Debug Log
34
+ ~~~~~~~~~
35
+
36
+ The standard logs files do not record all messages, only those at INFO level or higher, in order to keep storage
37
+ requirements to a minimum.
38
+ In the event of an error occurring, then trace-level logging for the most recent events (by default 5000) is flushed
39
+ to a separate set of log files. Due to the size of these files, they are stored separately from the main log files
40
+ . These logs are located in ``/dls/tmp/<beamline>/logs/bluesky`` by default, or
41
+ otherwise as specified by the ``DEBUG_LOG_DIR`` environment variable.
@@ -0,0 +1,12 @@
1
+ Special PVs
2
+ -----------
3
+
4
+ Baton
5
+ ~~~~~
6
+
7
+ In order to arbitrate access to the beamline between Hyperion and GDA there are two baton string PVs REQUESTED_USER and
8
+ CURRENT_USER.
9
+
10
+ Hyperion will only start operating once REQUESTED_USER has been set to Hyperion, at which point it will set
11
+ CURRENT_USER. To request the baton from Hyperion, set REQUESTED_USER to some other value, when Hyperion completes the
12
+ current action, it will relinquish CURRENT_USER.
@@ -68,48 +68,13 @@ spec:
68
68
  name: {{ .secretName }}
69
69
  {{- end -}} {{/* range */}}
70
70
  {{- end -}} {{/* if */}}
71
+ - name: ispyb-secrets
72
+ secret:
73
+ type: secret
74
+ secretName: ispyb-hyperion-cfg
71
75
  containers:
72
76
  - name: hyperion
73
- image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
74
- securityContext:
75
- capabilities:
76
- # Required for hostNetwork
77
- drop:
78
- - AUDIT_WRITE
79
- - CHOWN
80
- - DAC_OVERRIDE
81
- - FOWNER
82
- - FSETID
83
- - KILL
84
- - MKNOD
85
- - NET_BIND_SERVICE
86
- - NET_RAW
87
- - SETFCAP
88
- - SETGID
89
- - SETPCAP
90
- - SETUID
91
- - SYS_CHROOT
92
- - AUDIT_CONTROL
93
- - BLOCK_SUSPEND
94
- - DAC_READ_SEARCH
95
- - IPC_LOCK
96
- - IPC_OWNER
97
- - LEASE
98
- - LINUX_IMMUTABLE
99
- - MAC_ADMIN
100
- - MAC_OVERRIDE
101
- - SYS_ADMIN
102
- - SYS_BOOT
103
- - SYS_MODULE
104
- - SYS_NICE
105
- - SYS_PACCT
106
- - SYS_MODULE
107
- - SYS_PTRACE
108
- - SYS_RESOURCE
109
- - SYS_TIME
110
- - SYS_TTY_CONFIG
111
- - SYSLOG
112
- - WAKE_ALARM
77
+ image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
113
78
  resources:
114
79
  limits:
115
80
  cpu: "1"
@@ -133,7 +98,7 @@ spec:
133
98
  - name: ZOCALO_CONFIG
134
99
  value: "/zocalo/config/configuration.yaml"
135
100
  - name: ISPYB_CONFIG_PATH
136
- value: "/dls_sw/dasc/mariadb/credentials/ispyb-hyperion-{{ .Values.application.beamline }}.cfg"
101
+ value: "/ispyb/secrets/ispyb.cfg"
137
102
  {{- end }}
138
103
  readinessProbe:
139
104
  exec:
@@ -166,4 +131,6 @@ spec:
166
131
  name: zocalo-config
167
132
  - mountPath: "/zocalo/secrets"
168
133
  name: zocalo-secrets
134
+ - mountPath: "/ispyb/secrets"
135
+ name: ispyb-secrets
169
136
  hostNetwork: true
@@ -9,7 +9,7 @@ application:
9
9
  beamline: i03
10
10
  dev: false
11
11
  logDir: "/dls_sw/i03/logs/bluesky/hyperion-k8s"
12
- debugLogDir: "/dls/tmp/i03/logs/bluesky"
12
+ debugLogDir: "/dls/tmp/i03/logs/bluesky-k8s"
13
13
  dataDir: "/dls/i03/data"
14
14
  # These should be overridden at install time
15
15
  projectDir: SET_ON_INSTALL
@@ -0,0 +1,16 @@
1
+ apiVersion: v2
2
+ name: mx-bluesky-blueapi
3
+ description: A helm chart deploying a worker pod that runs Bluesky plans
4
+
5
+ # This chart provides extra configuration to a BlueAPI application which is generic to all MX beamlines,
6
+ # and does not startup an application by itself. A BlueAPI service in ixx-services should add this chart
7
+ # as a dependency. It currently mounts zocalo and ispyb credentials as config maps, with the assumption
8
+ # that the beamline cluster have these secrets available. In the future, this helmchart may change to a
9
+ # library type
10
+ type: application
11
+
12
+ # This is the chart version. This version number should be incremented each time you make changes
13
+ # to the chart and its templates, including the app version.
14
+ # Versions are expected to follow Semantic Versioning (https://semver.org/)
15
+ # This is updated automatically by CI, the appVersion is automatically inserted by CI
16
+ version: 0.1.1
@@ -0,0 +1,38 @@
1
+ apiVersion: v1
2
+ kind: ConfigMap
3
+ metadata:
4
+ name: "zocalo-config"
5
+ namespace: "{{ .Release.Namespace }}"
6
+ labels:
7
+ app.kubernetes.io/name: zocalo-config
8
+ app.kubernetes.io/instance: "{{ .Release.Name }}-zocalo-config"
9
+ app.kubernetes.io/version: "{{ .Chart.Version }}"
10
+ app.kubernetes.io/part-of: mx-bluesky-blueapi
11
+ data:
12
+ configuration.yaml: |-
13
+ version: 1
14
+ graylog:
15
+ plugin: graylog
16
+ {{- .Values.zocalo.graylog | toYaml | nindent 6 }}
17
+ {{- if .Values.zocalo.secrets }}
18
+ {{- range .Values.zocalo.secrets }}
19
+ {{ .name }}: "/zocalo/secrets/{{ .fileName }}"
20
+ {{- end -}} {{/* range */}}
21
+ {{- end -}} {{/* if */}}
22
+
23
+
24
+ default-transport:
25
+ plugin: transport
26
+ default: {{ .Values.zocalo.defaultTransport }}
27
+
28
+ environments:
29
+
30
+ bluesky:
31
+ logging: graylog
32
+ plugins:
33
+ - default-transport
34
+ {{- if .Values.zocalo.secrets }}
35
+ {{- range .Values.zocalo.secrets }}
36
+ - {{ .name }}
37
+ {{- end -}} {{/* range */}}
38
+ {{- end -}} {{/* if */}}
@@ -0,0 +1,13 @@
1
+ zocalo:
2
+ defaultTransport: "PikaTransport"
3
+ graylog:
4
+ host: graylog-log-target.diamond.ac.uk
5
+ port: 12208
6
+ protocol: UDP
7
+ secrets:
8
+ - name: rabbitmq
9
+ secretName: rmq-creds
10
+ fileName: rabbitmq-credentials.yml
11
+ - name: rabbitmq-api-reader
12
+ secretName: rmq-api-reader
13
+ fileName: rabbitmq-api-reader.yml
@@ -38,16 +38,17 @@ dependencies = [
38
38
  "semver",
39
39
  "deepdiff",
40
40
  "matplotlib",
41
+ "cachetools",
41
42
  #
42
43
  # These dependencies may be issued as pre-release versions and should have a pin constraint
43
44
  # as by default pip-install will not upgrade to a pre-release.
44
45
  #
45
- "blueapi >= 0.11.1",
46
- "daq-config-server == 0.1.1",
46
+ "daq-config-server>=v1.0.0-rc.2",
47
+ "blueapi >= 0.15.0",
47
48
  "ophyd >= 1.10.5",
48
49
  "ophyd-async >= 0.10.0a2",
49
50
  "bluesky >= 1.13.1",
50
- "dls-dodal == 1.51.0",
51
+ "dls-dodal >= 1.55.0",
51
52
  ]
52
53
 
53
54
 
@@ -94,8 +95,6 @@ run_extruder = "mx_bluesky.beamlines.i24.serial.run_serial:run_extruder"
94
95
  run_fixed_target = "mx_bluesky.beamlines.i24.serial.run_serial:run_fixed_target"
95
96
  hyperion = "mx_bluesky.hyperion.__main__:main"
96
97
  hyperion-callbacks = "mx_bluesky.hyperion.external_interaction.callbacks.__main__:main"
97
- hyperion-generate-test-nexus = "mx_bluesky.hyperion.utils.validation:generate_test_nexus"
98
- hyperion-populate-test-and-meta-files = "mx_bluesky.hyperion.utils.validation:copy_test_meta_data_files"
99
98
  redis_to_murko = "mx_bluesky.beamlines.i04.redis_to_murko_forwarder:main"
100
99
 
101
100
  [project.urls]
@@ -122,6 +121,7 @@ markers = [
122
121
  "skip_log_setup: marks tests so that loggers are not setup before the test.",
123
122
  "skip_in_pycharm: marks test as not working in pycharm testrunner",
124
123
  "system_test: marks tests as a system test",
124
+ "requires: marks a test as having an external dependency such as a service or hardware",
125
125
  ]
126
126
  addopts = """
127
127
  --tb=native -vv --doctest-modules --doctest-glob="*.rst" --durations=10
@@ -142,6 +142,8 @@ filterwarnings = [
142
142
  # Ignore warning about deprecations in python-workflows encountered during system tests
143
143
  # https://github.com/DiamondLightSource/python-workflows/issues/188
144
144
  "ignore:.*`Field` should not be instantiated.*:marshmallow.warnings.ChangedInMarshmallow4Warning",
145
+ #Remove when we drop python 3.11
146
+ "ignore:.*__contains__ will no longer raise TypeError.*:DeprecationWarning",
145
147
  ]
146
148
  # Doctest python code in docs, python code in src docstrings, test functions in tests
147
149
  testpaths = "docs src tests/unit_tests"
@@ -248,5 +250,15 @@ modules = "mx_bluesky.beamlines.*"
248
250
  [[tool.importlinter.contracts]]
249
251
  name = "Beamlines do not import from hyperion"
250
252
  type = "forbidden"
251
- source_modules = "mx_bluesky.beamlines.*"
252
- forbidden_modules = "mx_bluesky.hyperion"
253
+ source_modules = "mx_bluesky.beamlines.**"
254
+ forbidden_modules = "mx_bluesky.hyperion.**"
255
+
256
+ [[tool.importlinter.contracts]]
257
+ name = "Only Hyperion and i04 can import from phase1_zebra"
258
+ type = "forbidden"
259
+ source_modules = ["mx_bluesky.beamlines.**", "mx_bluesky.common.**"]
260
+ forbidden_modules = ["mx_bluesky.phase1_zebra.**"]
261
+ ignore_imports = [
262
+ "mx_bluesky.beamlines.i04.** -> mx_bluesky.phase1_zebra.**",
263
+ "mx_bluesky.hyperion.** -> mx_bluesky.phase1_zebra.**",
264
+ ]
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.5.1'
21
- __version_tuple__ = version_tuple = (1, 5, 1)
31
+ __version__ = version = '1.5.3'
32
+ __version_tuple__ = version_tuple = (1, 5, 3)
33
+
34
+ __commit_id__ = commit_id = 'gd31a95a33'
@@ -0,0 +1,10 @@
1
+ from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_plan import (
2
+ i04_grid_detect_then_xray_centre,
3
+ )
4
+ from mx_bluesky.beamlines.i04.thawing_plan import thaw, thaw_and_stream_to_redis
5
+
6
+ __all__ = [
7
+ "thaw",
8
+ "thaw_and_stream_to_redis",
9
+ "i04_grid_detect_then_xray_centre",
10
+ ]