mx-bluesky 1.5.4__tar.gz → 1.5.5__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 (551) hide show
  1. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_test.yml +1 -1
  2. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/PKG-INFO +2 -2
  3. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/run-tests.rst +1 -1
  4. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/murko-integration/explanations/architecture.rst +3 -1
  5. mx_bluesky-1.5.5/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  6. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +3 -4
  7. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/alerts.rst +14 -0
  8. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/pyproject.toml +2 -2
  9. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/_version.py +3 -3
  10. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/__init__.py +6 -1
  11. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +2 -3
  12. mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i04/thawing_plan.py +248 -0
  13. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +1 -1
  14. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/dcid.py +4 -25
  15. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +4 -7
  16. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +5 -5
  17. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -107
  18. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +1 -1
  19. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +1 -4
  20. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +13 -13
  21. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +8 -8
  22. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +7 -7
  23. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -92
  24. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +2 -18
  25. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -2
  26. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +1 -6
  27. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
  28. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +15 -0
  29. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +17 -0
  30. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
  31. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +1 -2
  32. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -25
  33. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +1 -30
  34. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -94
  35. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +4 -10
  36. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +12 -20
  37. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +4 -13
  38. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +34 -9
  39. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +1 -1
  40. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
  41. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +2 -2
  42. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
  43. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/baton_handler.py +41 -4
  44. mx_bluesky-1.5.5/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +7 -0
  45. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
  46. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
  47. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/requires.txt +1 -1
  48. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/conftest.py +9 -35
  49. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +26 -0
  50. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/conftest.py +2 -7
  51. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +1 -1
  52. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_thawing.py +128 -34
  53. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i23/test_serial.py +1 -1
  54. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/conftest.py +5 -50
  55. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +11 -134
  56. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +5 -5
  57. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -87
  58. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +1 -6
  59. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -25
  60. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -11
  61. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -29
  62. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +1 -65
  63. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +49 -5
  64. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -9
  65. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +1 -1
  66. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +1 -1
  67. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +21 -10
  68. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_baton_handler.py +104 -0
  69. mx_bluesky-1.5.4/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  70. mx_bluesky-1.5.4/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -134
  71. mx_bluesky-1.5.4/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -12
  72. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.copier-answers.yml +0 -0
  73. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.coveragerc +0 -0
  74. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.devcontainer/Dockerfile +0 -0
  75. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.devcontainer/devcontainer.json +0 -0
  76. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.dockerignore +0 -0
  77. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/CODEOWNERS +0 -0
  78. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/CONTRIBUTING.md +0 -0
  79. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  80. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  81. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/install_requirements/action.yml +0 -0
  82. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/Dockerfile +0 -0
  83. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/action.yml +0 -0
  84. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  85. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/dependabot.yml +0 -0
  86. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/pages/index.html +0 -0
  87. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/pages/make_switcher.py +0 -0
  88. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_check.yml +0 -0
  89. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_container.yml +0 -0
  90. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_dist.yml +0 -0
  91. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_docs.yml +0 -0
  92. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_helm.yml +0 -0
  93. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_pypi.yml +0 -0
  94. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_release.yml +0 -0
  95. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_tox.yml +0 -0
  96. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/ci.yml +0 -0
  97. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/periodic.yml +0 -0
  98. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.gitignore +0 -0
  99. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.pre-commit-config.yaml +0 -0
  100. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/extensions.json +0 -0
  101. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/launch.json +0 -0
  102. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/mx-bluesky.code-workspace +0 -0
  103. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  104. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/settings.json +0 -0
  105. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/tasks.json +0 -0
  106. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile +0 -0
  107. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile.blueapi +0 -0
  108. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile.hyperion +0 -0
  109. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/LICENSE +0 -0
  110. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/README.rst +0 -0
  111. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/catalog-info.yaml +0 -0
  112. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/codecov.yml +0 -0
  113. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/conftest.py +0 -0
  114. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/_api.rst +0 -0
  115. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/_templates/custom-module-template.rst +0 -0
  116. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/conf.py +0 -0
  117. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  118. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
  119. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/index.rst +0 -0
  120. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
  121. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
  122. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  123. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  124. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  125. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions.rst +0 -0
  126. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/contribute.rst +0 -0
  127. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/create-a-release.rst +0 -0
  128. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  129. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  130. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  131. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  132. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  133. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/get-started.rst +0 -0
  134. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/index.rst +0 -0
  135. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/reference/standards.rst +0 -0
  136. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  137. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  138. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  139. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/index.rst +0 -0
  140. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  141. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
  142. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  143. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  144. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/readme.md +0 -0
  145. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/system-tests.rst +0 -0
  146. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/index.rst +0 -0
  147. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/murko-integration/index.rst +0 -0
  148. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  149. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  150. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  151. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  152. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  153. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  154. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  155. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  156. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/dls-favicon.ico +0 -0
  157. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/dls-logo.svg +0 -0
  158. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor coordinate systems.odg +0 -0
  159. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor-coords-omega-0.svg +0 -0
  160. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor-coords-omega-alpha.svg +0 -0
  161. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/index.rst +0 -0
  162. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/configuration.rst +0 -0
  163. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/index.rst +0 -0
  164. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/logging.rst +0 -0
  165. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/pvs.rst +0 -0
  166. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/running.rst +0 -0
  167. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/Chart.yaml +0 -0
  168. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/deployment.yaml +0 -0
  169. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/ingress.yaml +0 -0
  170. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/service.yaml +0 -0
  171. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/zocalo-config.yaml +0 -0
  172. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/values.yaml +0 -0
  173. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
  174. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
  175. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/values.yaml +0 -0
  176. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/Chart.yaml +0 -0
  177. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/templates/deployment.yaml +0 -0
  178. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/values.yaml +0 -0
  179. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/pull_request_template.md +0 -0
  180. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/run_hyperion.sh +0 -0
  181. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/run_hyperion_in_podman.sh +0 -0
  182. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/setup.cfg +0 -0
  183. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/__init__.py +0 -0
  184. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/__main__.py +0 -0
  185. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/__init__.py +0 -0
  186. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  187. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  188. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  189. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  190. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  191. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
  192. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +0 -0
  193. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  194. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  195. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  196. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  197. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  198. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  199. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  200. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  201. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  202. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  203. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  204. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  205. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  206. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  207. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  208. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  209. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  210. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  211. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  212. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  213. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  214. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  215. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  216. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  217. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  218. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  219. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  220. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
  221. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/__init__.py +0 -0
  222. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
  223. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  224. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +0 -0
  225. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
  226. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  227. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
  228. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
  229. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
  230. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
  231. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +0 -0
  232. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
  233. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
  234. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
  235. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +0 -0
  236. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
  237. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
  238. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
  239. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
  240. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
  241. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
  242. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
  243. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
  244. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
  245. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  246. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  247. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  248. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  249. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  250. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  251. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  252. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  253. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  254. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  255. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  256. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
  257. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  258. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  259. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
  260. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  261. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
  262. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  263. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  264. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/__init__.py +0 -0
  265. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/components.py +0 -0
  266. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/constants.py +0 -0
  267. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/device_composites.py +0 -0
  268. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
  269. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
  270. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  271. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/protocols/__init__.py +0 -0
  272. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  273. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/__init__.py +0 -0
  274. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/context.py +0 -0
  275. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  276. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/log.py +0 -0
  277. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/tracing.py +0 -0
  278. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/utils.py +0 -0
  279. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/xrc_result.py +0 -0
  280. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/definitions.py +0 -0
  281. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/__init__.py +0 -0
  282. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/__main__.py +0 -0
  283. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
  284. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  285. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  286. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  287. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  288. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  289. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  290. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  291. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +0 -0
  292. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  293. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
  294. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  295. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  296. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
  297. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  298. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
  299. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
  300. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  301. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  302. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +0 -0
  303. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/alerting/__init__.py +0 -0
  304. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  305. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
  306. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
  307. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
  308. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  309. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  310. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  311. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  312. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  313. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  314. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  315. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  316. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
  317. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/device_composites.py +0 -0
  318. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
  319. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  320. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  321. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  322. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/plan_runner.py +0 -0
  323. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  324. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/runner.py +0 -0
  325. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  326. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  327. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  328. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
  329. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/device_setup_plans/__init__.py +0 -0
  330. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +0 -0
  331. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/SOURCES.txt +0 -0
  332. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  333. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  334. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  335. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/start_jupyter.sh +0 -0
  336. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/__init__.py +0 -0
  337. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/__init__.py +0 -0
  338. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  339. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/conftest.py +0 -0
  340. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/__init__.py +0 -0
  341. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  342. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/alerting/__init__.py +0 -0
  343. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  344. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  345. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  346. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +0 -0
  347. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  348. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +0 -0
  349. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +0 -0
  350. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  351. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
  352. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  353. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_native.json +0 -0
  354. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_wait.json +0 -0
  355. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  356. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/README.md +0 -0
  357. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  358. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  359. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  360. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  361. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  362. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  363. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  364. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  365. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  366. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  367. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  368. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  369. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
  370. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
  371. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  372. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  373. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  374. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  375. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  376. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  377. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  378. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  379. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  380. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  381. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/scratch/README +0 -0
  382. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_OAVCentring.json +0 -0
  383. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  384. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  385. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_parameters.txt +0 -0
  386. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  387. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_config.cfg +0 -0
  388. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  389. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  390. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  391. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  392. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  393. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  394. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  395. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_det_dist_converter.txt +0 -0
  396. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_display.configuration +0 -0
  397. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties +0 -0
  398. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
  399. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties_with_panda +0 -0
  400. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  401. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  402. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  403. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  404. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  405. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  406. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  407. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  408. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  409. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  410. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  411. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_lookup_table.txt +0 -0
  412. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_mirror_focus.json +0 -0
  413. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  414. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/__init__.py +0 -0
  415. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/__init__.py +0 -0
  416. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
  417. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
  418. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  419. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +0 -0
  420. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
  421. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/__init__.py +0 -0
  422. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
  423. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
  424. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  425. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  426. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  427. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  428. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  429. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  430. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  431. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  432. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  433. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/web_gui/__init__.py +0 -0
  434. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/__init__.py +0 -0
  435. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
  436. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  437. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
  438. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/__init__.py +0 -0
  439. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/__init__.py +0 -0
  440. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +0 -0
  441. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
  442. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
  443. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  444. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +0 -0
  445. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
  446. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
  447. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
  448. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/__init__.py +0 -0
  449. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/__init__.py +0 -0
  450. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/alerting/__init__.py +0 -0
  451. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
  452. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/__init__.py +0 -0
  453. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/__init__.py +0 -0
  454. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  455. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
  456. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/__init__.py +0 -0
  457. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  458. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  459. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  460. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  461. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  462. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  463. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  464. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  465. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  466. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
  467. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  468. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  469. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  470. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  471. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
  472. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/__init__.py +0 -0
  473. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/test_components.py +0 -0
  474. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/test_constants.py +0 -0
  475. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/preprocessors/__init__.py +0 -0
  476. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  477. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/utils/__init__.py +0 -0
  478. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/utils/test_log.py +0 -0
  479. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/conftest.py +0 -0
  480. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/__init__.py +0 -0
  481. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/conftest.py +0 -0
  482. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
  483. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  484. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  485. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  486. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  487. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  488. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  489. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  490. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  491. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
  492. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  493. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +0 -0
  494. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
  495. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -0
  496. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  497. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
  498. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
  499. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
  500. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +0 -0
  501. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  502. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  503. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  504. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  505. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  506. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  507. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  508. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
  509. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  510. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  511. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  512. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  513. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  514. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  515. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  516. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  517. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  518. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  519. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  520. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  521. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
  522. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  523. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_main_system.py +0 -0
  524. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_runner.py +0 -0
  525. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_utils.py +0 -0
  526. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  527. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  528. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  529. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/t01.py +0 -0
  530. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/test_cli.py +0 -0
  531. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/beam_off_trickery.sh +0 -0
  532. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/build_docker_image.sh +0 -0
  533. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/build_imginfo.sh +0 -0
  534. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/create_venv.py +0 -0
  535. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  536. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  537. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
  538. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/test_deploy.py +0 -0
  539. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/dev_jaeger_container.sh +0 -0
  540. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/dls_dev_env.sh +0 -0
  541. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/entrypoint.sh +0 -0
  542. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/healthcheck.sh +0 -0
  543. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/i03-compose.yml +0 -0
  544. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/generate_plantuml.py +0 -0
  545. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/graylog/Dockerfile +0 -0
  546. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/graylog/tcp_input.json +0 -0
  547. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/procserv_ioc_start.sh +0 -0
  548. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/request_baton.sh +0 -0
  549. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/run_imginfo.sh +0 -0
  550. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/setup_graylog.sh +0 -0
  551. {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/strip_metafile.py +0 -0
@@ -53,7 +53,7 @@ jobs:
53
53
  - name: Run tests
54
54
  # Longer timeout for CI due to likelihood of cold caches,
55
55
  # cloud infra hw contention etc.
56
- run: tox -e tests -- -m "not dlstbx" --timeout=2
56
+ run: tox -e tests -- -m "not dlstbx" --timeout=2 --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml
57
57
 
58
58
  - name: Upload coverage to Codecov
59
59
  uses: codecov/codecov-action@v4
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.4
3
+ Version: 1.5.5
4
4
  Summary: Bluesky tools for MX Beamlines at DLS
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
6
6
  License: Apache License
@@ -241,7 +241,7 @@ Requires-Dist: blueapi>=0.15.0
241
241
  Requires-Dist: ophyd>=1.10.5
242
242
  Requires-Dist: ophyd-async>=0.10.0a2
243
243
  Requires-Dist: bluesky>=1.13.1
244
- Requires-Dist: dls-dodal==1.56.0
244
+ Requires-Dist: dls-dodal==1.57.0
245
245
  Provides-Extra: dev
246
246
  Requires-Dist: black; extra == "dev"
247
247
  Requires-Dist: build; extra == "dev"
@@ -6,7 +6,7 @@ like tests`_, and run them to check for errors. You can run it with::
6
6
 
7
7
  $ tox -e tests
8
8
 
9
- It will also report coverage to the commandline and to ``cov.xml``.
9
+ When the tests are run in GitHub CI it will also report coverage to ``codecov.io``.
10
10
 
11
11
  .. _pytest: https://pytest.org/
12
12
  .. _look like tests: https://docs.pytest.org/explanation/goodpractices.html#test-discovery
@@ -15,4 +15,6 @@ It will then trigger the ``OAVToRedisForwarder`` device in ``dodal`` that will s
15
15
 
16
16
  The image streaming must be done with an ophyd device as there is too much data for it all to be emitted in bluesky documents.
17
17
 
18
- When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `socket_handler <https://github.com/DiamondLightSource/mx_auto_mjpeg_capture/tree/main/socket_handler>`_, which will forward the data to murko. Currently, during testing the socket_handler is just manually run on a workstation, `#146 <https://github.com/DiamondLightSource/mx-bluesky/issues/146>`_ should fix this.
18
+ When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `redis_to_murko_forwarder <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py>`_, which will forward the data to murko.
19
+
20
+ Murko will then enter the results back into redis where they are retrieved by the `MurkoResultsDevice <https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/i04/murko_results.py>`_ in ``dodal``. This device uses these results to calculate where the sample should be moved to and carry out these movements.
@@ -24,7 +24,7 @@ detector name from the list and clicking the ``Move Stage`` button,
24
24
  which will move the detector stage to the correct height and update the
25
25
  relative PVs.
26
26
 
27
- Detectors available for serial: Pilatus 6M or Eiger CdTe 9M.
27
+ Detectors available for serial: Eiger CdTe 9M.
28
28
 
29
29
  Extruder (Serial Jet)
30
30
  =====================
@@ -58,9 +58,8 @@ in the ``Pump Probe`` panel.
58
58
 
59
59
  **WARNING** This setting requires a
60
60
  hardware change, as there are only 4 outputs on the zebra and they are
61
- all in use. When using the Eiger the Pilatus trigger cable should be
62
- used to trigger the light source. When using the pilatus the eiger
63
- trigger cable should be used.
61
+ all in use. When using the Eiger the ex-Pilatus trigger cable should be
62
+ used to trigger the light source.
64
63
 
65
64
  III - **Run collection**
66
65
 
@@ -6,6 +6,14 @@ itself.
6
6
 
7
7
  The currently supported alerting backend uses graylog alerting to send email alert notifications.
8
8
 
9
+ The currently supported events that will generate alerts are:
10
+
11
+ - On encountering a beamline error that requires user intervention.
12
+ - When Hyperion starts UDC collection.
13
+ - When Hyperion finishes UDC collection (there are no more Agamemnon instructions).
14
+ - When Hyperion releases the baton.
15
+ - When Hyperion moves on to a new container (puck).
16
+
9
17
  Graylog Alert Configuration
10
18
  ===========================
11
19
 
@@ -54,6 +62,12 @@ expand to the event timestamp.
54
62
 
55
63
  All the fields that are available in the event are available under the ``event.fields`` object, e.g. ``${event.fields.alert_summary}``
56
64
 
65
+ The email subject and body use the JMTE templating engine, to generate more complex templates and for more
66
+ information see the `JMTE Project Documentation`_
67
+
68
+
69
+ .. _JMTE Project Documentation: https://github.com/DJCordhose/jmte
70
+
57
71
  Event Definitions
58
72
  -----------------
59
73
 
@@ -48,7 +48,7 @@ dependencies = [
48
48
  "ophyd >= 1.10.5",
49
49
  "ophyd-async >= 0.10.0a2",
50
50
  "bluesky >= 1.13.1",
51
- "dls-dodal == 1.56.0",
51
+ "dls-dodal == 1.57.0",
52
52
  ]
53
53
 
54
54
 
@@ -179,7 +179,7 @@ allowlist_externals =
179
179
  commands =
180
180
  pre-commit: pre-commit run --all-files --show-diff-on-failure {posargs}
181
181
  type-checking: pyright src tests {posargs}
182
- tests: pytest --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml {posargs}
182
+ tests: pytest {posargs}
183
183
  docs: sphinx-{posargs:build -EW --keep-going} -T docs build/html
184
184
  commands_pre =
185
185
  docs: /usr/bin/bash -c "{toxinidir}/utility_scripts/generate_plantuml.py > \
@@ -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.4'
32
- __version_tuple__ = version_tuple = (1, 5, 4)
31
+ __version__ = version = '1.5.5'
32
+ __version_tuple__ = version_tuple = (1, 5, 5)
33
33
 
34
- __commit_id__ = commit_id = 'gb4b359fcc'
34
+ __commit_id__ = commit_id = 'gb6ac6ef7f'
@@ -1,10 +1,15 @@
1
1
  from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_plan import (
2
2
  i04_grid_detect_then_xray_centre,
3
3
  )
4
- from mx_bluesky.beamlines.i04.thawing_plan import thaw, thaw_and_stream_to_redis
4
+ from mx_bluesky.beamlines.i04.thawing_plan import (
5
+ thaw,
6
+ thaw_and_murko_centre,
7
+ thaw_and_stream_to_redis,
8
+ )
5
9
 
6
10
  __all__ = [
7
11
  "thaw",
8
12
  "thaw_and_stream_to_redis",
9
13
  "i04_grid_detect_then_xray_centre",
14
+ "thaw_and_murko_centre",
10
15
  ]
@@ -7,6 +7,7 @@ from typing import TypedDict
7
7
  import numpy as np
8
8
  import zmq
9
9
  from dodal.devices.i04.constants import RedisConstants
10
+ from dodal.devices.i04.murko_results import FullMurkoResults, MurkoResult
10
11
  from numpy.typing import NDArray
11
12
  from PIL import Image
12
13
  from redis import StrictRedis
@@ -15,9 +16,6 @@ from mx_bluesky.common.utils.log import LOGGER
15
16
 
16
17
  MURKO_ADDRESS = "tcp://i04-murko-prod.diamond.ac.uk:8008"
17
18
 
18
- MurkoResult = dict
19
- FullMurkoResults = dict[str, list[MurkoResult]]
20
-
21
19
 
22
20
  class MurkoRequest(TypedDict):
23
21
  """See https://github.com/MartinSavko/murko#usage for more information."""
@@ -96,6 +94,7 @@ class BatchMurkoForwarder:
96
94
  ],
