mx-bluesky 1.5.9__tar.gz → 1.5.10__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 (585) hide show
  1. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/PKG-INFO +4 -4
  2. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/pyproject.toml +3 -3
  3. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/_version.py +3 -3
  4. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +2 -2
  5. mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +78 -0
  6. mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/__init__.py +1 -0
  7. {mx_bluesky-1.5.9/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs}/do_external_acquisition.py +7 -6
  8. {mx_bluesky-1.5.9/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs}/do_internal_acquisition.py +4 -3
  9. {mx_bluesky-1.5.9/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs}/plan_utils.py +21 -28
  10. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +2 -2
  11. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +1 -1
  12. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +4 -4
  13. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +3 -3
  14. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +1 -1
  15. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +3 -3
  16. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +2 -2
  17. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/parameters/device_composites.py +2 -2
  18. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +6 -7
  19. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +52 -38
  20. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +2 -2
  21. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +1 -1
  22. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/device_composites.py +2 -2
  23. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/rotation.py +4 -6
  24. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/utils/context.py +6 -1
  25. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/PKG-INFO +4 -4
  26. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/SOURCES.txt +12 -7
  27. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/requires.txt +3 -3
  28. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/conftest.py +1 -1
  29. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +2 -2
  30. mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans/test_do_darks.py +160 -0
  31. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/test_do_external_acquisition.py +6 -8
  32. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/test_do_internal_acquisition.py +6 -4
  33. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/test_plan_utils.py +1 -23
  34. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +3 -9
  35. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +3 -3
  36. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +2 -2
  37. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +1 -1
  38. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +1 -1
  39. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/conftest.py +1 -1
  40. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +9 -1
  41. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +87 -0
  42. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +2 -2
  43. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +1 -1
  44. mx_bluesky-1.5.10/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  45. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_baton_handler.py +3 -1
  46. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_main_system.py +2 -1
  47. mx_bluesky-1.5.10/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  48. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/utils/test_context.py +16 -1
  49. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.copier-answers.yml +0 -0
  50. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.coveragerc +0 -0
  51. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.devcontainer/Dockerfile +0 -0
  52. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.devcontainer/devcontainer.json +0 -0
  53. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.dockerignore +0 -0
  54. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/CODEOWNERS +0 -0
  55. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/CONTRIBUTING.md +0 -0
  56. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  57. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  58. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/actions/install_requirements/action.yml +0 -0
  59. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/actions/verify-nexus/Dockerfile +0 -0
  60. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/actions/verify-nexus/action.yml +0 -0
  61. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  62. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/dependabot.yml +0 -0
  63. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/pages/index.html +0 -0
  64. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/pages/make_switcher.py +0 -0
  65. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_check.yml +0 -0
  66. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_container.yml +0 -0
  67. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_dist.yml +0 -0
  68. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_docs.yml +0 -0
  69. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_helm.yml +0 -0
  70. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_pypi.yml +0 -0
  71. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_release.yml +0 -0
  72. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_test.yml +0 -0
  73. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/_tox.yml +0 -0
  74. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/ci.yml +0 -0
  75. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.github/workflows/periodic.yml +0 -0
  76. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.gitignore +0 -0
  77. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.pre-commit-config.yaml +0 -0
  78. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/extensions.json +0 -0
  79. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/launch.json +0 -0
  80. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/mx-bluesky-dev-container.code-workspace +0 -0
  81. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/mx-bluesky.code-workspace +0 -0
  82. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  83. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/settings.json +0 -0
  84. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/.vscode/tasks.json +0 -0
  85. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/Dockerfile +0 -0
  86. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/Dockerfile.blueapi +0 -0
  87. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/Dockerfile.hyperion +0 -0
  88. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/LICENSE +0 -0
  89. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/README.rst +0 -0
  90. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/catalog-info.yaml +0 -0
  91. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/codecov.yml +0 -0
  92. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/conftest.py +0 -0
  93. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/_api.rst +0 -0
  94. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/_templates/custom-module-template.rst +0 -0
  95. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/conf.py +0 -0
  96. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  97. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
  98. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/code-map/index.rst +0 -0
  99. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
  100. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
  101. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  102. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  103. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  104. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/explanations/decisions.rst +0 -0
  105. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/contribute.rst +0 -0
  106. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/create-a-release.rst +0 -0
  107. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  108. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  109. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  110. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  111. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  112. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  113. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/how-to/get-started.md +0 -0
  114. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/index.rst +0 -0
  115. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/reference/standards.rst +0 -0
  116. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  117. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  118. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  119. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/index.rst +0 -0
  120. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/baton.rst +0 -0
  121. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  122. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
  123. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/gda-baton.puml +0 -0
  124. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  125. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  126. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/reference/readme.md +0 -0
  127. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/hyperion/system-tests.rst +0 -0
  128. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/index.rst +0 -0
  129. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/murko-integration/explanations/DrawioImages.rst +0 -0
  130. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  131. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
  132. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/murko-integration/index.rst +0 -0
  133. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  134. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  135. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  136. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  137. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  138. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  139. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  140. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  141. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  142. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
  143. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/dls-favicon.ico +0 -0
  144. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/dls-logo.svg +0 -0
  145. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/motor coordinate systems.odg +0 -0
  146. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/motor-coords-omega-0.svg +0 -0
  147. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/images/motor-coords-omega-alpha.svg +0 -0
  148. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/index.rst +0 -0
  149. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/alerts.rst +0 -0
  150. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/configuration.rst +0 -0
  151. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/index.rst +0 -0
  152. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/pvs.rst +0 -0
  153. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/running.rst +0 -0
  154. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/docs/user/hyperion/troubleshooting.rst +0 -0
  155. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/Chart.yaml +0 -0
  156. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/templates/deployment.yaml +0 -0
  157. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/templates/ingress.yaml +0 -0
  158. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/templates/service.yaml +0 -0
  159. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/templates/zocalo-config.yaml +0 -0
  160. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/hyperion/values.yaml +0 -0
  161. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
  162. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
  163. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/mx-bluesky-blueapi/values.yaml +0 -0
  164. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/redis-to-murko/Chart.yaml +0 -0
  165. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/redis-to-murko/templates/deployment.yaml +0 -0
  166. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/helm/redis-to-murko/values.yaml +0 -0
  167. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/pull_request_template.md +0 -0
  168. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/run_hyperion.sh +0 -0
  169. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/run_hyperion_in_podman.sh +0 -0
  170. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/setup.cfg +0 -0
  171. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/__init__.py +0 -0
  172. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/__main__.py +0 -0
  173. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/__init__.py +0 -0
  174. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  175. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  176. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  177. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  178. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i02_1/parameters/__init__.py +0 -0
  179. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +0 -0
  180. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  181. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/callbacks/__init__.py +0 -0
  182. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  183. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
  184. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +0 -0
  185. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
  186. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  187. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  188. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  189. {mx_bluesky-1.5.9/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.10/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
  190. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  191. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  192. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  193. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  194. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  195. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  196. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  197. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  198. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  199. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  200. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  201. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  202. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  203. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  204. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  205. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  206. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  207. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  208. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  209. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  210. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  211. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  212. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -0
  213. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
  214. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  215. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  216. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  217. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  218. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  219. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  220. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  221. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  222. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  223. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  224. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  225. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  226. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  227. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  228. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  229. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  230. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  231. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  232. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  233. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  234. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  235. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  236. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  237. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  238. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
  239. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +0 -0
  240. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  241. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/__init__.py +0 -0
  242. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/__init__.py +0 -0
  243. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
  244. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  245. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  246. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +0 -0
  247. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
  248. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
  249. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
  250. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
  251. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__.py +0 -0
  252. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
  253. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
  254. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
  255. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
  256. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
  257. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
  258. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
  259. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
  260. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  261. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  262. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
  263. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  264. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  265. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  266. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  267. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  268. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  269. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  270. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  271. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
  272. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  273. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  274. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  275. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
  276. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  277. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  278. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
  279. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  280. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
  281. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  282. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  283. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/parameters/__init__.py +0 -0
  284. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/parameters/components.py +0 -0
  285. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/parameters/constants.py +0 -0
  286. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
  287. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
  288. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  289. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/protocols/__init__.py +0 -0
  290. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  291. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/__init__.py +0 -0
  292. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/context.py +0 -0
  293. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  294. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/log.py +0 -0
  295. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/tracing.py +0 -0
  296. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/utils/utils.py +0 -0
  297. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/common/xrc_result.py +0 -0
  298. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/definitions.py +0 -0
  299. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/__init__.py +0 -0
  300. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/__main__.py +0 -0
  301. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/baton_handler.py +0 -0
  302. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
  303. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  304. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  305. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  306. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  307. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  308. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  309. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  310. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  311. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  312. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  313. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  314. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
  315. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  316. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  317. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +0 -0
  318. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/alerting/__init__.py +0 -0
  319. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
  320. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  321. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
  322. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
  323. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/__init__.py +0 -0
  324. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
  325. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  326. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +0 -0
  327. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  328. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  329. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  330. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  331. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  332. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  333. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  334. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
  335. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
  336. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  337. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  338. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/plan_runner.py +0 -0
  339. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/plan_runner_api.py +0 -0
  340. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  341. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/runner.py +0 -0
  342. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  343. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  344. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
  345. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky/phase1_zebra/device_setup_plans/__init__.py +0 -0
  346. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  347. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  348. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  349. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/start_jupyter.sh +0 -0
  350. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/__init__.py +0 -0
  351. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/conftest.py +0 -0
  352. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/__init__.py +0 -0
  353. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/common/device_setup_plans/__init__.py +0 -0
  354. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  355. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/__init__.py +0 -0
  356. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  357. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/alerting/__init__.py +0 -0
  358. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
  359. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  360. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  361. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/conftest.py +0 -0
  362. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  363. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +0 -0
  364. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  365. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +0 -0
  366. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +0 -0
  367. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  368. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
  369. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/system_tests/hyperion/test_main_udc.py +0 -0
  370. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  371. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/agamemnon/example_native.json +0 -0
  372. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/agamemnon/example_wait.json +0 -0
  373. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  374. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/README.md +0 -0
  375. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  376. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  377. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  378. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  379. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  380. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  381. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  382. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  383. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  384. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  385. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  386. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  387. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
  388. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
  389. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  390. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  391. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  392. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  393. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  394. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  395. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  396. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  397. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  398. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  399. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/scratch/README +0 -0
  400. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_OAVCentring.json +0 -0
  401. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  402. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  403. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_beamline_parameters.txt +0 -0
  404. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  405. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_config.cfg +0 -0
  406. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  407. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  408. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  409. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  410. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  411. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  412. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  413. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_det_dist_converter.txt +0 -0
  414. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_display.configuration +0 -0
  415. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_domain_properties +0 -0
  416. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
  417. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_domain_properties_with_panda +0 -0
  418. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  419. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  420. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  421. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  422. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  423. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  424. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  425. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  426. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  427. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  428. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  429. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_lookup_table.txt +0 -0
  430. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/test_mirror_focus.json +0 -0
  431. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  432. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/__init__.py +0 -0
  433. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/__init__.py +0 -0
  434. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/aithre_lasershaping/__init__.py +0 -0
  435. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
  436. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
  437. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
  438. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/__init__.py +0 -0
  439. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/callbacks/__init__.py +0 -0
  440. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  441. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
  442. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i04/test_thawing.py +0 -0
  443. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i23/__init__.py +0 -0
  444. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
  445. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/__init__.py +0 -0
  446. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/__init__.py +0 -0
  447. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
  448. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/__init__.py +0 -0
  449. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  450. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  451. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial/parameters → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  452. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  453. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  454. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  455. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  456. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  457. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
  458. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  459. {mx_bluesky-1.5.9/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial/parameters}/__init__.py +0 -0
  460. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  461. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  462. {mx_bluesky-1.5.9/tests/unit_tests/common → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  463. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  464. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  465. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  466. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  467. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  468. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  469. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  470. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  471. {mx_bluesky-1.5.9/tests/unit_tests/common/device_setup_plans → mx_bluesky-1.5.10/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  472. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
  473. {mx_bluesky-1.5.9/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.10/tests/unit_tests/common}/__init__.py +0 -0
  474. {mx_bluesky-1.5.9/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.5.10/tests/unit_tests/common/device_setup_plans}/__init__.py +0 -0
  475. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  476. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  477. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/device_setup_plans/test_setup_zebra_and_shutter.py +0 -0
  478. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
  479. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.10/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
  480. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.10/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
  481. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
  482. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +0 -0
  483. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
  484. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  485. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
  486. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/alerting/alerting → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  487. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/alerting}/__init__.py +0 -0
  488. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
  489. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
  490. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  491. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  492. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  493. {mx_bluesky-1.5.9/tests/unit_tests/common/external_interaction/nexus → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  494. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  495. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  496. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  497. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  498. {mx_bluesky-1.5.9/tests/unit_tests/common/parameters → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
  499. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  500. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  501. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  502. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  503. {mx_bluesky-1.5.9/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.10/tests/unit_tests/common/external_interaction/nexus}/__init__.py +0 -0
  504. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  505. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
  506. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  507. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  508. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +0 -0
  509. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  510. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  511. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
  512. {mx_bluesky-1.5.9/tests/unit_tests/common/utils → mx_bluesky-1.5.10/tests/unit_tests/common/parameters}/__init__.py +0 -0
  513. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/parameters/test_components.py +0 -0
  514. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/parameters/test_constants.py +0 -0
  515. {mx_bluesky-1.5.9/tests/unit_tests/hyperion → mx_bluesky-1.5.10/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
  516. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  517. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.10/tests/unit_tests/common/utils}/__init__.py +0 -0
  518. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/common/utils/test_log.py +0 -0
  519. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.10/tests/unit_tests/hyperion}/__init__.py +0 -0
  520. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/conftest.py +0 -0
  521. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/experiment_plans/common → mx_bluesky-1.5.10/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  522. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  523. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  524. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  525. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  526. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  527. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  528. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.10/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
  529. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.10/tests/unit_tests/hyperion/experiment_plans/common}/__init__.py +0 -0
  530. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  531. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
  532. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  533. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  534. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  535. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
  536. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
  537. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
  538. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  539. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load → mx_bluesky-1.5.10/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
  540. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.10/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  541. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  542. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.10/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load}/__init__.py +0 -0
  543. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  544. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.10/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  545. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  546. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
  547. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  548. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  549. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  550. {mx_bluesky-1.5.9/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.10/tests/unit_tests/hyperion/external_interaction/nexus}/__init__.py +0 -0
  551. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  552. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  553. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  554. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  555. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  556. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  557. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  558. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
  559. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  560. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_plan_runner_api.py +0 -0
  561. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_runner.py +0 -0
  562. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/test_utils.py +0 -0
  563. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  564. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/t01.py +0 -0
  565. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/tests/unit_tests/test_cli.py +0 -0
  566. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/build_docker_image.sh +0 -0
  567. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/build_imginfo.sh +0 -0
  568. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/deploy/create_venv.py +0 -0
  569. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  570. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  571. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
  572. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/deploy/test_deploy.py +0 -0
  573. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/dev_jaeger_container.sh +0 -0
  574. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/dls_dev_env.sh +0 -0
  575. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/docker/entrypoint.sh +0 -0
  576. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/docker/healthcheck.sh +0 -0
  577. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/docker/i03-compose.yml +0 -0
  578. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/generate_plantuml.py +0 -0
  579. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/graylog/Dockerfile +0 -0
  580. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/graylog/tcp_input.json +0 -0
  581. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/procserv_ioc_start.sh +0 -0
  582. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/request_baton.sh +0 -0
  583. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/run_imginfo.sh +0 -0
  584. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/setup_graylog.sh +0 -0
  585. {mx_bluesky-1.5.9 → mx_bluesky-1.5.10}/utility_scripts/strip_metafile.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.9
3
+ Version: 1.5.10
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
@@ -237,11 +237,11 @@ Requires-Dist: deepdiff
237
237
  Requires-Dist: matplotlib
238
238
  Requires-Dist: cachetools
239
239
  Requires-Dist: daq-config-server>=v1.0.0-rc.2
240
- Requires-Dist: blueapi>=0.15.0
240
+ Requires-Dist: blueapi>=1.5.0
241
241
  Requires-Dist: ophyd>=1.10.5
242
242
  Requires-Dist: ophyd-async>=0.10.0a2
243
- Requires-Dist: bluesky>=1.13.1
244
- Requires-Dist: dls-dodal==1.62.0
243
+ Requires-Dist: bluesky>=1.14.6
244
+ Requires-Dist: dls-dodal==1.63.0
245
245
  Provides-Extra: dev
246
246
  Requires-Dist: black; extra == "dev"
247
247
  Requires-Dist: build; extra == "dev"
@@ -44,11 +44,11 @@ dependencies = [
44
44
  # as by default pip-install will not upgrade to a pre-release.
45
45
  #
46
46
  "daq-config-server>=v1.0.0-rc.2",
47
- "blueapi >= 0.15.0",
47
+ "blueapi >= 1.5.0",
48
48
  "ophyd >= 1.10.5",
49
49
  "ophyd-async >= 0.10.0a2",
50
- "bluesky >= 1.13.1",
51
- "dls-dodal == 1.62.0",
50
+ "bluesky >= 1.14.6",
51
+ "dls-dodal == 1.63.0",
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.9'
32
- __version_tuple__ = version_tuple = (1, 5, 9)
31
+ __version__ = version = '1.5.10'
32
+ __version_tuple__ = version_tuple = (1, 5, 10)
33
33
 
34
- __commit_id__ = commit_id = 'g65ec4a831'
34
+ __commit_id__ = commit_id = 'g3d41045cd'
@@ -9,7 +9,7 @@ from dodal.common import inject
9
9
  from dodal.devices.aperturescatterguard import ApertureScatterguard, ApertureValue
10
10
  from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
11
11
  from dodal.devices.backlight import Backlight
12
- from dodal.devices.common_dcm import BaseDCM
12
+ from dodal.devices.common_dcm import DoubleCrystalMonochromator
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 (
@@ -97,7 +97,7 @@ def i04_grid_detect_then_xray_centre(
97
97
  attenuator: BinaryFilterAttenuator = inject("attenuator"),
98
98
  backlight: Backlight = inject("backlight"),
99
99
  beamstop: Beamstop = inject("beamstop"),
100
- dcm: BaseDCM = inject("dcm"),
100
+ dcm: DoubleCrystalMonochromator = inject("dcm"),
101
101
  zebra_fast_grid_scan: ZebraFastGridScanThreeD = inject("zebra_fast_grid_scan"),
102
102
  flux: Flux = inject("flux"),
103
103
  oav: OAV = inject("oav"),
@@ -0,0 +1,78 @@
1
+ import bluesky.preprocessors as bpp
2
+ from bluesky import plan_stubs as bps
3
+ from bluesky.utils import MsgGenerator
4
+ from dodal.common import inject
5
+ from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
6
+ from ophyd_async.core import WatchableAsyncStatus
7
+ from ophyd_async.fastcs.jungfrau import (
8
+ AcquisitionType,
9
+ GainMode,
10
+ create_jungfrau_pedestal_triggering_info,
11
+ )
12
+ from pydantic import PositiveInt
13
+
14
+ from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_stubs.plan_utils import (
15
+ fly_jungfrau,
16
+ override_file_path,
17
+ )
18
+ from mx_bluesky.common.utils.log import LOGGER
19
+
20
+ PEDESTAL_DARKS_RUN = "PEDESTAL DARKS RUN"
21
+
22
+
23
+ def do_pedestal_darks(
24
+ exp_time_s: float = 0.001,
25
+ pedestal_frames: PositiveInt = 20,
26
+ pedestal_loops: PositiveInt = 200,
27
+ jungfrau: CommissioningJungfrau = inject("jungfrau"),
28
+ path_of_output_file: str | None = None,
29
+ ) -> MsgGenerator[WatchableAsyncStatus]:
30
+ """Acquire darks in pedestal mode, using dynamic gain mode. This calibrates the offsets
31
+ for the jungfrau, and must be performed before acquiring real data in dynamic gain mode.
32
+
33
+ When Bluesky triggers the detector in pedestal mode, with pedestal frames F and pedestal loops L,
34
+ the acquisition is managed at the driver level to:
35
+ 1. Acquire F-1 frames in dynamic gain mode
36
+ 2. Acquire 1 frame in ForceSwitchG1 gain mode
37
+ 3. Repeat steps 1-2 L times
38
+ 4. Do the first three steps a second time, except use ForceSwitchG2 instead of ForceSwitchG1
39
+ during step 2.
40
+
41
+ Args:
42
+ exp_time_s: Length of detector exposure for each frame.
43
+ pedestal_frames: Number of frames acquired per pedestal loop.
44
+ pedestal_loops: Number of times to acquire a set of pedestal_frames
45
+ jungfrau: Jungfrau device
46
+ path_of_output_file: Absolute path of the detector file output, including file name. If None, then use the PathProvider
47
+ set during Jungfrau device instantiation
48
+ """
49
+
50
+ @bpp.set_run_key_decorator(PEDESTAL_DARKS_RUN)
51
+ @bpp.run_decorator(md={"subplan_name": PEDESTAL_DARKS_RUN})
52
+ @bpp.stage_decorator([jungfrau])
53
+ def _do_decorated_plan():
54
+ if path_of_output_file:
55
+ override_file_path(jungfrau, path_of_output_file)
56
+
57
+ trigger_info = create_jungfrau_pedestal_triggering_info(
58
+ exp_time_s, pedestal_frames, pedestal_loops
59
+ )
60
+ LOGGER.info(
61
+ "Jungfrau will be triggered in pedestal mode and in dynamic gain mode"
62
+ )
63
+ yield from bps.mv(
64
+ jungfrau.drv.acquisition_type,
65
+ AcquisitionType.PEDESTAL,
66
+ jungfrau.drv.gain_mode,
67
+ GainMode.DYNAMIC,
68
+ )
69
+ return (
70
+ yield from fly_jungfrau(
71
+ jungfrau,
72
+ trigger_info,
73
+ wait=True,
74
+ log_on_percentage_prefix="Jungfrau pedestal dynamic gain mode darks triggers recieved",
75
+ )
76
+ )
77
+
78
+ return (yield from _do_decorated_plan())
@@ -0,0 +1 @@
1
+ """Jungfrau plan stubs should be used as part of Jungfrau experiment plans, and should not be run in isolation."""
@@ -9,7 +9,7 @@ from ophyd_async.fastcs.jungfrau import (
9
9
  )
10
10
  from pydantic import PositiveInt
11
11
 
12
- from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_utils import (
12
+ from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_stubs.plan_utils import (
13
13
  fly_jungfrau,
14
14
  override_file_path,
15
15
  )
@@ -18,14 +18,15 @@ from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_utils import (
18
18
  def do_external_acquisition(
19
19
  exp_time_s: float,
20
20
  total_triggers: PositiveInt = 1,
21
- output_file_name: str | None = None,
21
+ output_file_path: str | None = None,
22
22
  wait: bool = False,
23
23
  jungfrau: CommissioningJungfrau = inject("commissioning_jungfrau"),
24
24
  ) -> MsgGenerator[WatchableAsyncStatus]:
25
25
  """
26
26
  Kickoff external triggering on the Jungfrau, and optionally wait for completion.
27
27
 
28
- Must be used within an open Bluesky run.
28
+ Any plan using this stub MUST stage the Jungfrau with the stage_decorator and open a run,
29
+ ideally using the run_decorator.
29
30
 
30
31
  Args:
31
32
  exp_time_s: Length of detector exposure for each frame.
@@ -36,9 +37,9 @@ def do_external_acquisition(
36
37
  wait: Optionally block until data collection is complete.
37
38
  """
38
39
 
39
- if output_file_name:
40
- override_file_path(jungfrau, output_file_name)
40
+ if output_file_path:
41
+ override_file_path(jungfrau, output_file_path)
41
42
 
42
43
  trigger_info = create_jungfrau_external_triggering_info(total_triggers, exp_time_s)
43
- status = yield from fly_jungfrau(jungfrau, trigger_info, wait)
44
+ status = yield from fly_jungfrau(jungfrau, trigger_info, wait=wait)
44
45
  return status
@@ -9,7 +9,7 @@ from ophyd_async.fastcs.jungfrau import (
9
9
  )
10
10
  from pydantic import PositiveInt
11
11
 
12
- from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_utils import (
12
+ from mx_bluesky.beamlines.i24.jungfrau_commissioning.plan_stubs.plan_utils import (
13
13
  fly_jungfrau,
14
14
  override_file_path,
15
15
  )
@@ -26,7 +26,8 @@ def do_internal_acquisition(
26
26
  Kickoff internal triggering on the Jungfrau, and optionally wait for completion. Frames
27
27
  per trigger will trigger as rapidly as possible according to the Jungfrau deadtime.
28
28
 
29
- Must be used within an open Bluesky run.
29
+ Any plan using this stub MUST stage the Jungfrau with the stage_decorator and open a run,
30
+ ideally using the run_decorator.
30
31
 
31
32
  Args:
32
33
  exp_time_s: Length of detector exposure for each frame.
@@ -42,5 +43,5 @@ def do_internal_acquisition(
42
43
  override_file_path(jungfrau, path_of_output_file)
43
44
 
44
45
  trigger_info = create_jungfrau_internal_triggering_info(total_frames, exp_time_s)
45
- status = yield from fly_jungfrau(jungfrau, trigger_info, wait)
46
+ status = yield from fly_jungfrau(jungfrau, trigger_info, wait=wait)
46
47
  return status
@@ -2,7 +2,6 @@ from pathlib import PurePath
2
2
  from typing import cast
3
3
 
4
4
  import bluesky.plan_stubs as bps
5
- import bluesky.preprocessors as bpp
6
5
  from bluesky.utils import MsgGenerator
7
6
  from dodal.common.watcher_utils import log_on_percentage_complete
8
7
  from dodal.devices.i24.commissioning_jungfrau import CommissioningJungfrau
@@ -19,44 +18,38 @@ JF_COMPLETE_GROUP = "JF complete"
19
18
 
20
19
 
21
20
  def fly_jungfrau(
22
- jungfrau: CommissioningJungfrau, trigger_info: TriggerInfo, wait: bool = False
21
+ jungfrau: CommissioningJungfrau,
22
+ trigger_info: TriggerInfo,
23
+ wait: bool = False,
24
+ log_on_percentage_prefix="Jungfrau data collection triggers recieved",
23
25
  ) -> MsgGenerator[WatchableAsyncStatus]:
24
26
  """Stage, prepare, and kickoff Jungfrau with a configured TriggerInfo. Optionally wait
25
27
  for completion.
26
28
 
27
- Note that this plan doesn't include unstaging of the Jungfrau, and a run must be open
28
- before this plan is called.
29
+ Any plan using this stub MUST stage the Jungfrau with the stage_decorator and open a run,
30
+ ideally using the run_decorator.
29
31
 
30
32
  Args:
31
33
  jungfrau: Jungfrau device.
32
- trigger_info: TriggerInfo which should be acquired using jungfrau util functions create_jungfrau_internal_triggering_info
33
- or create_jungfrau_external_triggering_info.
34
+ trigger_info: TriggerInfo which should be acquired using jungfrau util functions.
34
35
  wait: Optionally block until data collection is complete.
36
+ log_on_percentage_prefix: String that will be appended to the "percentage completion" logging message.
35
37
  """
36
38
 
37
- @bpp.contingency_decorator(
38
- except_plan=lambda _: (yield from bps.unstage(jungfrau, wait=True))
39
- )
40
- def _fly_with_unstage_contingency():
41
- yield from bps.stage(jungfrau)
42
- LOGGER.info("Setting up detector...")
43
- yield from bps.prepare(jungfrau, trigger_info, wait=True)
44
- LOGGER.info("Detector prepared. Starting acquisition")
45
- yield from bps.kickoff(jungfrau, wait=True)
46
- LOGGER.info("Waiting for acquisition to complete...")
47
- status = yield from bps.complete(jungfrau, group=JF_COMPLETE_GROUP)
48
-
49
- # StandardDetector.complete converts regular status to watchable status,
50
- # but bluesky plan stubs can't see this currently
51
- status = cast(WatchableAsyncStatus, status)
52
- log_on_percentage_complete(
53
- status, "Jungfrau data collection triggers recieved", 10
54
- )
55
- if wait:
56
- yield from bps.wait(JF_COMPLETE_GROUP)
57
- return status
39
+ LOGGER.info("Preparing detector...")
40
+ yield from bps.prepare(jungfrau, trigger_info, wait=True)
41
+ LOGGER.info("Detector prepared. Starting acquisition")
42
+ yield from bps.kickoff(jungfrau, wait=True)
43
+ LOGGER.info("Waiting for acquisition to complete...")
44
+ status = yield from bps.complete(jungfrau, group=JF_COMPLETE_GROUP)
58
45
 
59
- return (yield from _fly_with_unstage_contingency())
46
+ # StandardDetector.complete converts regular status to watchable status,
47
+ # but bluesky plan stubs can't see this currently
48
+ status = cast(WatchableAsyncStatus, status)
49
+ log_on_percentage_complete(status, log_on_percentage_prefix, 10)
50
+ if wait:
51
+ yield from bps.wait(JF_COMPLETE_GROUP)
52
+ return status
60
53
 
61
54
 
62
55
  def override_file_path(jungfrau: CommissioningJungfrau, path_of_output_file: str):
@@ -7,7 +7,7 @@ from dodal.devices.aperturescatterguard import ApertureScatterguard, ApertureVal
7
7
  from dodal.devices.motors import XYZStage
8
8
  from dodal.devices.robot import BartRobot
9
9
  from dodal.devices.smargon import CombinedMove, Smargon, StubPosition
10
- from dodal.plan_stubs.motor_utils import MoveTooLarge, home_and_reset_wrapper
10
+ from dodal.plan_stubs.motor_utils import MoveTooLargeError, home_and_reset_wrapper
11
11
 
12
12
  from mx_bluesky.common.parameters.constants import (
13
13
  DocDescriptorNames,
@@ -39,7 +39,7 @@ def wait_for_smargon_not_disabled(smargon: Smargon, timeout=60):
39
39
 
40
40
  def _raise_exception_if_moved_out_of_cryojet(exception):
41
41
  yield from bps.null()
42
- if isinstance(exception, MoveTooLarge):
42
+ if isinstance(exception, MoveTooLargeError):
43
43
  raise Exception(
44
44
  f"Moving {exception.axis} back to {exception.position} after \
45
45
  robot load would move it out of the cryojet. The max safe \
@@ -1,7 +1,7 @@
1
1
  from functools import partial
2
2
 
3
3
  import bluesky.plan_stubs as bps
4
- from dodal.devices.areadetector.plugins.CAM import ColorMode
4
+ from dodal.devices.areadetector.plugins.cam import ColorMode
5
5
  from dodal.devices.oav.oav_detector import OAV
6
6
  from dodal.devices.oav.oav_parameters import OAVParameters
7
7
  from dodal.devices.oav.pin_image_recognition import PinTipDetection
@@ -16,7 +16,7 @@ def unpause_xbpm_feedback_and_set_transmission_to_1(
16
16
  the beam in position
17
17
  attenuator (BinaryFilterAttenuator): The attenuator used to set transmission
18
18
  """
19
- yield from bps.mv(xbpm_feedback.pause_feedback, Pause.RUN, attenuator, 1.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
19
+ yield from bps.mv(xbpm_feedback.pause_feedback, Pause.RUN, attenuator, 1.0)
20
20
 
21
21
 
22
22
  def check_and_pause_feedback(
@@ -35,11 +35,11 @@ def check_and_pause_feedback(
35
35
  turning XBPM feedback off.
36
36
 
37
37
  """
38
- yield from bps.mv(attenuator, 1.0) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
38
+ yield from bps.mv(attenuator, 1.0)
39
39
  LOGGER.info("Waiting for XBPM feedback to be stable")
40
40
  yield from bps.trigger(xbpm_feedback, wait=True)
41
41
  LOGGER.info(
42
42
  f"XPBM feedback in position, pausing and setting transmission to {desired_transmission_fraction}"
43
43
  )
44
- yield from bps.mv(xbpm_feedback.pause_feedback, Pause.PAUSE) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
45
- yield from bps.mv(attenuator, desired_transmission_fraction) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
44
+ yield from bps.mv(xbpm_feedback.pause_feedback, Pause.PAUSE)
45
+ yield from bps.mv(attenuator, desired_transmission_fraction)
@@ -13,7 +13,7 @@ from dodal.common.beamlines.commissioning_mode import read_commissioning_mode
13
13
  from dodal.devices.fast_grid_scan import (
14
14
  FastGridScanCommon,
15
15
  FastGridScanThreeD,
16
- GridScanInvalidException,
16
+ GridScanInvalidError,
17
17
  )
18
18
  from dodal.devices.zocalo import ZocaloResults
19
19
  from dodal.devices.zocalo.zocalo_results import (
@@ -275,14 +275,14 @@ def run_gridscan(
275
275
  try:
276
276
  yield from beamline_specific.set_flyscan_params_plan()
277
277
  except FailedStatus as e:
278
- if isinstance(e.__cause__, GridScanInvalidException):
278
+ if isinstance(e.__cause__, GridScanInvalidError):
279
279
  raise SampleException(
280
280
  "Scan invalid - gridscan not valid for detected pin position"
281
281
  ) from e
282
282
 
283
283
  LOGGER.info("Waiting for arming to finish")
284
284
  yield from bps.wait(PlanGroupCheckpointConstants.GRID_READY_FOR_DC)
285
- yield from bps.stage(fgs_composite.eiger) # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
285
+ yield from bps.stage(fgs_composite.eiger, wait=True)
286
286
 
287
287
  yield from kickoff_and_complete_gridscan(
288
288
  beamline_specific.fgs_motors,
@@ -103,7 +103,7 @@ def kickoff_and_complete_gridscan(
103
103
  )
104
104
  @bpp.contingency_decorator(
105
105
  except_plan=lambda e: (yield from bps.stop(detector)), # type: ignore # Fix types in ophyd-async (https://github.com/DiamondLightSource/mx-bluesky/issues/855)
106
- else_plan=lambda: (yield from bps.unstage(detector)),
106
+ else_plan=lambda: (yield from bps.unstage(detector, wait=True)),
107
107
  )
108
108
  def _decorated_do_fgs():
109
109
  yield from _wait_for_zocalo_to_stage_then_do_fgs(
@@ -4,7 +4,7 @@ import bluesky.plan_stubs as bps
4
4
  from bluesky.protocols import Readable
5
5
  from dodal.devices.aperturescatterguard import ApertureScatterguard
6
6
  from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
7
- from dodal.devices.common_dcm import BaseDCM
7
+ from dodal.devices.common_dcm import DoubleCrystalMonochromator
8
8
  from dodal.devices.eiger import EigerDetector
9
9
  from dodal.devices.flux import Flux
10
10
  from dodal.devices.s4_slit_gaps import S4SlitGaps
@@ -43,7 +43,7 @@ def standard_read_hardware_pre_collection(
43
43
  undulator: Undulator,
44
44
  synchrotron: Synchrotron,
45
45
  s4_slit_gaps: S4SlitGaps,
46
- dcm: BaseDCM,
46
+ dcm: DoubleCrystalMonochromator,
47
47
  smargon: Smargon,
48
48
  ):
49
49
  LOGGER.info("Reading status of beamline for callbacks, pre collection.")
@@ -63,7 +63,7 @@ def standard_read_hardware_during_collection(
63
63
  aperture_scatterguard: ApertureScatterguard,
64
64
  attenuator: BinaryFilterAttenuator,
65
65
  flux: Flux,
66
- dcm: BaseDCM,
66
+ dcm: DoubleCrystalMonochromator,
67
67
  detector: EigerDetector,
68
68
  ):
69
69
  signals_to_read_during_collection = [
@@ -10,7 +10,7 @@ from bluesky.utils import MsgGenerator
10
10
  from dodal.devices.oav.oav_detector import OAV
11
11
  from dodal.devices.oav.pin_image_recognition import PinTipDetection
12
12
  from dodal.devices.oav.pin_image_recognition.utils import NONE_VALUE
13
- from dodal.devices.oav.utils import PinNotFoundException, wait_for_tip_to_be_found
13
+ from dodal.devices.oav.utils import PinNotFoundError, wait_for_tip_to_be_found
14
14
  from dodal.devices.smargon import Smargon
15
15
 
16
16
  from mx_bluesky.common.device_setup_plans.setup_oav import (
@@ -108,7 +108,7 @@ def grid_detection_plan(
108
108
  yield from bps.sleep(HardwareConstants.OAV_REFRESH_DELAY)
109
109
 
110
110
  tip_x_px, tip_y_px = yield from catch_exception_and_warn(
111
- PinNotFoundException, wait_for_tip_to_be_found, pin_tip_detection
111
+ PinNotFoundError, wait_for_tip_to_be_found, pin_tip_detection
112
112
  )
113
113
 
114
114
  LOGGER.info(f"Tip is at x,y: {tip_x_px},{tip_y_px}")
@@ -4,7 +4,7 @@ from dodal.devices.aperturescatterguard import (
4
4
  )
5
5
  from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
6
6
  from dodal.devices.backlight import Backlight
7
- from dodal.devices.common_dcm import BaseDCM
7
+ from dodal.devices.common_dcm import DoubleCrystalMonochromator
8
8
  from dodal.devices.detector.detector_motion import DetectorMotion
9
9
  from dodal.devices.eiger import EigerDetector
10
10
  from dodal.devices.fast_grid_scan import (
@@ -51,7 +51,7 @@ class GridDetectThenXRayCentreComposite(FlyScanEssentialDevices):
51
51
  attenuator: BinaryFilterAttenuator
52
52
  backlight: Backlight
53
53
  beamstop: Beamstop
54
- dcm: BaseDCM
54
+ dcm: DoubleCrystalMonochromator
55
55
  detector_motion: DetectorMotion
56
56
  zebra_fast_grid_scan: ZebraFastGridScanThreeD
57
57
  flux: Flux
@@ -112,8 +112,8 @@ def _panda_tidy(xrc_composite: HyperionFlyScanXRayCentreComposite):
112
112
  yield from tidy_up_zebra_after_gridscan(
113
113
  xrc_composite.zebra, xrc_composite.sample_shutter, group=group, wait=False
114
114
  )
115
+ yield from bps.unstage(xrc_composite.panda, group=group)
115
116
  yield from bps.wait(group, timeout=10)
116
- yield from bps.unstage(xrc_composite.panda)
117
117
 
118
118
 
119
119
  def _panda_triggering_setup(
@@ -126,10 +126,9 @@ def _panda_triggering_setup(
126
126
  xrc_composite.panda_fast_grid_scan.run_up_distance_mm
127
127
  )
128
128
 
129
- # Set the time between x steps pv
130
- DEADTIME_S = 1e-6 # according to https://www.dectris.com/en/detectors/x-ray-detectors/eiger2/eiger2-for-synchrotrons/eiger2-x/
129
+ DETECTOR_DEADTIME_S = 1e-4 # This value was empirically found to be safer than the documented deadtime in the Eiger manual
131
130
 
132
- time_between_x_steps_ms = (DEADTIME_S + parameters.exposure_time_s) * 1e3
131
+ time_between_x_steps_ms = (DETECTOR_DEADTIME_S + parameters.exposure_time_s) * 1e3
133
132
 
134
133
  smargon_speed_limit_mm_per_s = yield from bps.rd(
135
134
  xrc_composite.smargon.x.max_velocity
@@ -148,13 +147,13 @@ def _panda_triggering_setup(
148
147
  )
149
148
  else:
150
149
  LOGGER.info(
151
- f"Panda grid scan: Smargon speed set to {smargon_speed_limit_mm_per_s} mm/s"
150
+ f"Panda grid scan: Smargon speed set to {sample_velocity_mm_per_s} mm/s"
152
151
  f" and using a run-up distance of {run_up_distance_mm}"
153
152
  )
154
153
 
155
154
  yield from bps.mv(
156
- xrc_composite.panda_fast_grid_scan.time_between_x_steps_ms, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
157
- time_between_x_steps_ms, # type: ignore # See: https://github.com/bluesky/bluesky/issues/1809
155
+ xrc_composite.panda_fast_grid_scan.time_between_x_steps_ms,
156
+ time_between_x_steps_ms,
158
157
  )
159
158
 
160
159
  directory_provider_root = Path(parameters.storage_directory)
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from collections.abc import Generator
3
+ from collections.abc import Generator, Sequence
4
4
 
5
5
  import bluesky.plan_stubs as bps
6
6
  import numpy as np
@@ -99,41 +99,12 @@ def load_centre_collect_full(
99
99
  else:
100
100
  raise
101
101
 
102
- locations_to_collect_um: list[np.ndarray]
103
- samples_to_collect: list[int]
104
-
105
- if flyscan_event_handler.xray_centre_results:
106
- selection_func = flyscan_result.resolve_selection_fn(
107
- parameters.selection_params
108
- )
109
- hits = selection_func(flyscan_event_handler.xray_centre_results)
110
- hits_to_collect = []
111
- for hit in hits:
112
- if hit.sample_id is None:
113
- LOGGER.warning(
114
- f"Diffracting centre {hit} not collected because no sample id was assigned."
115
- )
116
- else:
117
- hits_to_collect.append(hit)
118
-
119
- locations_to_collect_um = [
120
- hit.centre_of_mass_mm * 1000 for hit in hits_to_collect
121
- ]
122
- samples_to_collect = [hit.sample_id for hit in hits_to_collect]
123
- LOGGER.info(
124
- f"Selected hits {hits_to_collect} using {selection_func}, args={parameters.selection_params}"
102
+ sample_ids_and_locations = yield from (
103
+ _samples_and_locations_to_collect(
104
+ flyscan_event_handler.xray_centre_results, parameters, composite
125
105
  )
126
- else:
127
- # If the xray centring hasn't found a result but has not thrown an error it
128
- # means that we do not need to recentre and can collect where we are
129
- initial_x_mm = yield from bps.rd(composite.smargon.x.user_readback)
130
- initial_y_mm = yield from bps.rd(composite.smargon.y.user_readback)
131
- initial_z_mm = yield from bps.rd(composite.smargon.z.user_readback)
132
-
133
- locations_to_collect_um = [
134
- np.array([initial_x_mm, initial_y_mm, initial_z_mm]) * 1000
135
- ]
136
- samples_to_collect = [parameters.sample_id]
106
+ )
107
+ sample_ids_and_locations.sort(key=_x_coordinate)
137
108
 
138
109
  multi_rotation = parameters.multi_rotation_scan
139
110
  rotation_template = multi_rotation.rotation_scans.copy()
@@ -144,9 +115,7 @@ def load_centre_collect_full(
144
115
 
145
116
  generator = rotation_scan_generator(is_alternating)
146
117
  next(generator)
147
- for location, sample_id in zip(
148
- locations_to_collect_um, samples_to_collect, strict=True
149
- ):
118
+ for sample_id, location in sample_ids_and_locations:
150
119
  for rot in rotation_template:
151
120
  combination = generator.send((rot, location, sample_id))
152
121
  multi_rotation.rotation_scans.append(combination)
@@ -161,6 +130,51 @@ def load_centre_collect_full(
161
130
  yield from plan_with_callback_subs()
162
131
 
163
132
 
133
+ def _samples_and_locations_to_collect(
134
+ xrc_results: Sequence[flyscan_result.XRayCentreResult] | None,
135
+ parameters: LoadCentreCollect,
136
+ composite: LoadCentreCollectComposite,
137
+ ) -> MsgGenerator[list[tuple[int, np.ndarray]]]:
138
+ if xrc_results:
139
+ selection_func = flyscan_result.resolve_selection_fn(
140
+ parameters.selection_params
141
+ )
142
+ hits = selection_func(xrc_results)
143
+ hits_to_collect = []
144
+ for hit in hits:
145
+ if hit.sample_id is None:
146
+ LOGGER.warning(
147
+ f"Diffracting centre {hit} not collected because no sample id was assigned."
148
+ )
149
+ else:
150
+ hits_to_collect.append(hit)
151
+
152
+ samples_and_locations = [
153
+ (hit.sample_id, hit.centre_of_mass_mm * 1000) for hit in hits_to_collect
154
+ ]
155
+ LOGGER.info(
156
+ f"Selected hits {hits_to_collect} using {selection_func}, args={parameters.selection_params}"
157
+ )
158
+ return samples_and_locations
159
+ else:
160
+ # If the xray centring hasn't found a result but has not thrown an error it
161
+ # means that we do not need to recentre and can collect where we are
162
+ initial_x_mm = yield from bps.rd(composite.smargon.x.user_readback)
163
+ initial_y_mm = yield from bps.rd(composite.smargon.y.user_readback)
164
+ initial_z_mm = yield from bps.rd(composite.smargon.z.user_readback)
165
+
166
+ return [
167
+ (
168
+ parameters.sample_id,
169
+ np.array([initial_x_mm, initial_y_mm, initial_z_mm]) * 1000,
170
+ )
171
+ ]
172
+
173
+
174
+ def _x_coordinate(sample_and_location: tuple[int, np.ndarray]) -> float:
175
+ return sample_and_location[1][0] # type: ignore
176
+
177
+
164
178
  def rotation_scan_generator(
165
179
  is_alternating: bool,
166
180
  ) -> Generator[
@@ -9,7 +9,7 @@ from dodal.devices.oav.oav_detector import OAV
9
9
  from dodal.devices.oav.oav_parameters import OAV_CONFIG_JSON, OAVParameters
10
10
  from dodal.devices.oav.pin_image_recognition import PinTipDetection, Tip
11
11
  from dodal.devices.oav.utils import (
12
- PinNotFoundException,
12
+ PinNotFoundError,
13
13
  Pixel,
14
14
  get_move_required_so_that_beam_is_at_pixel,
15
15
  wait_for_tip_to_be_found,
@@ -161,6 +161,6 @@ def pin_tip_centre_plan(
161
161
  # See #673 for improvements
162
162
  yield from bps.sleep(0.3)
163
163
  tip = yield from catch_exception_and_warn(
164
- PinNotFoundException, wait_for_tip_to_be_found, pin_tip_detect
164
+ PinNotFoundError, wait_for_tip_to_be_found, pin_tip_detect
165
165
  )
166
166
  yield from offset_and_move(tip)
@@ -428,7 +428,7 @@ def rotation_scan_internal(
428
428
 
429
429
  yield from rotation_scan_core(single_scan)
430
430
 
431
- yield from bps.unstage(eiger)
431
+ yield from bps.unstage(eiger, wait=True)
432
432
 
433
433
  LOGGER.info("setting up and staging eiger...")
434
434
  yield from start_preparing_data_collection_then_do_plan(
@@ -6,7 +6,7 @@ from dodal.devices.aperturescatterguard import (
6
6
  )
7
7
  from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
8
8
  from dodal.devices.backlight import Backlight
9
- from dodal.devices.common_dcm import BaseDCM
9
+ from dodal.devices.common_dcm import DoubleCrystalMonochromatorWithDSpacing
10
10
  from dodal.devices.eiger import EigerDetector
11
11
  from dodal.devices.fast_grid_scan import (
12
12
  PandAFastGridScan,
@@ -37,7 +37,7 @@ class HyperionFlyScanXRayCentreComposite(FlyScanEssentialDevices):
37
37
 
38
38
  aperture_scatterguard: ApertureScatterguard
39
39
  attenuator: BinaryFilterAttenuator
40
- dcm: BaseDCM
40
+ dcm: DoubleCrystalMonochromatorWithDSpacing
41
41
  eiger: EigerDetector
42
42
  flux: Flux
43
43
  s4_slit_gaps: S4SlitGaps