mx-bluesky 1.4.9__tar.gz → 1.5.0__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 (522) hide show
  1. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_container.yml +26 -3
  2. mx_bluesky-1.5.0/Dockerfile.blueapi +14 -0
  3. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/PKG-INFO +3 -3
  4. mx_bluesky-1.5.0/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  5. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/code-map/grid_detect_xrc.rst +12 -11
  6. mx_bluesky-1.5.0/docs/developer/general/explanations/containerised_mx_bluesky.rst +14 -0
  7. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/create-a-release.rst +2 -0
  8. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/index.rst +1 -0
  9. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/pyproject.toml +2 -2
  10. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/_version.py +2 -2
  11. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/__init__.py +4 -2
  12. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +4 -0
  13. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +32 -0
  14. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +2 -1
  15. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +77 -8
  16. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +4 -1
  17. {mx_bluesky-1.4.9/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/device_setup_plans/utils.py +0 -11
  18. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/common_flyscan_xray_centre_plan.py +11 -19
  19. mx_bluesky-1.4.9/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +108 -136
  20. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/inner_plans/do_fgs.py +1 -1
  21. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +5 -13
  22. {mx_bluesky-1.4.9/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/experiment_plans/oav_snapshot_plan.py +5 -2
  23. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/components.py +1 -1
  24. {mx_bluesky-1.4.9/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/parameters/device_composites.py +12 -31
  25. mx_bluesky-1.5.0/src/mx_bluesky/hyperion/device_setup_plans/utils.py +12 -0
  26. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +3 -3
  27. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +3 -3
  28. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +40 -41
  29. mx_bluesky-1.5.0/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +60 -0
  30. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +26 -15
  31. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +8 -6
  32. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +11 -11
  33. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/constants.py +0 -1
  34. mx_bluesky-1.5.0/src/mx_bluesky/hyperion/parameters/device_composites.py +62 -0
  35. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/validation.py +1 -1
  36. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/PKG-INFO +3 -3
  37. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/SOURCES.txt +20 -14
  38. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/requires.txt +2 -2
  39. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/conftest.py +342 -238
  40. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +3 -3
  41. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/conftest.py +7 -9
  42. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +29 -17
  43. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +29 -26
  44. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +4 -3
  45. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +1 -1
  46. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +2 -2
  47. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +2 -2
  48. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +2 -2
  49. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +1 -1
  50. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +1 -1
  51. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +1 -1
  52. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_parameters.json +1 -1
  53. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +1 -1
  54. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +1 -1
  55. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +2 -2
  56. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +1 -1
  57. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +3 -2
  58. mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +213 -0
  59. {mx_bluesky-1.4.9/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/test_common_flyscan_xray_centre_plan.py +38 -38
  60. mx_bluesky-1.4.9/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +93 -54
  61. {mx_bluesky-1.4.9/tests/unit_tests/hyperion → mx_bluesky-1.5.0/tests/unit_tests/common}/experiment_plans/test_oav_snapshot_plan.py +7 -6
  62. {mx_bluesky-1.4.9/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/test_read_hardware.py +3 -3
  63. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +3 -2
  64. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +4 -2
  65. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +15 -15
  66. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +36 -29
  67. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +47 -33
  68. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +4 -2
  69. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +17 -14
  70. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/parameters/test_components.py +8 -0
  71. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/test_do_fgs.py +11 -5
  72. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/test_write_sample_status.py +2 -2
  73. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/conftest.py +105 -7
  74. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/conftest.py +14 -24
  75. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +1 -1
  76. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/conftest.py +3 -67
  77. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +15 -139
  78. mx_bluesky-1.5.0/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +228 -0
  79. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +41 -22
  80. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +33 -26
  81. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +3 -2
  82. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +7 -6
  83. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +34 -9
  84. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +35 -29
  85. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +3 -2
  86. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/conftest.py +5 -4
  87. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +6 -5
  88. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +16 -10
  89. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_main_system.py +36 -29
  90. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/build_docker_image.sh +2 -2
  91. mx_bluesky-1.4.9/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
  92. mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -95
  93. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.copier-answers.yml +0 -0
  94. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.coveragerc +0 -0
  95. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.devcontainer/Dockerfile +0 -0
  96. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.devcontainer/devcontainer.json +0 -0
  97. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.dockerignore +0 -0
  98. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/CODEOWNERS +0 -0
  99. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/CONTRIBUTING.md +0 -0
  100. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  101. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  102. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/actions/install_requirements/action.yml +0 -0
  103. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/Dockerfile +0 -0
  104. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/action.yml +0 -0
  105. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  106. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/dependabot.yml +0 -0
  107. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/pages/index.html +0 -0
  108. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/pages/make_switcher.py +0 -0
  109. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_check.yml +0 -0
  110. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_dist.yml +0 -0
  111. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_docs.yml +0 -0
  112. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_pypi.yml +0 -0
  113. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_release.yml +0 -0
  114. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_test.yml +0 -0
  115. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/_tox.yml +0 -0
  116. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/ci.yml +0 -0
  117. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.github/workflows/periodic.yml +0 -0
  118. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.gitignore +0 -0
  119. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.pre-commit-config.yaml +0 -0
  120. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/extensions.json +0 -0
  121. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/launch.json +0 -0
  122. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/mx-bluesky.code-workspace +0 -0
  123. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  124. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/settings.json +0 -0
  125. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/.vscode/tasks.json +0 -0
  126. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/Dockerfile +0 -0
  127. /mx_bluesky-1.4.9/Dockerfile.release → /mx_bluesky-1.5.0/Dockerfile.hyperion +0 -0
  128. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/LICENSE +0 -0
  129. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/README.rst +0 -0
  130. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/catalog-info.yaml +0 -0
  131. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/codecov.yml +0 -0
  132. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/conftest.py +0 -0
  133. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/_api.rst +0 -0
  134. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/_templates/custom-module-template.rst +0 -0
  135. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/conf.py +0 -0
  136. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/code-map/index.rst +0 -0
  137. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
  138. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  139. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  140. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  141. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions.rst +0 -0
  142. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/contribute.rst +0 -0
  143. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  144. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  145. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  146. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  147. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  148. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  149. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/how-to/get-started.rst +0 -0
  150. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/reference/standards.rst +0 -0
  151. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  152. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  153. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
  154. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/index.rst +0 -0
  155. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
  156. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
  157. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  158. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  159. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/readme.md +0 -0
  160. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/hyperion/system-tests.rst +0 -0
  161. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/index.rst +0 -0
  162. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  163. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  164. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/murko-integration/index.rst +0 -0
  165. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  166. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  167. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  168. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
  169. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  170. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  171. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  172. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
  173. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
  174. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/dls-favicon.ico +0 -0
  175. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/dls-logo.svg +0 -0
  176. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/motor coordinate systems.odg +0 -0
  177. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/motor-coords-omega-0.svg +0 -0
  178. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/images/motor-coords-omega-alpha.svg +0 -0
  179. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/docs/index.rst +0 -0
  180. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/Chart.yaml +0 -0
  181. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/deployment.yaml +0 -0
  182. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/ingress.yaml +0 -0
  183. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/service.yaml +0 -0
  184. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/zocalo-config.yaml +0 -0
  185. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/hyperion/values.yaml +0 -0
  186. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/Chart.yaml +0 -0
  187. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/templates/deployment.yaml +0 -0
  188. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/values.yaml +0 -0
  189. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  190. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  191. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  192. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  193. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/linkcheck.yml +0 -0
  194. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  195. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  196. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/pin_versions.py +0 -0
  197. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  198. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  199. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  200. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg +0 -0
  201. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  202. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  203. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_pin_versions.py +0 -0
  204. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/pull_request_template.md +0 -0
  205. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/run_hyperion.sh +0 -0
  206. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/run_hyperion_in_podman.sh +0 -0
  207. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/setup.cfg +0 -0
  208. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/__init__.py +0 -0
  209. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/__main__.py +0 -0
  210. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/__init__.py +0 -0
  211. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
  212. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
  213. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
  214. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
  215. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  216. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  217. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +0 -0
  218. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
  219. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
  220. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
  221. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  222. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  223. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  224. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  225. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  226. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  227. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  228. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  229. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  230. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  231. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  232. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  233. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  234. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  235. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  236. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  237. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  238. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
  239. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
  240. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  241. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  242. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  243. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  244. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  245. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  246. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  247. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  248. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  249. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  250. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  251. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  252. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  253. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  254. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  255. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  256. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  257. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  258. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  259. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  260. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  261. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  262. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  263. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  264. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  265. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  266. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
  267. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  268. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/__init__.py +0 -0
  269. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
  270. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
  271. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
  272. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
  273. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/__init__.py +0 -0
  274. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
  275. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/inner_plans/__init__ .py +0 -0
  276. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/read_hardware.py +0 -0
  277. {mx_bluesky-1.4.9/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/write_sample_status.py +0 -0
  278. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
  279. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
  280. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  281. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  282. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
  283. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  284. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  285. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  286. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  287. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
  288. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  289. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  290. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  291. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
  292. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  293. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  294. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  295. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
  296. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  297. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  298. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
  299. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  300. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
  301. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  302. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  303. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/constants.py +0 -0
  304. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
  305. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
  306. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
  307. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/protocols/__init__.py +0 -0
  308. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/protocols/protocols.py +0 -0
  309. {mx_bluesky-1.4.9/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.0/src/mx_bluesky/common/utils}/__init__.py +0 -0
  310. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/context.py +0 -0
  311. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  312. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/log.py +0 -0
  313. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/tracing.py +0 -0
  314. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/utils.py +0 -0
  315. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/common/xrc_result.py +0 -0
  316. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/definitions.py +0 -0
  317. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/__init__.py +0 -0
  318. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/__main__.py +0 -0
  319. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/baton_handler.py +0 -0
  320. {mx_bluesky-1.4.9/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.0/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  321. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  322. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  323. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  324. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  325. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
  326. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  327. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
  328. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  329. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  330. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  331. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +0 -0
  332. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  333. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
  334. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
  335. {mx_bluesky-1.4.9/tests → mx_bluesky-1.5.0/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  336. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +0 -0
  337. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  338. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  339. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
  340. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  341. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  342. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  343. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  344. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
  345. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  346. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  347. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  348. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  349. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
  350. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  351. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  352. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  353. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  354. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  355. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/start_jupyter.sh +0 -0
  356. {mx_bluesky-1.4.9/tests/system_tests → mx_bluesky-1.5.0/tests}/__init__.py +0 -0
  357. {mx_bluesky-1.4.9/tests/system_tests/hyperion → mx_bluesky-1.5.0/tests/system_tests}/__init__.py +0 -0
  358. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/conftest.py +0 -0
  359. {mx_bluesky-1.4.9/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.0/tests/system_tests/hyperion}/__init__.py +0 -0
  360. {mx_bluesky-1.4.9/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.0/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
  361. {mx_bluesky-1.4.9/tests/unit_tests → mx_bluesky-1.5.0/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  362. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  363. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
  364. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  365. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
  366. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/agamemnon/example_native.json +0 -0
  367. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/ispyb-test-credentials.cfg +0 -0
  368. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/README.md +0 -0
  369. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  370. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  371. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  372. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  373. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  374. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  375. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  376. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  377. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  378. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  379. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  380. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  381. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
  382. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/scratch/README +0 -0
  383. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_OAVCentring.json +0 -0
  384. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  385. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  386. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  387. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  388. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_config.cfg +0 -0
  389. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
  390. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/display.configuration +0 -0
  391. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  392. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  393. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  394. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
  395. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  396. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_det_dist_converter.txt +0 -0
  397. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_display.configuration +0 -0
  398. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
  399. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
  400. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_0.png +0 -0
  401. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_90.png +0 -0
  402. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
  403. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
  404. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_0.png +0 -0
  405. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_90.png +0 -0
  406. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
  407. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
  408. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  409. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_lookup_table.txt +0 -0
  410. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/test_mirror_focus.json +0 -0
  411. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/test_data/zocalo-test-configuration.yaml +0 -0
  412. {mx_bluesky-1.4.9/tests/unit_tests/beamlines → mx_bluesky-1.5.0/tests/unit_tests}/__init__.py +0 -0
  413. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.0/tests/unit_tests/beamlines}/__init__.py +0 -0
  414. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
  415. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
  416. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
  417. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  418. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
  419. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/test_thawing.py +0 -0
  420. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
  421. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
  422. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  423. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  424. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  425. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  426. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  427. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  428. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  429. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  430. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  431. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  432. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  433. {mx_bluesky-1.4.9/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  434. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  435. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  436. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  437. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  438. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  439. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  440. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  441. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  442. {mx_bluesky-1.4.9/tests/unit_tests/common → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
  443. {mx_bluesky-1.4.9/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.0/tests/unit_tests/common}/__init__.py +0 -0
  444. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
  445. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
  446. {mx_bluesky-1.4.9/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
  447. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  448. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
  449. {mx_bluesky-1.4.9/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
  450. {mx_bluesky-1.4.9/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
  451. {mx_bluesky-1.4.9/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
  452. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  453. {mx_bluesky-1.4.9/tests/unit_tests/common/parameters → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
  454. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  455. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  456. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  457. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  458. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  459. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  460. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
  461. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  462. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  463. {mx_bluesky-1.4.9/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/parameters}/__init__.py +0 -0
  464. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/preprocessors/__init__.py +0 -0
  465. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
  466. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/utils/__init__.py +0 -0
  467. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/common/utils/test_log.py +0 -0
  468. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/__init__.py +0 -0
  469. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
  470. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  471. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  472. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  473. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  474. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  475. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  476. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  477. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  478. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  479. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +0 -0
  480. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  481. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  482. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  483. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  484. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  485. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  486. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  487. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  488. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  489. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  490. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  491. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  492. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
  493. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  494. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  495. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  496. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  497. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_baton_handler.py +0 -0
  498. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  499. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_utils.py +0 -0
  500. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  501. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  502. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  503. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/tests/unit_tests/test_cli.py +0 -0
  504. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/beam_off_trickery.sh +0 -0
  505. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/build_imginfo.sh +0 -0
  506. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/deploy/create_venv.py +0 -0
  507. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  508. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  509. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
  510. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/deploy/test_deploy.py +0 -0
  511. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/dev_jaeger_container.sh +0 -0
  512. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/dls_dev_env.sh +0 -0
  513. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/docker/entrypoint.sh +0 -0
  514. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/docker/healthcheck.sh +0 -0
  515. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/docker/i03-compose.yml +0 -0
  516. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/generate_plantuml.py +0 -0
  517. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/graylog/Dockerfile +0 -0
  518. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/graylog/tcp_input.json +0 -0
  519. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/procserv_ioc_start.sh +0 -0
  520. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/run_imginfo.sh +0 -0
  521. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/setup_graylog.sh +0 -0
  522. {mx_bluesky-1.4.9 → mx_bluesky-1.5.0}/utility_scripts/strip_metafile.py +0 -0
@@ -30,14 +30,25 @@ jobs:
30
30
  DOCKER_BUILD_RECORD_UPLOAD: false
31
31
  with:
32
32
  context: .
33
- file: Dockerfile.release
33
+ file: Dockerfile.hyperion
34
+ load: true
35
+
36
+ - name: Build and export Dockerfile.blueapi to local cache
37
+ uses: docker/build-push-action@v6
38
+ env:
39
+ DOCKER_BUILD_RECORD_UPLOAD: false
40
+ with:
41
+ context: .
42
+ file: Dockerfile.blueapi
34
43
  load: true
35
44
 
36
45
  - name: Create tags for publishing image
37
46
  id: meta
38
47
  uses: docker/metadata-action@v5
39
48
  with:
40
- images: ghcr.io/${{ github.repository }}
49
+ images: |
50
+ ghcr.io/${{ github.repository }}
51
+ ghcr.io/${{ github.repository }}-blueapi
41
52
  tags: |
42
53
  type=ref,event=tag
43
54
  type=raw,value=latest
@@ -51,7 +62,19 @@ jobs:
51
62
  # Docker cache and publish it
52
63
  with:
53
64
  context: .
54
- file: Dockerfile.release
65
+ file: Dockerfile.hyperion
66
+ push: true
67
+ tags: ${{ steps.meta.outputs.tags }}
68
+ labels: ${{ steps.meta.outputs.labels }}
69
+
70
+ - name: Push Dockerfile.blueapi image to container registry
71
+ if: github.ref_type == 'tag'
72
+ uses: docker/build-push-action@v6
73
+ env:
74
+ DOCKER_BUILD_RECORD_UPLOAD: false
75
+ with:
76
+ context: .
77
+ file: Dockerfile.blueapi
55
78
  push: true
56
79
  tags: ${{ steps.meta.outputs.tags }}
57
80
  labels: ${{ steps.meta.outputs.labels }}
@@ -0,0 +1,14 @@
1
+ # See https://github.com/DiamondLightSource/mx-bluesky/issues/1004
2
+ FROM ghcr.io/diamondlightsource/blueapi:0.10.1
3
+
4
+ ARG DEBIAN_FRONTEND=noninteractive
5
+
6
+ RUN apt update -y && apt upgrade -y
7
+ # Needed for python cv2 dependency
8
+ RUN apt install -y libgl1 libglib2.0-0
9
+
10
+ RUN /venv/bin/pip install mx-bluesky
11
+
12
+ # Needed so that Blueapi's setup-scratch stage has permission to modify dependencies installed
13
+ # in the above pip installation
14
+ RUN mkdir -p /.cache/pip; chmod -R 777 /venv /.cache/pip
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.4.9
3
+ Version: 1.5.0
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
@@ -234,12 +234,12 @@ Requires-Dist: scanspec
234
234
  Requires-Dist: scipy
235
235
  Requires-Dist: semver
236
236
  Requires-Dist: matplotlib
237
- Requires-Dist: blueapi>=0.5.0
237
+ Requires-Dist: blueapi>=0.11.1
238
238
  Requires-Dist: daq-config-server==0.1.1
239
239
  Requires-Dist: ophyd>=1.10.5
240
240
  Requires-Dist: ophyd-async>=0.10.0a2
241
241
  Requires-Dist: bluesky>=1.13.1
242
- Requires-Dist: dls-dodal==1.48.0
242
+ Requires-Dist: dls-dodal==1.49.0
243
243
  Provides-Extra: dev
244
244
  Requires-Dist: black; extra == "dev"
245
245
  Requires-Dist: build; extra == "dev"
@@ -1,9 +1,9 @@
1
1
  Grid Detect Then Xray Centre
2
2
  ============================
3
3
 
4
- The aim of this page is to provide a general overview of the Hyperion ``grid_detect_then_xray_centre_plan``.
4
+ The aim of this page is to provide a general overview of the ``grid_detect_then_xray_centre_plan``.
5
5
 
6
- Most of the code for the ``grid_detect_then_xray_centre_plan`` plan is in ``mx-bluesky/hyperion``. Some code is located in ``mx-bluesky/common`` and `dodal <https://github.com/DiamondLightSource/dodal>`_, and plans are increasingly being generalised and moved into ``mx-bluesky/common`` where possible. Therefore, the structure of the codebase is subject to change and this document should be updated accordingly.
6
+ The code for the ``grid_detect_then_xray_centre`` plan is now entirely ``mx-bluesky/common/`` and `dodal <https://github.com/DiamondLightSource/dodal>`_. There is a new Hyperion entry point, ``hyperion_grid_detect_then_xray_centre`` which calls this common plan, setting up Hyperion features for it. There will soon be an i04 entry point that calls the common plan in the same way.
7
7
 
8
8
  There are then a number of plans that make up the ``grid_detect_then_xray_centre_plan`` plan. Some important ones:
9
9
 
@@ -11,7 +11,7 @@ There are then a number of plans that make up the ``grid_detect_then_xray_centre
11
11
  * :ref:`flyscan_xray_centre_plan<flyscan>` - Triggers a hardware-based grid scan and moves to the X-ray centre as returned from ``zocalo``.
12
12
  * :ref:`grid_detect_then_xray_centre_plan<grid-detect-xrc>` - This top-level plan performs an :ref:`OAV grid detection <grid-detect>` then a :ref:`flyscan x-ray centre <flyscan>`.
13
13
 
14
- The diagram below shows all the plans that make up the ``grid_detect_then_xray_centre_plan``. The colors indicate where these plans can be found.
14
+ The diagram below shows all the plans that make up the ``grid_detect_then_xray_centre_plan``.
15
15
 
16
16
  .. image:: grid_detect_then_xray_centre.drawio.png
17
17
 
@@ -20,21 +20,22 @@ The diagram below shows all the plans that make up the ``grid_detect_then_xray_c
20
20
  Grid Detect Then Xray Centre Plan
21
21
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22
22
 
23
- `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py>`__ does the following, in roughly this order:
23
+ `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py>`__ does the following, in roughly this order:
24
24
 
25
25
  1. If called standalone, start preparing for data collection.
26
- 2. Perform an :ref:`OAV grid detection <grid-detect>`.
27
- 3. Convert the parameters calculated in step 2 into something we can send to the flyscan X-ray centre.
28
- 4. Move the backlight out, set the aperture to small, and wait for the detector to finish moving.
29
- 5. Perform a :ref:`flyscan X-ray centre <flyscan>`.
30
- 6. Move the sample based on the results of step 5.
26
+ 2. Move the beamstop into place if it isn't already.
27
+ 3. Perform an :ref:`OAV grid detection <grid-detect>`.
28
+ 4. Convert the parameters calculated in step 2 into something we can send to the flyscan X-ray centre.
29
+ 5. Move the backlight out, set the aperture to small, and wait for the detector to finish moving.
30
+ 6. Perform a :ref:`flyscan X-ray centre <flyscan>`.
31
+ 7. Move the sample based on the results of step 5.
31
32
 
32
33
  .. _grid-detect:
33
34
 
34
35
  OAV Grid Detection
35
36
  ~~~~~~~~~~~~~~~~~~
36
37
 
37
- `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py>`__ does the following, in roughly this order:
38
+ `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py>`__ does the following, in roughly this order:
38
39
 
39
40
  1. Move to omega 0.
40
41
  2. Calculate the 2D grid size using the edge arrays from the OAV.
@@ -48,7 +49,7 @@ OAV Grid Detection
48
49
  Flyscan Xray Centre No Move
49
50
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51
 
51
- `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py>`__ does the following, in roughly this order:
52
+ `This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py>`__ does the following, in roughly this order:
52
53
 
53
54
  1. Move to the desired transmission (and turn off xbpm feedback).
54
55
  2. Move to omega 0.
@@ -0,0 +1,14 @@
1
+ Containerised mx-bluesky
2
+ ========================
3
+
4
+ There are currently two images associated with this repository which are pushed on release: hyperion, and mx-bluesky-blueapi.
5
+
6
+ The Hyperion image exists because Hyperion was developed before BlueAPI was production-ready, and so doesn't use BlueAPI to schedule plans. This image is only really relevant for i03, and currently isn't used in production anywhere
7
+
8
+ The ``mx-bluesky-blueapi`` image exists as a minor extension of BlueAPI's image. BlueAPI's image contains the dependencies of BlueAPI, as well as the dependencies of BlueAPI, which includes dodal. When the BlueAPI service is launched, it will do a ``pip install --no deps`` of the plan repository. For MX, this means ``mx-bluesky`` gets installed without any of its dependencies. For this reason, we have created an ``mx-bluesky-blueapi`` image which installs these extra dependencies.
9
+
10
+ This image can be used with BlueAPI's original helmchart, the only change required in the ``values.yaml`` is::
11
+
12
+ image:
13
+ repository: ghcr.io/diamondlightsource/mx-bluesky-blueapi
14
+ tag: "{desired_version}"
@@ -17,6 +17,8 @@ Release
17
17
  6. You should now manually go through each line on the release notes and read it from the perspective of a beamline scientist. It should be clear from each what the change means to the beamline and should have links to easily find further info.
18
18
  7. Publish the release
19
19
 
20
+ NOTE FOR USING THE MX-BLUESKY-BLUEAPI IMAGE: If using this image with BlueAPI's helmchart for deployment, the version of dodal which is installed will be the version which is pinned in the BlueAPI, rather than what's in mx-bluesky's pyproject.toml. Before releasing, you should pin BlueAPI to a version which uses a dodal version which is compatible with itself AND mx-bluesky. The deployment will fail if BlueAPI has no version which works with the desired dodal version
21
+
20
22
  ------------------------
21
23
  Deciding release numbers
22
24
  ------------------------
@@ -42,6 +42,7 @@ Documentation is split into four categories, and each is also accessible from li
42
42
 
43
43
  explanations/decisions
44
44
  explanations/callback_and_run_logic
45
+ explanations/containerised_mx_bluesky
45
46
 
46
47
  +++
47
48
 
@@ -41,12 +41,12 @@ dependencies = [
41
41
  # These dependencies may be issued as pre-release versions and should have a pin constraint
42
42
  # as by default pip-install will not upgrade to a pre-release.
43
43
  #
44
- "blueapi >= 0.5.0",
44
+ "blueapi >= 0.11.1",
45
45
  "daq-config-server == 0.1.1",
46
46
  "ophyd >= 1.10.5",
47
47
  "ophyd-async >= 0.10.0a2",
48
48
  "bluesky >= 1.13.1",
49
- "dls-dodal == 1.48.0"
49
+ "dls-dodal == 1.49.0",
50
50
  ]
51
51
 
52
52
 
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '1.4.9'
21
- __version_tuple__ = version_tuple = (1, 4, 9)
20
+ __version__ = version = '1.5.0'
21
+ __version_tuple__ = version_tuple = (1, 5, 0)
@@ -2,7 +2,8 @@ from mx_bluesky.beamlines.i24.serial.web_gui_plans.general_plans import (
2
2
  gui_gonio_move_on_click,
3
3
  gui_move_backlight,
4
4
  gui_move_detector,
5
- gui_set_parameters,
5
+ gui_run_chip_collection,
6
+ gui_set_zoom_level,
6
7
  gui_sleep,
7
8
  gui_stage_move_on_click,
8
9
  )
@@ -57,6 +58,7 @@ __all__ = [
57
58
  "gui_gonio_move_on_click",
58
59
  "gui_sleep",
59
60
  "gui_move_detector",
60
- "gui_set_parameters",
61
+ "gui_run_chip_collection",
61
62
  "gui_move_backlight",
63
+ "gui_set_zoom_level",
62
64
  ]
@@ -8,6 +8,10 @@ env:
8
8
  broadcast_status_events: false
9
9
  api:
10
10
  port: 25565
11
+ cors:
12
+ allow_credentials: True
13
+ origins:
14
+ - "*"
11
15
  stomp:
12
16
  enabled: true
13
17
  host: i24-control.diamond.ac.uk
@@ -684,6 +684,38 @@ def run_fixed_target_plan(
684
684
  # DCID instance - do not create yet
685
685
  dcid = DCID(emit_errors=False, expt_params=parameters)
686
686
 
687
+ yield from run_plan_in_wrapper(
688
+ zebra,
689
+ pmac,
690
+ aperture,
691
+ backlight,
692
+ beamstop,
693
+ detector_stage,
694
+ shutter,
695
+ dcm,
696
+ mirrors,
697
+ beam_center_device,
698
+ parameters,
699
+ dcid,
700
+ pilatus_metadata,
701
+ )
702
+
703
+
704
+ def run_plan_in_wrapper(
705
+ zebra: Zebra,
706
+ pmac: PMAC,
707
+ aperture: Aperture,
708
+ backlight: DualBacklight,
709
+ beamstop: Beamstop,
710
+ detector_stage: DetectorMotion,
711
+ shutter: HutchShutter,
712
+ dcm: DCM,
713
+ mirrors: FocusMirrorsMode,
714
+ beam_center_device: DetectorBeamCenter,
715
+ parameters: FixedTargetParameters,
716
+ dcid: DCID,
717
+ pilatus_metadata: PilatusMetadata,
718
+ ) -> MsgGenerator:
687
719
  yield from bpp.contingency_wrapper(
688
720
  main_fixed_target_plan(
689
721
  zebra,
@@ -256,6 +256,7 @@ def upload_chip_map_to_geobrick(pmac: PMAC, chip_map: list[int]) -> MsgGenerator
256
256
  """
257
257
  SSX_LOGGER.info("Uploading Parameters for Oxford Chip to the GeoBrick")
258
258
  SSX_LOGGER.info(f"Chipid {ChipType.Oxford}, width {OXFORD_CHIP_WIDTH}")
259
+ SSX_LOGGER.warning(f"MAP TO UPLOAD: {chip_map}")
259
260
  for block in range(1, 65):
260
261
  value = 1 if block in chip_map else 0
261
262
  pvar = PVAR_TEMPLATE % block
@@ -264,7 +265,7 @@ def upload_chip_map_to_geobrick(pmac: PMAC, chip_map: list[int]) -> MsgGenerator
264
265
  yield from bps.abs_set(pmac.pmac_string, pvar_str, wait=True)
265
266
  # Wait for PMAC to be done processing PVAR string
266
267
  yield from bps.sleep(0.02)
267
- SSX_LOGGER.debug("Upload parameters done.")
268
+ SSX_LOGGER.info("Upload parameters done.")
268
269
 
269
270
 
270
271
  @log_on_entry
@@ -3,19 +3,34 @@ from typing import Literal
3
3
 
4
4
  import bluesky.plan_stubs as bps
5
5
  import bluesky.preprocessors as bpp
6
- from blueapi.core import MsgGenerator
6
+ from bluesky.utils import MsgGenerator
7
7
  from dodal.beamlines import i24
8
8
  from dodal.common import inject
9
+ from dodal.devices.hutch_shutter import HutchShutter
10
+ from dodal.devices.i24.aperture import Aperture
11
+ from dodal.devices.i24.beam_center import DetectorBeamCenter
12
+ from dodal.devices.i24.beamstop import Beamstop
13
+ from dodal.devices.i24.dcm import DCM
9
14
  from dodal.devices.i24.dual_backlight import BacklightPositions, DualBacklight
15
+ from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
10
16
  from dodal.devices.i24.i24_detector_motion import DetectorMotion
17
+ from dodal.devices.i24.pilatus_metadata import PilatusMetadata
11
18
  from dodal.devices.i24.pmac import PMAC
12
- from dodal.devices.oav.oav_detector import OAV
19
+ from dodal.devices.oav.oav_detector import OAVBeamCentreFile
20
+ from dodal.devices.zebra.zebra import Zebra
13
21
 
22
+ from mx_bluesky.beamlines.i24.serial.dcid import DCID
14
23
  from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import (
15
24
  ChipType,
16
25
  MappingType,
17
26
  PumpProbeSetting,
18
27
  )
28
+ from mx_bluesky.beamlines.i24.serial.fixed_target.i24ssx_Chip_Collect_py3v1 import (
29
+ run_plan_in_wrapper,
30
+ )
31
+ from mx_bluesky.beamlines.i24.serial.fixed_target.i24ssx_Chip_Manager_py3v1 import (
32
+ upload_chip_map_to_geobrick,
33
+ )
19
34
  from mx_bluesky.beamlines.i24.serial.fixed_target.i24ssx_moveonclick import (
20
35
  _move_on_mouse_click_plan,
21
36
  )
@@ -24,6 +39,7 @@ from mx_bluesky.beamlines.i24.serial.log import (
24
39
  _read_visit_directory_from_file,
25
40
  )
26
41
  from mx_bluesky.beamlines.i24.serial.parameters import (
42
+ DetectorName,
27
43
  FixedTargetParameters,
28
44
  get_chip_format,
29
45
  )
@@ -46,9 +62,19 @@ def gui_move_backlight(
46
62
  SSX_LOGGER.debug(f"Backlight moved to {bl_pos.value}")
47
63
 
48
64
 
65
+ @bpp.run_decorator()
66
+ def gui_set_zoom_level(
67
+ position: str, oav: OAVBeamCentreFile = inject("oav")
68
+ ) -> MsgGenerator:
69
+ yield from bps.abs_set(oav.zoom_controller, position, wait=True)
70
+ SSX_LOGGER.debug(f"Setting zoom level to {position}")
71
+
72
+
49
73
  @bpp.run_decorator()
50
74
  def gui_stage_move_on_click(
51
- position_px: tuple[int, int], oav: OAV = inject("oav"), pmac: PMAC = inject("pmac")
75
+ position_px: tuple[int, int],
76
+ oav: OAVBeamCentreFile = inject("oav"),
77
+ pmac: PMAC = inject("pmac"),
52
78
  ) -> MsgGenerator:
53
79
  yield from _move_on_mouse_click_plan(oav, pmac, position_px)
54
80
 
@@ -88,7 +114,7 @@ def gui_move_detector(
88
114
 
89
115
 
90
116
  @bpp.run_decorator()
91
- def gui_set_parameters(
117
+ def gui_run_chip_collection(
92
118
  sub_dir: str,
93
119
  chip_name: str,
94
120
  exp_time: float,
@@ -103,6 +129,18 @@ def gui_set_parameters(
103
129
  laser_dwell: float,
104
130
  laser_delay: float,
105
131
  pre_pump: float,
132
+ pmac: PMAC = inject("pmac"),
133
+ zebra: Zebra = inject("zebra"),
134
+ aperture: Aperture = inject("aperture"),
135
+ backlight: DualBacklight = inject("backlight"),
136
+ beamstop: Beamstop = inject("beamstop"),
137
+ detector_stage: DetectorMotion = inject("detector_motion"),
138
+ shutter: HutchShutter = inject("shutter"),
139
+ dcm: DCM = inject("dcm"),
140
+ mirrors: FocusMirrorsMode = inject("focus_mirrors"),
141
+ beam_center_pilatus: DetectorBeamCenter = inject("pilatus_bc"),
142
+ beam_center_eiger: DetectorBeamCenter = inject("eiger_bc"),
143
+ pilatus_metadata: PilatusMetadata = inject("pilatus_meta"),
106
144
  ) -> MsgGenerator:
107
145
  """Set the parameter model for the data collection.
108
146
 
@@ -132,7 +170,6 @@ def gui_set_parameters(
132
170
  """
133
171
  # NOTE still a work in progress, adding to it as the ui grows
134
172
  # See progression of https://github.com/DiamondLightSource/mx-daq-ui/issues/3
135
- detector_stage = i24.detector_motion()
136
173
  det_type = yield from get_detector_type(detector_stage)
137
174
  _format = chip_format if ChipType[chip_type] is ChipType.Custom else None
138
175
  chip_params = get_chip_format(ChipType[chip_type], _format)
@@ -164,6 +201,38 @@ def gui_set_parameters(
164
201
  "checker_pattern": checker_pattern,
165
202
  "pre_pump_exposure_s": pre_pump,
166
203
  }
167
- # TODO run the run_fixed_target plan once params are set (GUI not ready yet)
168
- yield from bps.sleep(0.5)
169
- return FixedTargetParameters(**params)
204
+
205
+ parameters = FixedTargetParameters(**params)
206
+
207
+ # Create collection directory
208
+ parameters.collection_directory.mkdir(parents=True, exist_ok=True)
209
+
210
+ if parameters.chip_map:
211
+ yield from upload_chip_map_to_geobrick(pmac, parameters.chip_map)
212
+
213
+ beam_center_device = (
214
+ beam_center_eiger
215
+ if parameters.detector_name is DetectorName.EIGER
216
+ else beam_center_pilatus
217
+ )
218
+ SSX_LOGGER.info("Beam center device ready")
219
+
220
+ # DCID instance - do not create yet
221
+ dcid = DCID(emit_errors=False, expt_params=parameters) # noqa
222
+ SSX_LOGGER.info("DCID created")
223
+
224
+ yield from run_plan_in_wrapper(
225
+ zebra,
226
+ pmac,
227
+ aperture,
228
+ backlight,
229
+ beamstop,
230
+ detector_stage,
231
+ shutter,
232
+ dcm,
233
+ mirrors,
234
+ beam_center_device,
235
+ parameters,
236
+ dcid,
237
+ pilatus_metadata,
238
+ )
@@ -10,6 +10,7 @@ from dodal.devices.detector.detector_motion import DetectorMotion
10
10
  from dodal.devices.smargon import CombinedMove, Smargon
11
11
 
12
12
  from mx_bluesky.common.utils.log import LOGGER
13
+ from mx_bluesky.hyperion.parameters.constants import CONST
13
14
 
14
15
  LOWER_DETECTOR_SHUTTER_AFTER_SCAN = True
15
16
 
@@ -21,6 +22,8 @@ def setup_sample_environment(
21
22
  group="setup_senv",
22
23
  ):
23
24
  """Move the aperture into required position, move out the backlight."""
25
+ yield from bps.abs_set(backlight, BacklightPosition.OUT, group=group)
26
+
24
27
  aperture_value = (
25
28
  None
26
29
  if not aperture_position_gda_name
@@ -29,7 +32,6 @@ def setup_sample_environment(
29
32
  yield from move_aperture_if_required(
30
33
  aperture_scatterguard, aperture_value, group=group
31
34
  )
32
- yield from bps.abs_set(backlight, BacklightPosition.OUT, group=group)
33
35
 
34
36
 
35
37
  def move_aperture_if_required(
@@ -46,6 +48,7 @@ def move_aperture_if_required(
46
48
 
47
49
  else:
48
50
  LOGGER.info(f"Setting aperture position to {aperture_value}")
51
+ yield from bps.wait(CONST.WAIT.PREPARE_APERTURE)
49
52
  yield from bps.abs_set(
50
53
  aperture_scatterguard.selected_aperture,
51
54
  aperture_value,
@@ -3,12 +3,8 @@ from collections.abc import Generator
3
3
  from bluesky import plan_stubs as bps
4
4
  from bluesky import preprocessors as bpp
5
5
  from bluesky.utils import Msg
6
- from dodal.devices.detector import (
7
- DetectorParams,
8
- )
9
6
  from dodal.devices.detector.detector_motion import DetectorMotion, ShutterState
10
7
  from dodal.devices.eiger import EigerDetector
11
- from dodal.devices.i03.dcm import DCM
12
8
  from dodal.devices.mx_phase1.beamstop import Beamstop, BeamstopPositions
13
9
 
14
10
  from mx_bluesky.common.device_setup_plans.position_detector import (
@@ -17,13 +13,6 @@ from mx_bluesky.common.device_setup_plans.position_detector import (
17
13
  )
18
14
 
19
15
 
20
- def fill_in_energy_if_not_supplied(dcm: DCM, detector_params: DetectorParams):
21
- if not detector_params.expected_energy_ev:
22
- actual_energy_ev = 1000 * (yield from bps.rd(dcm.energy_in_kev))
23
- detector_params.expected_energy_ev = actual_energy_ev
24
- return detector_params
25
-
26
-
27
16
  def start_preparing_data_collection_then_do_plan(
28
17
  beamstop: Beamstop,
29
18
  eiger: EigerDetector,
@@ -7,35 +7,32 @@ from functools import partial
7
7
  import bluesky.plan_stubs as bps
8
8
  import bluesky.preprocessors as bpp
9
9
  import numpy as np
10
- import pydantic
11
10
  from bluesky.protocols import Readable
12
11
  from bluesky.utils import MsgGenerator
13
- from dodal.devices.eiger import EigerDetector
14
12
  from dodal.devices.fast_grid_scan import (
15
13
  FastGridScanCommon,
16
14
  )
17
- from dodal.devices.smargon import Smargon
18
- from dodal.devices.synchrotron import Synchrotron
19
15
  from dodal.devices.zocalo import ZocaloResults
20
16
  from dodal.devices.zocalo.zocalo_results import (
21
17
  XrcResult,
22
18
  get_full_processing_results,
23
19
  )
24
20
 
21
+ from mx_bluesky.common.experiment_plans.inner_plans.do_fgs import (
22
+ ZOCALO_STAGE_GROUP,
23
+ kickoff_and_complete_gridscan,
24
+ )
25
+ from mx_bluesky.common.experiment_plans.read_hardware import (
26
+ read_hardware_plan,
27
+ )
25
28
  from mx_bluesky.common.parameters.constants import (
26
29
  DocDescriptorNames,
27
30
  GridscanParamConstants,
28
31
  PlanGroupCheckpointConstants,
29
32
  PlanNameConstants,
30
33
  )
34
+ from mx_bluesky.common.parameters.device_composites import FlyScanEssentialDevices
31
35
  from mx_bluesky.common.parameters.gridscan import SpecifiedThreeDGridScan
32
- from mx_bluesky.common.plans.inner_plans.do_fgs import (
33
- ZOCALO_STAGE_GROUP,
34
- kickoff_and_complete_gridscan,
35
- )
36
- from mx_bluesky.common.plans.read_hardware import (
37
- read_hardware_plan,
38
- )
39
36
  from mx_bluesky.common.utils.exceptions import (
40
37
  CrystalNotFoundException,
41
38
  SampleException,
@@ -45,14 +42,6 @@ from mx_bluesky.common.utils.tracing import TRACER
45
42
  from mx_bluesky.common.xrc_result import XRayCentreResult
46
43
 
47
44
 
48
- @pydantic.dataclasses.dataclass(config={"arbitrary_types_allowed": True})
49
- class FlyScanEssentialDevices:
50
- eiger: EigerDetector
51
- synchrotron: Synchrotron
52
- zocalo: ZocaloResults
53
- smargon: Smargon
54
-
55
-
56
45
  @dataclasses.dataclass
57
46
  class BeamlineSpecificFGSFeatures:
58
47
  setup_trigger_plan: Callable[..., MsgGenerator]
@@ -251,6 +240,9 @@ def run_gridscan(
251
240
  parameters.scan_indices,
252
241
  plan_during_collection=beamline_specific.read_during_collection_plan,
253
242
  )
243
+
244
+ # GDA's gridscans requires Z steps to be at 0, so make sure we leave this device
245
+ # in a GDA-happy state.
254
246
  yield from bps.abs_set(beamline_specific.fgs_motors.z_steps, 0, wait=False)
255
247
 
256
248