97
95
  "prefix": uuids,
98
96
  }
97
+
99
98
  results = send_to_murko_and_get_results(request_arguments)
100
99
  results_with_uuids = _correlate_results_to_uuids(request_arguments, results)
101
100
  self._send_murko_results_to_redis(sample_id, results_with_uuids)
@@ -0,0 +1,248 @@
1
+ from collections.abc import Callable
2
+
3
+ import bluesky.plan_stubs as bps
4
+ import bluesky.preprocessors as bpp
5
+ from bluesky.preprocessors import run_decorator, stage_wrapper, subs_decorator
6
+ from bluesky.utils import MsgGenerator
7
+ from dodal.common import inject
8
+ from dodal.devices.i04.constants import RedisConstants
9
+ from dodal.devices.i04.murko_results import MurkoResultsDevice
10
+ from dodal.devices.oav.oav_detector import OAV
11
+ from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder, Source
12
+ from dodal.devices.robot import BartRobot
13
+ from dodal.devices.smargon import Smargon
14
+ from dodal.devices.thawer import OnOff, Thawer
15
+
16
+ from mx_bluesky.beamlines.i04.callbacks.murko_callback import MurkoCallback
17
+
18
+
19
+ def thaw(
20
+ time_to_thaw: float,
21
+ rotation: float = 360,
22
+ thawer: Thawer = inject("thawer"),
23
+ smargon: Smargon = inject("smargon"),
24
+ ) -> MsgGenerator:
25
+ """Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
26
+ rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
27
+ is set such that the process takes whole process will take {time_to_thaw} time.
28
+
29
+ Args:
30
+ time_to_thaw (float): Time to thaw for, in seconds.
31
+ rotation (float, optional): How much to rotate by whilst thawing, in degrees.
32
+ Defaults to 360.
33
+ ... devices: These are the specific ophyd-devices used for the plan, the
34
+ defaults are always correct.
35
+ """
36
+ yield from _thaw(time_to_thaw, rotation, thawer, smargon)
37
+
38
+
39
+ def thaw_and_stream_to_redis(
40
+ time_to_thaw: float,
41
+ rotation: float = 360,
42
+ robot: BartRobot = inject("robot"),
43
+ thawer: Thawer = inject("thawer"),
44
+ smargon: Smargon = inject("smargon"),
45
+ oav: OAV = inject("oav"),
46
+ oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
47
+ ) -> MsgGenerator:
48
+ """Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
49
+ rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
50
+ is set such that the process takes whole process will take {time_to_thaw} time.
51
+
52
+ At the same time streams OAV images to redis for later processing (e.g. by murko).
53
+ On the first rotation the images from the large ROI are streamed, on the second the
54
+ smaller ROI is used.
55
+
56
+ Args:
57
+ time_to_thaw (float): Time to thaw for, in seconds.
58
+ rotation (float, optional): How much to rotate by whilst thawing, in degrees.
59
+ Defaults to 360.
60
+ ... devices: These are the specific ophyd-devices used for the plan, the
61
+ defaults are always correct
62
+ """
63
+
64
+ def switch_forwarder_to_ROI() -> MsgGenerator:
65
+ yield from bps.complete(oav_to_redis_forwarder, wait=True)
66
+ yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
67
+ yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
68
+
69
+ yield from _thaw_and_stream_to_redis(
70
+ time_to_thaw,
71
+ rotation,
72
+ robot,
73
+ thawer,
74
+ smargon,
75
+ oav,
76
+ oav_to_redis_forwarder,
77
+ switch_forwarder_to_ROI,
78
+ )
79
+
80
+
81
+ def thaw_and_murko_centre(
82
+ time_to_thaw: float,
83
+ rotation: float = 360,
84
+ robot: BartRobot = inject("robot"),
85
+ thawer: Thawer = inject("thawer"),
86
+ smargon: Smargon = inject("smargon"),
87
+ oav: OAV = inject("oav"),
88
+ murko_results: MurkoResultsDevice = inject("murko_results"),
89
+ oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
90
+ ) -> MsgGenerator:
91
+ """Thaws the sample and centres it using murko by:
92
+ 1. Turns on the thawer
93
+ 2. Rotates the sample by {rotation} degrees, whilst this is happening images from
94
+ the large ROI of the OAV are being fed to murko
95
+ 3. After the rotation has completed moves to the average centre returned by murko
96
+ from these images
97
+ 4. Rotate {rotation} degrees back to the start, whilst this is happening images
98
+ from the small ROI of the OAV are being fed to murko
99
+ 5. Turns off the thawer
100
+
101
+ The speed of the goniometer is set so that all of the above takes about {time_to_thaw}
102
+ seconds to complete.
103
+
104
+ Args:
105
+ time_to_thaw (float): Time to thaw for, in seconds.
106
+ rotation (float, optional): How much to rotate by whilst thawing, in degrees.
107
+ Defaults to 360.
108
+ ... devices: These are the specific ophyd-devices used for the plan, the
109
+ defaults are always correct
110
+ """
111
+
112
+ def centre_then_switch_forwarder_to_ROI() -> MsgGenerator:
113
+ yield from bps.complete(oav_to_redis_forwarder, wait=True)
114
+
115
+ yield from bps.trigger(murko_results, group="get_results")
116
+
117
+ yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
118
+
119
+ yield from bps.wait("get_results")
120
+ x_predict = yield from bps.rd(murko_results.x_mm)
121
+ y_predict = yield from bps.rd(murko_results.y_mm)
122
+ z_predict = yield from bps.rd(murko_results.z_mm)
123
+
124
+ yield from bps.rel_set(smargon.x, x_predict)
125
+ yield from bps.rel_set(smargon.y, y_predict)
126
+ yield from bps.rel_set(smargon.z, z_predict)
127
+
128
+ yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
129
+
130
+ yield from stage_wrapper(
131
+ _thaw_and_stream_to_redis(
132
+ time_to_thaw,
133
+ rotation,
134
+ robot,
135
+ thawer,
136
+ smargon,
137
+ oav,
138
+ oav_to_redis_forwarder,
139
+ centre_then_switch_forwarder_to_ROI,
140
+ ),
141
+ [murko_results],
142
+ )
143
+
144
+
145
+ def _thaw(
146
+ time_to_thaw: float,
147
+ rotation: float,
148
+ thawer: Thawer,
149
+ smargon: Smargon,
150
+ plan_between_rotations: Callable[[], MsgGenerator] | None = None,
151
+ ) -> MsgGenerator:
152
+ """Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
153
+ rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
154
+ is set such that the process takes whole process will take {time_to_thaw} time.
155
+
156
+ Args:
157
+ time_to_thaw (float): Time to thaw for, in seconds.
158
+ rotation (float): How much to rotate by whilst thawing, in degrees.
159
+ thawer (Thawer): The thawing device.
160
+ smargon (Smargon): The smargon used to rotate.
161
+ plan_between_rotations (MsgGenerator, optional): A plan to run between rotations
162
+ of the smargon. Defaults to no plan.
163
+ """
164
+ inital_velocity = yield from bps.rd(smargon.omega.velocity)
165
+ new_velocity = abs(rotation / time_to_thaw) * 2.0
166
+
167
+ def do_thaw():
168
+ yield from bps.abs_set(smargon.omega.velocity, new_velocity, wait=True)
169
+ yield from bps.abs_set(thawer.control, OnOff.ON, wait=True)
170
+ yield from bps.rel_set(smargon.omega, rotation, wait=True)
171
+ if plan_between_rotations:
172
+ yield from plan_between_rotations()
173
+ yield from bps.rel_set(smargon.omega, -rotation, wait=True)
174
+
175
+ def cleanup():
176
+ yield from bps.abs_set(smargon.omega.velocity, inital_velocity, wait=True)
177
+ yield from bps.abs_set(thawer.control, OnOff.OFF, wait=True)
178
+
179
+ # Always cleanup even if there is a failure
180
+ yield from bpp.contingency_wrapper(
181
+ do_thaw(),
182
+ final_plan=cleanup,
183
+ )
184
+
185
+
186
+ def _thaw_and_stream_to_redis(
187
+ time_to_thaw: float,
188
+ rotation: float,
189
+ robot: BartRobot,
190
+ thawer: Thawer,
191
+ smargon: Smargon,
192
+ oav: OAV,
193
+ oav_to_redis_forwarder: OAVToRedisForwarder,
194
+ plan_between_rotations: Callable[[], MsgGenerator],
195
+ ) -> MsgGenerator:
196
+ zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage)
197
+ sample_id = yield from bps.rd(robot.sample_id)
198
+
199
+ sample_id = int(sample_id)
200
+ zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level)
201
+
202
+ yield from bps.mv(oav.zoom_controller.level, "1.0x")
203
+
204
+ microns_per_pixel_x = yield from bps.rd(oav.microns_per_pixel_x)
205
+ microns_per_pixel_y = yield from bps.rd(oav.microns_per_pixel_y)
206
+ beam_centre_i = yield from bps.rd(oav.beam_centre_i)
207
+ beam_centre_j = yield from bps.rd(oav.beam_centre_j)
208
+
209
+ @subs_decorator(
210
+ MurkoCallback(
211
+ RedisConstants.REDIS_HOST,
212
+ RedisConstants.REDIS_PASSWORD,
213
+ RedisConstants.MURKO_REDIS_DB,
214
+ )
215
+ )
216
+ @run_decorator(
217
+ md={
218
+ "microns_per_x_pixel": microns_per_pixel_x,
219
+ "microns_per_y_pixel": microns_per_pixel_y,
220
+ "beam_centre_i": beam_centre_i,
221
+ "beam_centre_j": beam_centre_j,
222
+ "zoom_percentage": zoom_percentage,
223
+ "sample_id": sample_id,
224
+ }
225
+ )
226
+ def _main_plan():
227
+ yield from bps.mv(
228
+ oav_to_redis_forwarder.sample_id,
229
+ sample_id,
230
+ oav_to_redis_forwarder.selected_source,
231
+ Source.FULL_SCREEN.value,
232
+ )
233
+
234
+ yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
235
+ yield from bps.monitor(smargon.omega.user_readback, name="smargon")
236
+ yield from bps.monitor(oav_to_redis_forwarder.uuid, name="oav")
237
+ yield from _thaw(
238
+ time_to_thaw, rotation, thawer, smargon, plan_between_rotations
239
+ )
240
+ yield from bps.complete(oav_to_redis_forwarder)
241
+
242
+ def cleanup():
243
+ yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing)
244
+
245
+ yield from bpp.contingency_wrapper(
246
+ _main_plan(),
247
+ final_plan=cleanup,
248
+ )
@@ -14,4 +14,4 @@ api:
14
14
  - "*"
