mx-bluesky 1.5.6__tar.gz → 1.5.7__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 (566) hide show
  1. mx_bluesky-1.5.7/.devcontainer/devcontainer.json +75 -0
  2. mx_bluesky-1.5.7/.vscode/mx-bluesky-dev-container.code-workspace +23 -0
  3. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/mx-bluesky.code-workspace +3 -1
  4. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/PKG-INFO +2 -2
  5. mx_bluesky-1.5.7/docs/developer/general/how-to/get-started.md +33 -0
  6. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/index.rst +1 -0
  7. mx_bluesky-1.5.7/docs/developer/hyperion/reference/baton.rst +22 -0
  8. mx_bluesky-1.5.7/docs/developer/hyperion/reference/gda-baton.puml +192 -0
  9. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/gridscan.puml +3 -3
  10. mx_bluesky-1.5.7/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
  11. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/index.rst +19 -6
  12. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/troubleshooting.rst +6 -0
  13. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/pyproject.toml +1 -1
  14. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/_version.py +3 -3
  15. mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +35 -0
  16. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +6 -3
  17. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +3 -1
  18. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/thawing_plan.py +15 -8
  19. mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/do_external_acquisition.py +44 -0
  20. mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/do_internal_acquisition.py +46 -0
  21. mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_utils.py +73 -0
  22. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +2 -1
  23. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +4 -3
  24. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +7 -8
  25. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +6 -6
  26. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +30 -22
  27. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +73 -15
  28. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -20
  29. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/device_composites.py +2 -2
  30. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/gridscan.py +67 -49
  31. mx_bluesky-1.5.7/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +25 -0
  32. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -2
  33. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +10 -2
  34. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +37 -1
  35. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/device_composites.py +2 -2
  36. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/gridscan.py +3 -3
  37. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
  38. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/SOURCES.txt +13 -1
  39. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/requires.txt +1 -1
  40. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/conftest.py +43 -72
  41. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/conftest.py +2 -1
  42. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +18 -3
  43. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/conftest.py +28 -1
  44. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +11 -8
  45. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +148 -0
  46. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +12 -2
  47. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +2 -2
  48. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +6 -3
  49. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_thawing.py +29 -0
  50. mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_do_external_acquisition.py +59 -0
  51. mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_do_internal_acquisition.py +51 -0
  52. mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_plan_utils.py +81 -0
  53. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +22 -32
  54. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +32 -18
  55. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +77 -3
  56. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +75 -6
  57. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +22 -10
  58. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +3 -3
  59. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/conftest.py +42 -37
  60. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +28 -0
  61. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +8 -5
  62. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +4 -1
  63. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +4 -4
  64. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_baton_handler.py +2 -2
  65. mx_bluesky-1.5.7/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  66. mx_bluesky-1.5.6/.devcontainer/devcontainer.json +0 -46
  67. mx_bluesky-1.5.6/docs/developer/general/how-to/get-started.rst +0 -26
  68. mx_bluesky-1.5.6/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -20
  69. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.copier-answers.yml +0 -0
  70. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.coveragerc +0 -0
  71. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.devcontainer/Dockerfile +0 -0
  72. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.dockerignore +0 -0
  73. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/CODEOWNERS +0 -0
  74. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/CONTRIBUTING.md +0 -0
  75. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  76. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  77. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/actions/install_requirements/action.yml +0 -0
  78. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/Dockerfile +0 -0
  79. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/action.yml +0 -0
  80. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  81. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/dependabot.yml +0 -0
  82. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/pages/index.html +0 -0
  83. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/pages/make_switcher.py +0 -0
  84. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_check.yml +0 -0
  85. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_container.yml +0 -0
  86. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_dist.yml +0 -0
  87. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_docs.yml +0 -0
  88. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_helm.yml +0 -0
  89. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_pypi.yml +0 -0
  90. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_release.yml +0 -0
  91. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_test.yml +0 -0
  92. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/_tox.yml +0 -0
  93. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/ci.yml +0 -0
  94. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.github/workflows/periodic.yml +0 -0
  95. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.gitignore +0 -0
  96. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.pre-commit-config.yaml +0 -0
  97. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/extensions.json +0 -0
  98. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/launch.json +0 -0
  99. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  100. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/settings.json +0 -0
  101. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/.vscode/tasks.json +0 -0
  102. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/Dockerfile +0 -0
  103. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/Dockerfile.blueapi +0 -0
  104. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/Dockerfile.hyperion +0 -0
  105. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/LICENSE +0 -0
  106. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/README.rst +0 -0
  107. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/catalog-info.yaml +0 -0
  108. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/codecov.yml +0 -0
  109. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/conftest.py +0 -0
  110. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/_api.rst +0 -0
  111. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/_templates/custom-module-template.rst +0 -0
  112. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/conf.py +0 -0
  113. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  114. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
  115. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/code-map/index.rst +0 -0
  116. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
  117. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
  118. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  119. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  120. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  121. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions.rst +0 -0
  122. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/contribute.rst +0 -0
  123. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/create-a-release.rst +0 -0
  124. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  125. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  126. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  127. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  128. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  129. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  130. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/index.rst +0 -0
  131. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/reference/standards.rst +0 -0
  132. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  133. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  134. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  135. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  136. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
  137. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  138. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/readme.md +0 -0
  139. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/hyperion/system-tests.rst +0 -0
  140. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/index.rst +0 -0
  141. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/murko-integration/explanations/DrawioImages.rst +0 -0
  142. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  143. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
  144. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/murko-integration/index.rst +0 -0
  145. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  146. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  147. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  148. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  149. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  150. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  151. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  152. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  153. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  154. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/dls-favicon.ico +0 -0
  155. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/dls-logo.svg +0 -0
  156. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/motor coordinate systems.odg +0 -0
  157. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/motor-coords-omega-0.svg +0 -0
  158. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/images/motor-coords-omega-alpha.svg +0 -0
  159. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/index.rst +0 -0
  160. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/alerts.rst +0 -0
  161. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/configuration.rst +0 -0
  162. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/pvs.rst +0 -0
  163. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/docs/user/hyperion/running.rst +0 -0
  164. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/Chart.yaml +0 -0
  165. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/templates/deployment.yaml +0 -0
  166. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/templates/ingress.yaml +0 -0
  167. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/templates/service.yaml +0 -0
  168. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/templates/zocalo-config.yaml +0 -0
  169. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/hyperion/values.yaml +0 -0
  170. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
  171. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
  172. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/values.yaml +0 -0
  173. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/redis-to-murko/Chart.yaml +0 -0
  174. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/redis-to-murko/templates/deployment.yaml +0 -0
  175. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/helm/redis-to-murko/values.yaml +0 -0
  176. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/pull_request_template.md +0 -0
  177. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/run_hyperion.sh +0 -0
  178. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/run_hyperion_in_podman.sh +0 -0
  179. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/setup.cfg +0 -0
  180. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/__init__.py +0 -0
  181. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/__main__.py +0 -0
  182. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/__init__.py +0 -0
  183. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  184. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  185. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  186. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  187. {mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i04/experiment_plans → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i02_1/parameters}/__init__.py +0 -0
  188. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  189. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  190. {mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i24 → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i04/experiment_plans}/__init__.py +0 -0
  191. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  192. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  193. {mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24}/__init__.py +0 -0
  194. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  195. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  196. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  197. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  198. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  199. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  200. {mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
  201. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  202. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  203. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  204. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  205. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  206. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  207. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  208. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  209. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  210. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  211. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  212. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  213. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  214. {mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  215. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  216. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -0
  217. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
  218. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  219. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  220. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  221. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  222. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  223. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  224. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  225. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  226. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  227. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  228. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  229. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  230. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  231. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  232. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  233. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  234. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  235. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  236. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  237. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  238. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  239. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  240. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  241. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  242. {mx_bluesky-1.5.6/src/mx_bluesky/common → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
  243. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +0 -0
  244. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  245. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction → mx_bluesky-1.5.7/src/mx_bluesky/common}/__init__.py +0 -0
  246. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
  247. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  248. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
  249. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  250. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
  251. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
  252. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
  253. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
  254. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
  255. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
  256. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +0 -0
  257. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
  258. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
  259. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
  260. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
  261. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
  262. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
  263. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
  264. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
  265. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
  266. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  267. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  268. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  269. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  270. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  271. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  272. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  273. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  274. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
  275. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  276. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  277. {mx_bluesky-1.5.6/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
  278. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  279. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  280. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
  281. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  282. {mx_bluesky-1.5.6/src/mx_bluesky/common/parameters → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
  283. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  284. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  285. {mx_bluesky-1.5.6/src/mx_bluesky/common/preprocessors → mx_bluesky-1.5.7/src/mx_bluesky/common/parameters}/__init__.py +0 -0
  286. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/components.py +0 -0
  287. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/constants.py +0 -0
  288. {mx_bluesky-1.5.6/src/mx_bluesky/common/protocols → mx_bluesky-1.5.7/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
  289. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  290. {mx_bluesky-1.5.6/src/mx_bluesky/common/utils → mx_bluesky-1.5.7/src/mx_bluesky/common/protocols}/__init__.py +0 -0
  291. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  292. {mx_bluesky-1.5.6/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.7/src/mx_bluesky/common/utils}/__init__.py +0 -0
  293. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/context.py +0 -0
  294. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  295. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/log.py +0 -0
  296. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/tracing.py +0 -0
  297. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/utils.py +0 -0
  298. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/common/xrc_result.py +0 -0
  299. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/definitions.py +0 -0
  300. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/__init__.py +0 -0
  301. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/__main__.py +0 -0
  302. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/baton_handler.py +0 -0
  303. {mx_bluesky-1.5.6/src/mx_bluesky/hyperion/external_interaction/alerting → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  304. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  305. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  306. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  307. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  308. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  309. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  310. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +0 -0
  311. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  312. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
  313. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  314. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  315. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
  316. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  317. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
  318. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  319. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  320. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +0 -0
  321. {mx_bluesky-1.5.6/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
  322. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
  323. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  324. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
  325. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
  326. {mx_bluesky-1.5.6/src/mx_bluesky/phase1_zebra/device_setup_plans → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  327. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  328. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  329. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  330. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  331. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  332. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  333. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  334. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
  335. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  336. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  337. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  338. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/plan_runner.py +0 -0
  339. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/plan_runner_api.py +0 -0
  340. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  341. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/runner.py +0 -0
  342. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  343. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  344. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  345. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
  346. {mx_bluesky-1.5.6/tests → mx_bluesky-1.5.7/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
  347. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +0 -0
  348. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  349. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  350. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  351. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/start_jupyter.sh +0 -0
  352. {mx_bluesky-1.5.6/tests/system_tests → mx_bluesky-1.5.7/tests}/__init__.py +0 -0
  353. {mx_bluesky-1.5.6/tests/system_tests/hyperion → mx_bluesky-1.5.7/tests/system_tests}/__init__.py +0 -0
  354. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  355. {mx_bluesky-1.5.6/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.7/tests/system_tests/hyperion}/__init__.py +0 -0
  356. {mx_bluesky-1.5.6/tests/system_tests/hyperion/external_interaction/alerting → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
  357. {mx_bluesky-1.5.6/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
  358. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
  359. {mx_bluesky-1.5.6/tests/unit_tests → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  360. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  361. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +0 -0
  362. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  363. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  364. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/test_main_udc.py +0 -0
  365. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  366. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_native.json +0 -0
  367. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_wait.json +0 -0
  368. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  369. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/README.md +0 -0
  370. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  371. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  372. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  373. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  374. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  375. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  376. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  377. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  378. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  379. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  380. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  381. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  382. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
  383. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
  384. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  385. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  386. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  387. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  388. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  389. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  390. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  391. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  392. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  393. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  394. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/scratch/README +0 -0
  395. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_OAVCentring.json +0 -0
  396. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  397. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  398. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_parameters.txt +0 -0
  399. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  400. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_config.cfg +0 -0
  401. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  402. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  403. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  404. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  405. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  406. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  407. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  408. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_det_dist_converter.txt +0 -0
  409. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_display.configuration +0 -0
  410. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties +0 -0
  411. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
  412. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties_with_panda +0 -0
  413. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  414. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  415. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  416. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  417. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  418. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  419. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  420. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  421. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  422. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  423. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  424. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_lookup_table.txt +0 -0
  425. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/test_mirror_focus.json +0 -0
  426. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  427. {mx_bluesky-1.5.6/tests/unit_tests/beamlines → mx_bluesky-1.5.7/tests/unit_tests}/__init__.py +0 -0
  428. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.7/tests/unit_tests/beamlines}/__init__.py +0 -0
  429. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
  430. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
  431. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
  432. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  433. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
  434. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
  435. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  436. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  437. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  438. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  439. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  440. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  441. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  442. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  443. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
  444. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  445. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  446. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  447. {mx_bluesky-1.5.6/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  448. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  449. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  450. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  451. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  452. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  453. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  454. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  455. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  456. {mx_bluesky-1.5.6/tests/unit_tests/common → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  457. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
  458. {mx_bluesky-1.5.6/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.7/tests/unit_tests/common}/__init__.py +0 -0
  459. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  460. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  461. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
  462. {mx_bluesky-1.5.6/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.5.7/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
  463. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.7/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
  464. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
  465. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +0 -0
  466. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
  467. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  468. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
  469. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
  470. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
  471. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  472. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction}/alerting/__init__.py +0 -0
  473. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
  474. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
  475. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  476. {mx_bluesky-1.5.6/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  477. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  478. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
  479. {mx_bluesky-1.5.6/tests/unit_tests/common/parameters → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  480. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  481. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  482. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  483. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  484. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  485. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  486. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  487. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  488. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
  489. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  490. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  491. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  492. {mx_bluesky-1.5.6/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.7/tests/unit_tests/common/parameters}/__init__.py +0 -0
  493. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/parameters/test_components.py +0 -0
  494. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/parameters/test_constants.py +0 -0
  495. {mx_bluesky-1.5.6/tests/unit_tests/common/utils → mx_bluesky-1.5.7/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
  496. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  497. {mx_bluesky-1.5.6/tests/unit_tests/hyperion → mx_bluesky-1.5.7/tests/unit_tests/common/utils}/__init__.py +0 -0
  498. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/common/utils/test_log.py +0 -0
  499. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.7/tests/unit_tests/hyperion}/__init__.py +0 -0
  500. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/conftest.py +0 -0
  501. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.7/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  502. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  503. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  504. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  505. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  506. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  507. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  508. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.7/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
  509. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  510. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
  511. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  512. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +0 -0
  513. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  514. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -0
  515. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  516. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
  517. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
  518. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  519. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
  520. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  521. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  522. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  523. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  524. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  525. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
  526. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  527. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  528. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  529. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/nexus}/__init__.py +0 -0
  530. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  531. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  532. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  533. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  534. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  535. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  536. {mx_bluesky-1.5.6/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.7/tests/unit_tests/hyperion/parameters}/__init__.py +0 -0
  537. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
  538. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  539. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_main_system.py +0 -0
  540. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_plan_runner_api.py +0 -0
  541. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_runner.py +0 -0
  542. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_utils.py +0 -0
  543. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  544. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  545. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/t01.py +0 -0
  546. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/tests/unit_tests/test_cli.py +0 -0
  547. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/build_docker_image.sh +0 -0
  548. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/build_imginfo.sh +0 -0
  549. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/deploy/create_venv.py +0 -0
  550. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  551. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  552. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
  553. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/deploy/test_deploy.py +0 -0
  554. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/dev_jaeger_container.sh +0 -0
  555. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/dls_dev_env.sh +0 -0
  556. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/docker/entrypoint.sh +0 -0
  557. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/docker/healthcheck.sh +0 -0
  558. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/docker/i03-compose.yml +0 -0
  559. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/generate_plantuml.py +0 -0
  560. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/graylog/Dockerfile +0 -0
  561. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/graylog/tcp_input.json +0 -0
  562. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/procserv_ioc_start.sh +0 -0
  563. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/request_baton.sh +0 -0
  564. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/run_imginfo.sh +0 -0
  565. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/setup_graylog.sh +0 -0
  566. {mx_bluesky-1.5.6 → mx_bluesky-1.5.7}/utility_scripts/strip_metafile.py +0 -0
@@ -0,0 +1,75 @@
1
+ // For format details, see https://containers.dev/implementors/json_reference/
2
+ {
3
+ "name": "Python 3 Developer Container",
4
+ "build": {
5
+ "dockerfile": "../Dockerfile",
6
+ "target": "developer"
7
+ },
8
+ "remoteEnv": {
9
+ // Allow X11 apps to run inside the container
10
+ "DISPLAY": "${localEnv:DISPLAY}"
11
+ },
12
+ "customizations": {
13
+ "vscode": {
14
+ // Set *default* container specific settings.json values on container create.
15
+ "settings": {
16
+ "python.defaultInterpreterPath": "/venv/bin/python"
17
+ },
18
+ // Add the IDs of extensions you want installed when the container is created.
19
+ "extensions": [
20
+ "ms-python.python",
21
+ "github.vscode-github-actions",
22
+ "tamasfe.even-better-toml",
23
+ "redhat.vscode-yaml",
24
+ "ryanluker.vscode-coverage-gutters",
25
+ "charliermarsh.ruff",
26
+ "ms-azuretools.vscode-docker"
27
+ ],
28
+ "python.testing.pytestArgs": [
29
+ "--cov=mx_bluesky",
30
+ "--cov-report",
31
+ "xml:cov.xml"
32
+ ],
33
+ "python.testing.unittestEnabled": false,
34
+ "python.testing.pytestEnabled": true,
35
+ "python.defaultInterpreterPath": "/venv/bin/python",
36
+ "editor.formatOnSave": true,
37
+ "editor.codeActionsOnSave": {
38
+ "source.organizeImports": "explicit"
39
+ },
40
+ "files.insertFinalNewline": true,
41
+ "[python]": {
42
+ "editor.rulers": [
43
+ 88
44
+ ],
45
+ "editor.codeActionsOnSave": {
46
+ "source.fixAll.ruff": "explicit",
47
+ "source.organizeImports.ruff": "explicit"
48
+ },
49
+ "editor.defaultFormatter": "charliermarsh.ruff"
50
+ },
51
+ "terminal.integrated.gpuAcceleration": "off",
52
+ "python.analysis.typeCheckingMode": "basic"
53
+ }
54
+ },
55
+ "features": {
56
+ // Some default things like git config
57
+ // add in eternal history and other bash features
58
+ "ghcr.io/diamondlightsource/devcontainer-features/bash-config:1": {}
59
+ },
60
+ // Create the config folder for the bash-config feature
61
+ "initializeCommand": "mkdir -p ${localEnv:HOME}/.config/bash-config",
62
+ "runArgs": [
63
+ // Allow the container to access the host X11 display and EPICS CA
64
+ "--net=host",
65
+ // Make sure SELinux does not disable with access to host filesystems like tmp
66
+ "--security-opt=label=disable"
67
+ ],
68
+ // Mount the parent as /workspaces so we can pip install peers as editable
69
+ "workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
70
+ "mounts": [
71
+ "source=/dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/,target=/dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/,type=bind,consistency=cached"
72
+ ],
73
+ // After the container is created, install the python project in editable form
74
+ "postCreateCommand": "pip install $([ -f dev-requirements.txt ] && echo '-c dev-requirements.txt') -e '.[dev]' && pip install -e /workspaces/dodal[dev] && pre-commit install && ln -s /dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/ /venv/lib/python3.12/site-packages/dlstbx"
75
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": ".."
5
+ },
6
+ {
7
+ "path": "../../dodal"
8
+ },
9
+ ],
10
+ "settings": {
11
+ "python.languageServer": "Pylance",
12
+ "[python]": {
13
+ "editor.defaultFormatter": "ms-python.black-formatter"
14
+ },
15
+ "python.defaultInterpreterPath": "venv/bin/python",
16
+ "python.analysis.extraPaths": [
17
+ "../dodal"
18
+ ],
19
+ "python.analysis.autoImportCompletions": true,
20
+ "terminal.integrated.gpuAcceleration": "off",
21
+ "esbonio.sphinx.confDir": ""
22
+ }
23
+ }
@@ -13,7 +13,9 @@
13
13
  "editor.defaultFormatter": "ms-python.black-formatter"
14
14
  },
15
15
  "python.defaultInterpreterPath": ".venv/bin/python",
16
- "python.analysis.extraPaths": ["../dodal"],
16
+ "python.analysis.extraPaths": [
17
+ "../dodal"
18
+ ],
17
19
  "python.analysis.autoImportCompletions": true,
18
20
  "terminal.integrated.gpuAcceleration": "off",
19
21
  "esbonio.sphinx.confDir": ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.6
3
+ Version: 1.5.7
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
@@ -241,7 +241,7 @@ Requires-Dist: blueapi>=0.15.0
241
241
  Requires-Dist: ophyd>=1.10.5
242
242
  Requires-Dist: ophyd-async>=0.10.0a2
243
243
  Requires-Dist: bluesky>=1.13.1
244
- Requires-Dist: dls-dodal==1.58.0
244
+ Requires-Dist: dls-dodal==1.59.1
245
245
  Provides-Extra: dev
246
246
  Requires-Dist: black; extra == "dev"
247
247
  Requires-Dist: build; extra == "dev"
@@ -0,0 +1,33 @@
1
+ # Get Started with mx-bluesky
2
+
3
+ ## Development Environment
4
+
5
+ We recommend using devcontainers with vscode as the IDE when developing using a DLS machine. Here's how you can set this up:
6
+
7
+ - Clone this repo using SSH: `git clone git@github.com:DiamondLightSource/mx-bluesky.git`.
8
+ - At the same directory level as you were in for step 1, clone dodal using SSH: `git clone git@github.com:DiamondLightSource/dodal.git`.
9
+ You should now have a directory structure looking like`/some_path/mx-bluesky` and `/some_path/dodal`.
10
+ - In a terminal, move to the mx-bluesky directory and open vscode:
11
+
12
+ ```
13
+ cd /some_path/mx-bluesky
14
+ module load vscode
15
+ code .
16
+ ```
17
+
18
+ - Make sure you have the [devcontainers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed in vscode.
19
+ - In vscode, press `shift+ctrl+p`, and type "Dev Containers: Open Folder in Container", then select the mx-bluesky folder.
20
+ - Once this has built, in vscode at the top right, click `File -> Open workspace from file`, then select `mx-bluesky/.vscode/mx-bluesky-dev-container.code-workspace`.
21
+ - This should get dodal and mx-bluesky opened up in your workspace with all the correct settings. To prove to yourself that the environment is correct, type `tox -e tests` in a terminal in your devcontainer while inside the dodal and inside the mx-bluesky directory.
22
+
23
+ ### Notes
24
+ - The devcontainer initially takes quite a long time to build. It will be much faster every other time, and only needs to be rebuild if we change the container environment.
25
+ - The first time you make a commit after building, you will need to follow some git prompts to set your git name and email.
26
+ - The old `dls_dev_env.sh` script creates a virtual environment in `mx-bluesky/.venv`, while the devcontainer creates one in `mx-bluesky/venv`. This is the only reason why we need separate code-workspace files.
27
+
28
+ ## Supported Python versions
29
+
30
+
31
+ As a standard for the python versions to support, we are using the [numpy deprecation policy](https://numpy.org/neps/nep-0029-deprecation_policy.html)
32
+
33
+ Currently supported versions are: 3.11, 3.12.
@@ -13,6 +13,7 @@ Documentation specific for the Hyperion module within MX-Bluesky
13
13
  :maxdepth: 1
14
14
 
15
15
  reference/readme
16
+ reference/baton
16
17
  reference/param-hierarchy
17
18
  reference/coordinate-systems
18
19
  deploying-hyperion
@@ -0,0 +1,22 @@
1
+ Hyperion Baton
2
+ ==============
3
+
4
+ The Hyperion baton is controlled by two PVs; these are described under `Special PVs`_
5
+
6
+ An approximate outline of how the various baton workflows operates is outlined in the flowcharts below:
7
+
8
+ .. image:: ../../../images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png
9
+
10
+ .. _Special PVs: ../../../user/hyperion/pvs.html
11
+
12
+
13
+ GDA-side Baton Integration
14
+ --------------------------
15
+
16
+ Below is a diagram showing how baton-handling in GDA integrates the GDA baton with the Hyperion Baton PV, using the
17
+ ``HyperionUDCRunner``.
18
+
19
+ The diagram represents an interim stage; at some point ``GDAUDCRunner`` can be eliminated and the baton management
20
+ simplified.
21
+
22
+ .. uml:: gda-baton.puml
@@ -0,0 +1,192 @@
1
+ @startuml
2
+ title GDA Baton Management
3
+
4
+ package Server {
5
+ class Thread
6
+ class JythonServerThread extends Thread {
7
+ authorisationLevel: int
8
+ int getAuthorisationLevel()
9
+ }
10
+
11
+ interface IBatonManager {
12
+ ClientDetails getClientInformation((myJSFIdentifier)
13
+ boolean requestBaton(uniqueIdentifier)
14
+ void returnBaton((uniqueIdentifier)
15
+ void assignBaton(myJSFIdentifier, indexOfReceiver, indexOfPasser)
16
+ boolean isBatonHeld()
17
+ boolean amIBatonHolder(myJSFIdentifier)
18
+ int effectiveAuthorisationLevelOf(uniqueId)
19
+ void addFacade(uniqueId, info: ClientDetails)
20
+ void removeFacade(uniqueId)
21
+ }
22
+
23
+ class BatonManager implements IBatonManager {
24
+ useBaton = true
25
+ useRBAC = true
26
+ firstClientTakesBaton = true
27
+ batonHolder: String
28
+ facadeNames: Map<String, ClientInfo>
29
+ leaseHolders: Map<String, Long>
30
+ }
31
+
32
+ note "Each client has a facade name aka uniqueId aka jsfIdentifier\n\
33
+ There is a LeaseRefresher that periodically sends a BatonLeaseRenewRequest\n\
34
+ to all clients, any interaction with the BatonManager extends the lease.\n\n\
35
+ On first client registration, if firstClientTakesBaton is true then it will\n\
36
+ assume the baton if it is not the server or an automated client." as batonManagerNote
37
+
38
+ BatonManager .. batonManagerNote
39
+
40
+
41
+ interface IJythonServerNotifier {
42
+ void notifyServer(source, data)
43
+ }
44
+ interface LocalJython
45
+ class JythonServer implements LocalJython {
46
+ batonManager: BatonManager
47
+ }
48
+
49
+ note "JythonServer registers a client with the BatonManager via forwarding of addFacade()\n\
50
+ The authorisationLevel is determined by asking the Authoriser" as jythonServerNote
51
+
52
+ JythonServer .. jythonServerNote
53
+
54
+ interface Authoriser {
55
+ int getAuthorisationLevel(username)
56
+ int getDefaultPermissions(username)
57
+ isLocalStaff(username)
58
+ }
59
+
60
+ class FileAuthoriser implements Authoriser
61
+ note "Gets the permissions from user_permissions.xml" as fileAuthoriserNote
62
+ FileAuthoriser .. fileAuthoriserNote
63
+ class LdapAuthoriser extends FileAuthoriser
64
+ class SingleFileAuthoriser implements Authoriser
65
+ note "Authorisation method is determined by gda.gui.AcquisitionGUI.authorisationMethod" as authoriserNote
66
+
67
+ Authoriser .. authoriserNote
68
+
69
+ together {
70
+ class UDCBatonHandler {
71
+ runner: IUDCRunner
72
+ }
73
+ interface IUDCRunner
74
+ class GDAUDCRunner implements IUDCRunner
75
+ class HyperionUDCRunner implements IUDCRunner
76
+ }
77
+
78
+ note "\
79
+ Creates the UDC Client by calling getUnattendedClientFacade() during configuration.\n\
80
+ Creates the UDC Runner according to the gda.mx.udc.hyperion.enable property.\
81
+ " as udcBatonHandlerNote
82
+ UDCBatonHandler .. udcBatonHandlerNote
83
+
84
+ class Device {
85
+ protectionLevel: int
86
+ }
87
+ class DeviceInterceptor
88
+ note "DeviceInterceptor is an interceptor on specific methods of Device, if the current thread\n\
89
+ has an authorisationLevel below the protectionLevel of the device, and\n\
90
+ the call is made from Jython the method call throws AccessDeniedException." as deviceNote
91
+ Device .. deviceNote
92
+
93
+
94
+
95
+ class UDCCompleteEvent
96
+
97
+ }
98
+
99
+ package Common {
100
+ together {
101
+ class BatonChanged
102
+ class BatonRequested
103
+ class BatonLeaseRenewRequest
104
+ }
105
+
106
+ interface Jython {
107
+ boolean amIBatonHolder(myJSFIdentifier)
108
+ int addFacade(jsfIdentifier, hostname, username, fullName, visitId)
109
+ boolean isBatonHeld()
110
+ }
111
+
112
+ class ClientInfo {
113
+ index: int
114
+ userId: String
115
+ fullName: String
116
+ hostname: String
117
+ authorisationLevel: int
118
+ visitID: String
119
+
120
+ boolean isServer()
121
+ boolean isAutomatedUser()
122
+ }
123
+ note "isServer and isAutomatedUser are determined by the authorisationLevel" as clientInfoNote
124
+ ClientInfo .. clientInfoNote
125
+
126
+ class ClientDetails extends ClientInfo {
127
+ hasBaton: boolean
128
+ }
129
+
130
+ interface IAuthorisationHolder {
131
+ int getAuthorisationLevel()
132
+ int getAuthorisationLevelAtRegistration()
133
+ }
134
+
135
+ interface IBatonStateProvider {
136
+ boolean amIBatonHolder()
137
+ boolean isBatonHeld()
138
+ void addBatonChangedObserver(observer)
139
+ void deleteBatonChangedObserver(observer)
140
+ }
141
+ note "Access is enforced in the client via calls to amIBatonHolder()" as iBatonStateProviderNote
142
+
143
+ class JythonServerFacade implements IBatonStateProvider, IAuthorisationHolder {
144
+ commandServer: Jython
145
+ visitID: String
146
+ {static} JythonServerFacade getUnattendedClientFacade()
147
+ }
148
+ }
149
+
150
+ package Client {
151
+ class ApplicationWorkbenchAdvisor
152
+ note "ApplicationWorkbenchAdvisor receives the BatonLeaseRenewRequest and uses IBatonStateProvider\n\
153
+ to renew the lease by calling amIBatonHolder()" as applicationWorkbenchAdvisorNote
154
+ }
155
+
156
+ 'Server -up-> Common
157
+ 'Common -up[hidden]-> Client
158
+ ApplicationWorkbenchAdvisor ..[norank] applicationWorkbenchAdvisorNote
159
+
160
+ ApplicationWorkbenchAdvisor --down> IBatonStateProvider
161
+
162
+ IBatonStateProvider .. iBatonStateProviderNote
163
+ LocalJython -up-|> Jython
164
+ LocalJython --|> IJythonServerNotifier
165
+
166
+ JythonServerFacade o-> Jython
167
+ JythonServer o->BatonManager
168
+ JythonServer --> Authoriser
169
+
170
+ JythonServer --> JythonServerThread
171
+
172
+ BatonChanged --> UDCBatonHandler : handles
173
+ BatonRequested --> UDCBatonHandler : handles
174
+ UDCCompleteEvent --> UDCBatonHandler : handles
175
+
176
+ UDCBatonHandler -[norank]-> JythonServerFacade
177
+ UDCBatonHandler o-> IUDCRunner
178
+ BatonManager -up-> BatonChanged : fires
179
+ BatonManager -up-> BatonRequested : fires
180
+ BatonManager -up-> BatonLeaseRenewRequest : fires
181
+ GDAUDCRunner -[norank]-> UDCCompleteEvent : fires
182
+ BatonManager *-[norank]-> ClientInfo
183
+
184
+ UDCCompleteEvent --> GDAUDCRunner : handles
185
+ HyperionUDCRunner --> UDCCompleteEvent : fires
186
+
187
+ DeviceInterceptor --> Device
188
+ DeviceInterceptor --> JythonServerThread
189
+
190
+ BatonManager -up-> IJythonServerNotifier
191
+
192
+ @enduml
@@ -97,13 +97,13 @@ class GridScanParamsCommon {
97
97
  z2_start_mm
98
98
  }
99
99
  class PandAGridScanParams
100
- class ZebraGridScanParams
100
+ class ZebraGridScanParamsThreeD
101
101
 
102
102
  AbstractExperimentBase <|-- AbstractExperimentWithBeamParams
103
103
  AbstractExperimentWithBeamParams <|-- GridScanParamsCommon
104
104
  GridScanParamsCommon <|-- PandAGridScanParams
105
- GridScanParamsCommon <|-- ZebraGridScanParams
105
+ GridScanParamsCommon <|-- ZebraGridScanParamsThreeD
106
106
 
107
- HyperionThreeDGridScan --> ZebraGridScanParams : generates
107
+ HyperionThreeDGridScan --> ZebraGridScanParamsThreeD : generates
108
108
  HyperionThreeDGridScan --> PandAGridScanParams : generates
109
109
  @enduml
@@ -2,7 +2,7 @@ Hyperion User Guide
2
2
  ===================
3
3
 
4
4
  The Hyperion User Guide describes how to run, configure and troubleshoot Hyperion. For installation instructions, see
5
- the Developer Guide.
5
+ the `Developer Guide`_.
6
6
 
7
7
  What is Hyperion?
8
8
  -----------------
@@ -16,25 +16,38 @@ The software supports two modes of operation:
16
16
  * GDA mode (where GDA fetches and decodes the Agamemnon
17
17
  instructions). GDA mode will be removed in a future release.
18
18
 
19
- The mode of operation is determined by configuration using the ``gda.mx.udc.hyperion.enable`` parameter
19
+ The mode of operation is determined by configuration using the ``gda.mx.udc.hyperion.enable`` parameter inside
20
+ GDA properties. See `configuration`_ for other properties that control Hyperions behavior.
20
21
 
21
22
  Once Hyperion has received a request, either from GDA or directly from Agamemnon, it will do the following tasks:
22
23
 
23
- - Robot Load (if necessary)
24
- - Pin tip detection using the OAV
25
- - Xray Centring
24
+ - Robot Load (if the requested sample has not yet been loaded)
25
+ - Pin tip centring using the OAV
26
+ - Xray Centring using 2 2D gridscans
26
27
  - A number of data collections, depending on the number of centres returned from Zocalo and the applied selection criteria
27
28
 
28
29
  During this it will generate the following outputs:
29
30
 
30
31
  - Snapshots on robot load, XRC and rotations
31
32
  - Data collections in ISPyB for the gridscans and rotations as well as entries for robot load/unload
32
- - Nexus files for each data collection
33
+ - NeXus files for each data collection
33
34
  - Alert notifications on loading a new container and on beamline error conditions when intervention is required.
34
35
 
36
+ To increase throughput, the behavior of Hyperion differs in many ways from UDC under GDA. The main ways this manifests
37
+ to a user is:
38
+
39
+ - Xray Centring is 2 2D gridscans (rather than the one gridscan and one line scan in GDA). For speed, the eiger is only
40
+ armed once for both of these and the data is split up after the fact. This means on the filesystem there is one set of
41
+ hdf files for both gridscans but two NeXus files. The two grid scans are stored in ISPyB under one data collection
42
+ group so at first glance it may look like one gridscan in synchweb but you can click through to see both scans.
43
+ - If an xray centre cannot be done on a pin (because it is too long/short or bent), or if no diffraction is found in the
44
+ xray centring data, the sample will be immediately unloaded without a rotation scan being done and the next sample loaded.
45
+
35
46
  For a more detailed breakdown of the operation, it may be helpful to browse the `Code Map`_
36
47
 
37
48
  .. _Code Map: ../../developer/code-map
49
+ .. _Developer Guide: ../../developer/hyperion/deploying-hyperion
50
+ .. _configuration: ./configuration
38
51
 
39
52
  .. toctree::
40
53
  :caption: Topics
@@ -15,6 +15,12 @@ Graylog
15
15
  Graylog is the recommended way to view logs. It is used for more centralised logging which is also more easily
16
16
  searched and archived. Log messages are sent to the `Hyperion graylog stream <https://graylog.diamond.ac.uk/streams/66264f5519ccca6d1c9e4e03/search>`_.
17
17
 
18
+ To find different severity of message you can search for ``level: X``. Where X is:
19
+
20
+ * ``3``: Errors messages - usually causing Hyperion to have stopped. Note that no diffraction is currently logged as an error but this doesn't stop Hyperion, only skip the sample. This will be improved by https://github.com/DiamondLightSource/mx-bluesky/issues/427.
21
+ * ``4``: Warnings - usually not a major problem
22
+ * ``6``: Info - Just telling you what Hyperion is doing
23
+
18
24
 
19
25
  Startup Log
20
26
  ~~~~~~~~~~~
@@ -48,7 +48,7 @@ dependencies = [
48
48
  "ophyd >= 1.10.5",
49
49
  "ophyd-async >= 0.10.0a2",
50
50
  "bluesky >= 1.13.1",
51
- "dls-dodal == 1.58.0",
51
+ "dls-dodal == 1.59.1",
52
52
  ]
53
53
 
54
54
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.5.6'
32
- __version_tuple__ = version_tuple = (1, 5, 6)
31
+ __version__ = version = '1.5.7'
32
+ __version_tuple__ = version_tuple = (1, 5, 7)
33
33
 
34
- __commit_id__ = commit_id = 'g6a9297fcb'
34
+ __commit_id__ = commit_id = 'ge1f29265f'
@@ -0,0 +1,35 @@
1
+ from dodal.devices.i02_1.fast_grid_scan import ZebraGridScanParamsTwoD
2
+ from scanspec.specs import Product
3
+
4
+ from mx_bluesky.common.parameters.components import SplitScan, WithOptionalEnergyChange
5
+ from mx_bluesky.common.parameters.gridscan import SpecifiedGrid
6
+
7
+
8
+ class SpecifiedTwoDGridScan(
9
+ SpecifiedGrid[ZebraGridScanParamsTwoD],
10
+ SplitScan,
11
+ WithOptionalEnergyChange,
12
+ ):
13
+ """Parameters representing a so-called 2D grid scan, which consists of doing a
14
+ gridscan in X and Y."""
15
+
16
+ @property
17
+ def scan_spec(self) -> Product[str]:
18
+ """A fully specified ScanSpec object representing the grid, with x, y, z and
19
+ omega positions."""
20
+ return self.grid_1_spec
21
+
22
+ @property
23
+ def FGS_params(self) -> ZebraGridScanParamsTwoD:
24
+ return ZebraGridScanParamsTwoD(
25
+ x_steps=self.x_steps,
26
+ y_steps=self.y_steps,
27
+ x_step_size_mm=self.x_step_size_um / 1000,
28
+ y_step_size_mm=self.y_step_size_um / 1000,
29
+ x_start_mm=self.x_start_um / 1000,
30
+ y1_start_mm=self.y_start_um / 1000,
31
+ z1_start_mm=self.z_start_um / 1000,
32
+ set_stub_offsets=self._set_stub_offsets,
33
+ transmission_fraction=0.5,
34
+ dwell_time_ms=self.exposure_time_s,
35
+ )
@@ -13,7 +13,7 @@ from dodal.devices.common_dcm import BaseDCM
13
13
  from dodal.devices.detector.detector_motion import DetectorMotion
14
14
  from dodal.devices.eiger import EigerDetector
15
15
  from dodal.devices.fast_grid_scan import (
16
- ZebraFastGridScan,
16
+ ZebraFastGridScanThreeD,
17
17
  set_fast_grid_scan_params,
18
18
  )
19
19
  from dodal.devices.flux import Flux
@@ -48,6 +48,7 @@ from mx_bluesky.common.external_interaction.callbacks.common.zocalo_callback imp
48
48
  )
49
49
  from mx_bluesky.common.external_interaction.callbacks.xray_centre.ispyb_callback import (
50
50
  GridscanISPyBCallback,
51
+ generate_start_info_from_omega_map,
51
52
  )
52
53
  from mx_bluesky.common.external_interaction.callbacks.xray_centre.nexus_callback import (
53
54
  GridscanNexusFileCallback,
@@ -80,7 +81,7 @@ def i04_grid_detect_then_xray_centre(
80
81
  backlight: Backlight = inject("backlight"),
81
82
  beamstop: Beamstop = inject("beamstop"),
82
83
  dcm: BaseDCM = inject("dcm"),
83
- zebra_fast_grid_scan: ZebraFastGridScan = inject("zebra_fast_grid_scan"),
84
+ zebra_fast_grid_scan: ZebraFastGridScanThreeD = inject("zebra_fast_grid_scan"),
84
85
  flux: Flux = inject("flux"),
85
86
  oav: OAV = inject("oav"),
86
87
  pin_tip_detection: PinTipDetection = inject("pin_tip_detection"),
@@ -198,7 +199,9 @@ def create_gridscan_callbacks() -> tuple[
198
199
  GridscanISPyBCallback(
199
200
  param_type=GridCommon,
200
201
  emit=ZocaloCallback(
201
- PlanNameConstants.DO_FGS, EnvironmentConstants.ZOCALO_ENV
202
+ PlanNameConstants.DO_FGS,
203
+ EnvironmentConstants.ZOCALO_ENV,
204
+ generate_start_info_from_omega_map,
202
205
  ),
203
206
  ),
204
207
  )
@@ -7,7 +7,7 @@ from typing import TypedDict
7
7
  import numpy as np
8
8
  import zmq
9
9
  from dodal.devices.i04.constants import RedisConstants
10
- from dodal.devices.i04.murko_results import FullMurkoResults, MurkoResult
10
+ from dodal.devices.i04.murko_results import MurkoResult
11
11
  from numpy.typing import NDArray
12
12
  from PIL import Image
13
13
  from redis import StrictRedis
@@ -16,6 +16,8 @@ from mx_bluesky.common.utils.log import LOGGER
16
16
 
17
17
  MURKO_ADDRESS = "tcp://i04-murko-prod.diamond.ac.uk:8008"
18
18
 
19
+ FullMurkoResults = dict[str, list[MurkoResult]]
20
+
19
21
 
20
22
  class MurkoRequest(TypedDict):
21
23
  """See https://github.com/MartinSavko/murko#usage for more information."""
@@ -1,8 +1,9 @@
1
1
  from collections.abc import Callable
2
+ from functools import partial
2
3
 
3
4
  import bluesky.plan_stubs as bps
4
5
  import bluesky.preprocessors as bpp
5
- from bluesky.preprocessors import run_decorator, stage_wrapper, subs_decorator
6
+ from bluesky.preprocessors import run_decorator, subs_decorator
6
7
  from bluesky.utils import MsgGenerator
7
8
  from dodal.common import inject
8
9
  from dodal.devices.i04.constants import RedisConstants
@@ -42,7 +43,7 @@ def thaw_and_stream_to_redis(
42
43
  robot: BartRobot = inject("robot"),
43
44
  thawer: Thawer = inject("thawer"),
44
45
  smargon: Smargon = inject("smargon"),
45
- oav: OAV = inject("oav"),
46
+ oav: OAV = inject("oav_full_screen"),
46
47
  oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
47
48
  ) -> MsgGenerator:
48
49
  """Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
@@ -84,7 +85,7 @@ def thaw_and_murko_centre(
84
85
  robot: BartRobot = inject("robot"),
85
86
  thawer: Thawer = inject("thawer"),
86
87
  smargon: Smargon = inject("smargon"),
87
- oav: OAV = inject("oav"),
88
+ oav: OAV = inject("oav_full_screen"),
88
89
  murko_results: MurkoResultsDevice = inject("murko_results"),
89
90
  oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
90
91
  ) -> MsgGenerator:
@@ -109,14 +110,14 @@ def thaw_and_murko_centre(
109
110
  defaults are always correct
110
111
  """
111
112
 
113
+ MURKO_RESULTS_GROUP = "get_results"
114
+
112
115
  def centre_then_switch_forwarder_to_ROI() -> MsgGenerator:
113
116
  yield from bps.complete(oav_to_redis_forwarder, wait=True)
114
117
 
115
- yield from bps.trigger(murko_results, group="get_results")
116
-
117
118
  yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
118
119
 
119
- yield from bps.wait("get_results")
120
+ yield from bps.wait(MURKO_RESULTS_GROUP)
120
121
  x_predict = yield from bps.rd(murko_results.x_mm)
121
122
  y_predict = yield from bps.rd(murko_results.y_mm)
122
123
  z_predict = yield from bps.rd(murko_results.z_mm)
@@ -127,7 +128,13 @@ def thaw_and_murko_centre(
127
128
 
128
129
  yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
129
130
 
130
- yield from stage_wrapper(
131
+ sample_id = yield from bps.rd(robot.sample_id)
132
+ yield from bps.abs_set(murko_results.sample_id, int(sample_id))
133
+
134
+ yield from bps.stage(murko_results)
135
+ yield from bps.trigger(murko_results, group=MURKO_RESULTS_GROUP)
136
+
137
+ yield from bpp.contingency_wrapper(
131
138
  _thaw_and_stream_to_redis(
132
139
  time_to_thaw,
133
140
  rotation,
@@ -138,7 +145,7 @@ def thaw_and_murko_centre(
138
145
  oav_to_redis_forwarder,
139
146
  centre_then_switch_forwarder_to_ROI,
140
147
  ),
141
- [murko_results],
148
+ final_plan=partial(bps.unstage, murko_results),
142
149
  )
143
150
 
144
151