15
15
  stomp:
16
16
  enabled: true
17
- url: http://i24-control.diamond.ac.uk:61613
17
+ url: tcp://i24-control.diamond.ac.uk:61613
@@ -11,7 +11,6 @@ from bluesky.utils import MsgGenerator
11
11
  from dodal.devices.i24.beam_center import DetectorBeamCenter
12
12
  from dodal.devices.i24.dcm import DCM
13
13
  from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
14
- from dodal.devices.i24.pilatus_metadata import PilatusMetadata
15
14
 
16
15
  from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import PumpProbeSetting
17
16
  from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
@@ -21,7 +20,7 @@ from mx_bluesky.beamlines.i24.serial.parameters import (
21
20
  ExtruderParameters,
22
21
  FixedTargetParameters,
23
22
  )
24
- from mx_bluesky.beamlines.i24.serial.setup_beamline import Detector, Eiger, Pilatus
23
+ from mx_bluesky.beamlines.i24.serial.setup_beamline import Detector, Eiger
25
24
 
26
25
  # Collection start/end script to kick off analysis
27
26
  COLLECTION_START_SCRIPT = "/dls_sw/i24/scripts/RunAtStartOfCollect-i24-ssx.sh"
@@ -67,9 +66,7 @@ def read_beam_info_from_hardware(
67
66
  wavelength = yield from bps.rd(dcm.wavelength_in_a)
68
67
  beamsize_x = yield from bps.rd(mirrors.beam_size_x)
69
68
  beamsize_y = yield from bps.rd(mirrors.beam_size_y)
70
- pixel_size = (
71
- Eiger().pixel_size_mm if detector_name == "eiger" else Pilatus().pixel_size_mm
72
- )
69
+ pixel_size = Eiger().pixel_size_mm
73
70
  beam_center_x = yield from bps.rd(beam_center.beam_x)
74
71
  beam_center_y = yield from bps.rd(beam_center.beam_y)
75
72
  return BeamSettings(
@@ -115,8 +112,6 @@ class DCID:
115
112
  match expt_params.detector_name:
116
113
  case "eiger":
117
114
  self.detector = Eiger()
118
- case "pilatus":
119
- self.detector = Pilatus()
120
115
 
121
116
  self.server = server or DEFAULT_ISPYB_SERVER
122
117
  self.emit_errors = emit_errors
@@ -161,9 +156,7 @@ class DCID:
161
156
  transmission = self.parameters.transmission * 100
162
157
  xbeam, ybeam = beam_settings.beam_center_in_mm
163
158
 
164
- if isinstance(self.detector, Pilatus):
165
- startImageNumber = 0
166
- elif isinstance(self.detector, Eiger):
159
+ if isinstance(self.detector, Eiger):
167
160
  startImageNumber = 1
168
161
  else:
169
162
  raise ValueError("Unknown detector:", self.detector)
@@ -361,20 +354,6 @@ class DCID:
361
354
  SSX_LOGGER.warning("Error completing DCID: %s (%s)", e, resp_str)
362
355
 
363
356
 
364
- def get_pilatus_filename_template_from_device(
365
- pilatus_metadata: PilatusMetadata,
366
- ) -> MsgGenerator[str]:
367
- """
368
- Get the template file path by querying the detector PVs, mirror the construction \
369
- that the PPU does.
370
-
371
- Returns:
372
- A template string, with the image numbers replaced with '#'
373
- """
374
- filename_template = yield from bps.rd(pilatus_metadata.filename_template)
375
- return filename_template
376
-
377
-
378
357
  def get_resolution(detector: Detector, distance: float, wavelength: float) -> float:
379
358
  """ Calculate the inscribed resolution for detector.
380
359
 
@@ -382,7 +361,7 @@ def get_resolution(detector: Detector, distance: float, wavelength: float) -> fl
382
361
  position parameters yet.
383
362
 
384
363
  Args:
385
- detector (Detector): Detector instance, Eiger() or Pilatus().
364
+ detector (Detector): Detector instance, Eiger().
386
365
  distance (float): Distance to detector, in mm.
387
366
  wavelength (float): Beam wavelength, in Å.
388
367
 
@@ -3,8 +3,8 @@ beginScreenProperties
3
3
  major 4
4
4
  minor 0
5
5
  release 1
6
- x 1316
7
- y 610
6
+ x 2937
7
+ y 184
8
8
  w 450
9
9
  h 180
10
10
  font "arial-medium-r-18.0"
@@ -78,20 +78,17 @@ fgColour index 14
78
78
  bgColour index 4
79
79
  topShadowColour index 1
80
80
  botShadowColour index 8
81
- controlPv "BL24I-EA-IOC-12:GP15"
81
+ controlPv "BL24I-MO-IOC-13:GP15"
82
82
  font "arial-medium-r-18.0"
83
83
  numItems 2
84
84
  symbolTag {
85
85
  0 "Eiger"
86
- 1 "Pilatus"
87
86
  }
88
87
  symbol0 {
89
88
  0 "E9M"
90
- 1 "P6M"
91
89
  }
92
90
  PV0 {
93
91
  0 "eiger"
94
- 1 "pilatus"
95
92
  }
96
93
  endObjectProperties
97
94
 
@@ -113,7 +110,7 @@ font "arial-medium-r-18.0"
113
110
  buttonLabel "Move Stage"
114
111
  numCmds 1
115
112
  command {
116
- 0 "blueapi -c CONFIG_LOCATION controller run setup_detector_stage '\{\"expt_type\":\"Serial Jet\"\}'"
113
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION setup_detector_stage '\{\"expt_type\":\"Serial Jet\"\}'"
117
114
  }
118
115
  endObjectProperties
119
116
 
@@ -370,7 +370,7 @@ font "arial-medium-r-24.0"
370
370
  buttonLabel "Start"
371
371
  numCmds 1
372
372
  command {
373
- 0 "blueapi -c CONFIG_LOCATION controller run run_extruder_plan"
373
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION run_extruder_plan"
374
374
  }
375
375
  endObjectProperties
376
376
 
@@ -832,7 +832,7 @@ botShadowColor index 11
832
832
  font "arial-medium-r-18.0"
833
833
  numCmds 1
834
834
  command {
835
- 0 "blueapi -c CONFIG_LOCATION controller run initialise_extruder"
835
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION initialise_extruder"
836
836
  }
837
837
  endObjectProperties
838
838
 
@@ -2179,7 +2179,7 @@ font "arial-medium-r-20.0"
2179
2179
  buttonLabel "Laser On"
2180
2180
  numCmds 1
2181
2181
  command {
2182
- 0 "blueapi -c CONFIG_LOCATION controller run laser_check '\{\"mode\":\"laseron\"\}'"
2182
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION laser_check '\{\"mode\":\"laseron\"\}'"
2183
2183
  }
2184
2184
  endObjectProperties
2185
2185
 
@@ -2201,7 +2201,7 @@ font "arial-medium-r-20.0"
2201
2201
  buttonLabel "Laser Off"
2202
2202
  numCmds 1
2203
2203
  command {
2204
- 0 "blueapi -c CONFIG_LOCATION controller run laser_check '\{\"mode\":\"laseroff\"\}'"
2204
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION laser_check '\{\"mode\":\"laseroff\"\}'"
2205
2205
  }
2206
2206
  endObjectProperties
2207
2207
 
@@ -2223,7 +2223,7 @@ font "arial-medium-r-18.0"
2223
2223
  buttonLabel "Enter hutch"
2224
2224
  numCmds 1
2225
2225
  command {
2226
- 0 "blueapi -c CONFIG_LOCATION controller run enter_hutch"
2226
+ 0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION enter_hutch"
2227
2227
  }
2228
2228
  endObjectProperties
2229
2229