mx-bluesky 1.4.3__tar.gz → 1.4.4__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 (449) hide show
  1. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/PKG-INFO +2 -2
  2. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/pyproject.toml +1 -1
  3. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/_version.py +2 -2
  4. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +4 -15
  5. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/parameters/components.py +0 -1
  6. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/parameters/gridscan.py +6 -1
  7. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/plans/do_fgs.py +0 -6
  8. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -3
  9. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +5 -3
  10. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +20 -5
  11. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/gridscan.py +1 -3
  12. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
  13. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/SOURCES.txt +1 -0
  14. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/requires.txt +1 -1
  15. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/conftest.py +4 -3
  16. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +2 -1
  17. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +2 -1
  18. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +2 -1
  19. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +2 -1
  20. mx_bluesky-1.4.4/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +60 -0
  21. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +1 -8
  22. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/plan_stubs/test_do_fgs.py +0 -6
  23. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/conftest.py +29 -12
  24. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +12 -19
  25. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +21 -34
  26. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +0 -5
  27. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +20 -0
  28. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +1 -1
  29. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/test_main_system.py +47 -6
  30. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.copier-answers.yml +0 -0
  31. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.coveragerc +0 -0
  32. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.devcontainer/Dockerfile +0 -0
  33. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.devcontainer/devcontainer.json +0 -0
  34. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.dockerignore +0 -0
  35. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/CONTRIBUTING.md +0 -0
  36. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  37. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  38. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  39. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/actions/install_requirements/action.yml +0 -0
  40. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/actions/verify-nexus/Dockerfile +0 -0
  41. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/actions/verify-nexus/action.yml +0 -0
  42. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  43. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/dependabot.yml +0 -0
  44. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/pages/index.html +0 -0
  45. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/pages/make_switcher.py +0 -0
  46. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_check.yml +0 -0
  47. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_container.yml +0 -0
  48. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_dist.yml +0 -0
  49. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_docs.yml +0 -0
  50. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_pypi.yml +0 -0
  51. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_release.yml +0 -0
  52. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_test.yml +0 -0
  53. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/_tox.yml +0 -0
  54. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/ci.yml +0 -0
  55. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.github/workflows/periodic.yml +0 -0
  56. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.gitignore +0 -0
  57. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.pre-commit-config.yaml +0 -0
  58. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/extensions.json +0 -0
  59. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/launch.json +0 -0
  60. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/mx-bluesky.code-workspace +0 -0
  61. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  62. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/settings.json +0 -0
  63. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/.vscode/tasks.json +0 -0
  64. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/Dockerfile +0 -0
  65. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/Dockerfile.release +0 -0
  66. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/LICENSE +0 -0
  67. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/README.rst +0 -0
  68. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/catalog-info.yaml +0 -0
  69. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/codecov.yml +0 -0
  70. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/conftest.py +0 -0
  71. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/_api.rst +0 -0
  72. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/_templates/custom-module-template.rst +0 -0
  73. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/conf.py +0 -0
  74. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  75. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  76. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  77. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/explanations/decisions.rst +0 -0
  78. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/contribute.rst +0 -0
  79. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/create-a-release.rst +0 -0
  80. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  81. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
  82. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
  83. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
  84. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
  85. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
  86. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/how-to/get-started.rst +0 -0
  87. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/index.rst +0 -0
  88. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/reference/standards.rst +0 -0
  89. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/general/tutorials/profile-tests.rst +0 -0
  90. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  91. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/hyperion/index.rst +0 -0
  92. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/hyperion/reference/gridscan.puml +0 -0
  93. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  94. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/hyperion/reference/readme.md +0 -0
  95. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/index.rst +0 -0
  96. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  97. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  98. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/murko-integration/index.rst +0 -0
  99. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  100. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  101. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  102. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  103. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
  104. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  105. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  106. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/images/dls-favicon.ico +0 -0
  107. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/images/dls-logo.svg +0 -0
  108. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/docs/index.rst +0 -0
  109. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/helmchart/Chart.yaml +0 -0
  110. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/helmchart/templates/deployment.yaml +0 -0
  111. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/helmchart/templates/ingress.yaml +0 -0
  112. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/helmchart/templates/service.yaml +0 -0
  113. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/helmchart/values.yaml +0 -0
  114. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  115. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  116. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/code.yml +0 -0
  117. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/container_tests.sh +0 -0
  118. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  119. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  120. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/linkcheck.yml +0 -0
  121. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  122. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  123. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/pin_versions.py +0 -0
  124. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  125. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  126. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  127. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/test_data/setup.cfg +0 -0
  128. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  129. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  130. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/hyperion_other/workflows/test_pin_versions.py +0 -0
  131. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/run_hyperion.sh +0 -0
  132. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/run_hyperion_in_podman.sh +0 -0
  133. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/setup.cfg +0 -0
  134. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/__init__.py +0 -0
  135. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/__main__.py +0 -0
  136. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/__init__.py +0 -0
  137. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  138. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  139. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +0 -0
  140. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
  141. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  142. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  143. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  144. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  145. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  146. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  147. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  148. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  149. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  150. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  151. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  152. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  153. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  154. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  155. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  156. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  157. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  158. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  159. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  160. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
  161. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
  162. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  163. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  164. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -0
  165. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
  166. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  167. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  168. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  169. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  170. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  171. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  172. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  173. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  174. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  175. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  176. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  177. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  178. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  179. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  180. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  181. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  182. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  183. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  184. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  185. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  186. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  187. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  188. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  189. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  190. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  191. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/__init__.py +0 -0
  192. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +0 -0
  193. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
  194. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
  195. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
  196. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/aperture_change_callback.py +0 -0
  197. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
  198. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
  199. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  200. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
  201. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
  202. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
  203. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  204. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
  205. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  206. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  207. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
  208. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
  209. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
  210. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
  211. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
  212. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
  213. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
  214. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
  215. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
  216. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/external_interaction/test_config_server.py +0 -0
  217. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/parameters/constants.py +0 -0
  218. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/plans/__init__.py +0 -0
  219. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/utils/exceptions.py +0 -0
  220. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/utils/log.py +0 -0
  221. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/utils/tracing.py +0 -0
  222. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/common/utils/utils.py +0 -0
  223. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/__init__.py +0 -0
  224. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/__main__.py +0 -0
  225. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
  226. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/check_beamstop.py +0 -0
  227. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  228. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
  229. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
  230. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +0 -0
  231. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +0 -0
  232. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  233. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  234. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  235. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  236. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +0 -0
  237. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  238. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +0 -0
  239. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/common/xrc_result.py +0 -0
  240. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
  241. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +0 -0
  242. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +0 -0
  243. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
  244. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +0 -0
  245. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +0 -0
  246. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  247. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  248. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
  249. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
  250. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
  251. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
  252. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  253. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  254. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/__init__.py +0 -0
  255. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
  256. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  257. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +0 -0
  258. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  259. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  260. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  261. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
  262. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  263. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  264. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  265. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
  266. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
  267. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
  268. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
  269. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  270. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  271. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  272. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/hyperion/utils/validation.py +0 -0
  273. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  274. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  275. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  276. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  277. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/start_jupyter.sh +0 -0
  278. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/__init__.py +0 -0
  279. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/__init__.py +0 -0
  280. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/conftest.py +0 -0
  281. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/__init__.py +0 -0
  282. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/experiment_plans/__init__.py +0 -0
  283. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +0 -0
  284. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +0 -0
  285. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  286. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  287. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  288. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/conftest.py +0 -0
  289. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
  290. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  291. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +0 -0
  292. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +0 -0
  293. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  294. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
  295. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +0 -0
  296. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
  297. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/README.md +0 -0
  298. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  299. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  300. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  301. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  302. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  303. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  304. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  305. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  306. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
  307. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  308. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  309. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  310. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  311. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -0
  312. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  313. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
  314. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  315. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  316. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/scratch/README +0 -0
  317. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_OAVCentring.json +0 -0
  318. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  319. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  320. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_beamline_parameters.txt +0 -0
  321. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  322. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_config.cfg +0 -0
  323. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  324. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  325. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  326. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
  327. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_det_dist_converter.txt +0 -0
  328. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_display.configuration +0 -0
  329. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  330. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_lookup_table.txt +0 -0
  331. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/test_data/test_mirror_focus.json +0 -0
  332. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/__init__.py +0 -0
  333. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/__init__.py +0 -0
  334. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  335. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
  336. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i04/test_thawing.py +0 -0
  337. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
  338. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  339. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
  340. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  341. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  342. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  343. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  344. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  345. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
  346. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  347. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
  348. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  349. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  350. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  351. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  352. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  353. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  354. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  355. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  356. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  357. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
  358. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/__init__.py +0 -0
  359. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +0 -0
  360. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/__init__.py +0 -0
  361. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/__init__.py +0 -0
  362. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/common/__init__.py +0 -0
  363. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
  364. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/ispyb/__init__.py +0 -0
  365. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
  366. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
  367. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  368. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
  369. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  370. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
  371. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
  372. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
  373. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
  374. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +0 -0
  375. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
  376. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
  377. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
  378. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/utils/__init__.py +0 -0
  379. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/common/utils/test_log.py +0 -0
  380. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/conftest.py +0 -0
  381. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/__init__.py +0 -0
  382. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/conftest.py +0 -0
  383. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
  384. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_check_beamstop.py +0 -0
  385. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  386. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  387. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  388. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  389. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  390. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -0
  391. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  392. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  393. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
  394. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
  395. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  396. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +0 -0
  397. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +0 -0
  398. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +0 -0
  399. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  400. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
  401. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +0 -0
  402. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
  403. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  404. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  405. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  406. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  407. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  408. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  409. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  410. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
  411. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
  412. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  413. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  414. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  415. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  416. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  417. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  418. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  419. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  420. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  421. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  422. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  423. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
  424. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  425. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/test_utils.py +0 -0
  426. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  427. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  428. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  429. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/tests/unit_tests/test_cli.py +0 -0
  430. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/beam_off_trickery.sh +0 -0
  431. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/build_docker_image.sh +0 -0
  432. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/build_imginfo.sh +0 -0
  433. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/deploy/create_venv.py +0 -0
  434. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  435. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/deploy/deploy_hyperion_to_k8s.sh +0 -0
  436. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  437. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/deploy/test_deploy.py +0 -0
  438. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/dev_jaeger_container.sh +0 -0
  439. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/dls_dev_env.sh +0 -0
  440. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/docker/entrypoint.sh +0 -0
  441. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/docker/healthcheck.sh +0 -0
  442. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/docker/i03-compose.yml +0 -0
  443. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/generate_plantuml.py +0 -0
  444. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/graylog/Dockerfile +0 -0
  445. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/graylog/tcp_input.json +0 -0
  446. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/procserv_ioc_start.sh +0 -0
  447. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/run_imginfo.sh +0 -0
  448. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/setup_graylog.sh +0 -0
  449. {mx_bluesky-1.4.3 → mx_bluesky-1.4.4}/utility_scripts/strip_metafile.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mx-bluesky
3
- Version: 1.4.3
3
+ Version: 1.4.4
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
@@ -239,7 +239,7 @@ Requires-Dist: daq-config-server>=0.1.1
239
239
  Requires-Dist: ophyd==1.9.0
240
240
  Requires-Dist: ophyd-async>=0.8a5
241
241
  Requires-Dist: bluesky>=1.13
242
- Requires-Dist: dls-dodal==1.38.0
242
+ Requires-Dist: dls-dodal==1.39.0
243
243
  Provides-Extra: dev
244
244
  Requires-Dist: black; extra == "dev"
245
245
  Requires-Dist: build; extra == "dev"
@@ -46,7 +46,7 @@ dependencies = [
46
46
  "ophyd == 1.9.0",
47
47
  "ophyd-async >= 0.8a5",
48
48
  "bluesky >= 1.13",
49
- "dls-dodal == 1.38.0",
49
+ "dls-dodal == 1.39.0",
50
50
  ]
51
51
 
52
52
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.4.3'
16
- __version_tuple__ = version_tuple = (1, 4, 3)
15
+ __version__ = version = '1.4.4'
16
+ __version_tuple__ = version_tuple = (1, 4, 4)
@@ -7,7 +7,6 @@ from dodal.devices.zocalo import ZocaloStartInfo, ZocaloTrigger
7
7
 
8
8
  from mx_bluesky.common.parameters.constants import (
9
9
  DocDescriptorNames,
10
- TriggerConstants,
11
10
  )
12
11
  from mx_bluesky.common.utils.exceptions import ISPyBDepositionNotMade
13
12
  from mx_bluesky.common.utils.log import ISPYB_ZOCALO_CALLBACK_LOGGER
@@ -30,27 +29,17 @@ class ZocaloCallback(CallbackBase):
30
29
 
31
30
  def _reset_state(self):
32
31
  self.run_uid: str | None = None
33
- self.triggering_plan: str | None = None
34
- self.zocalo_interactor: ZocaloTrigger | None = None
35
32
  self.zocalo_info: list[ZocaloStartInfo] = []
36
33
  self.descriptors: dict[str, EventDescriptor] = {}
37
34
 
38
- def __init__(
39
- self,
40
- ):
35
+ def __init__(self, triggering_plan: str, zocalo_environment: str):
41
36
  super().__init__()
37
+ self.triggering_plan = triggering_plan
38
+ self.zocalo_interactor = ZocaloTrigger(zocalo_environment)
42
39
  self._reset_state()
43
40
 
44
41
  def start(self, doc: RunStart):
45
42
  ISPYB_ZOCALO_CALLBACK_LOGGER.info("Zocalo handler received start document.")
46
- if triggering_plan := doc.get(TriggerConstants.ZOCALO):
47
- self.triggering_plan = triggering_plan
48
- assert isinstance(zocalo_environment := doc.get("zocalo_environment"), str)
49
- ISPYB_ZOCALO_CALLBACK_LOGGER.info(
50
- f"Zocalo environment set to {zocalo_environment}."
51
- )
52
- self.zocalo_interactor = ZocaloTrigger(zocalo_environment)
53
-
54
43
  if self.triggering_plan and doc.get("subplan_name") == self.triggering_plan:
55
44
  self.run_uid = doc.get("uid")
56
45
  assert isinstance(scan_points := doc.get("scan_points"), list)
@@ -58,6 +47,7 @@ class ZocaloCallback(CallbackBase):
58
47
  isinstance(ispyb_ids := doc.get("ispyb_dcids"), tuple)
59
48
  and len(ispyb_ids) > 0
60
49
  ):
50
+ ISPYB_ZOCALO_CALLBACK_LOGGER.info(f"Zocalo triggering for {ispyb_ids}")
61
51
  ids_and_shape = list(zip(ispyb_ids, scan_points, strict=False))
62
52
  start_frame = 0
63
53
  self.zocalo_info = []
@@ -82,7 +72,6 @@ class ZocaloCallback(CallbackBase):
82
72
  filename = doc["data"]["eiger_odin_file_writer_id"]
83
73
  for start_info in self.zocalo_info:
84
74
  start_info.filename = filename
85
- assert self.zocalo_interactor is not None
86
75
  self.zocalo_interactor.run_start(start_info)
87
76
  return doc
88
77
 
@@ -93,7 +93,6 @@ class IspybExperimentType(StrEnum):
93
93
 
94
94
  class MxBlueskyParameters(BaseModel):
95
95
  model_config = ConfigDict(
96
- arbitrary_types_allowed=True,
97
96
  extra="allow",
98
97
  )
99
98
 
@@ -29,8 +29,13 @@ class GridCommon(
29
29
  DiffractionExperimentWithSample,
30
30
  OptionalGonioAngleStarts,
31
31
  ):
32
- """Parameters used in every MX diffraction experiment using grids. This model should be used by plans which have no knowledge of the grid specifications - i.e before automatic grid detection has completed"""
32
+ """
33
+ Parameters used in every MX diffraction experiment using grids. This model should
34
+ be used by plans which have no knowledge of the grid specifications - i.e before
35
+ automatic grid detection has completed
36
+ """
33
37
 
38
+ box_size_um: float = Field(default=GridscanParamConstants.BOX_WIDTH_UM)
34
39
  grid_width_um: float = Field(default=GridscanParamConstants.WIDTH_UM)
35
40
  exposure_time_s: float = Field(default=GridscanParamConstants.EXPOSURE_TIME_S)
36
41
 
@@ -18,9 +18,7 @@ from mx_bluesky.common.device_setup_plans.read_hardware_for_setup import (
18
18
  read_hardware_for_zocalo,
19
19
  )
20
20
  from mx_bluesky.common.parameters.constants import (
21
- EnvironmentConstants,
22
21
  PlanNameConstants,
23
- TriggerConstants,
24
22
  )
25
23
  from mx_bluesky.common.utils.tracing import TRACER
26
24
 
@@ -70,7 +68,6 @@ def kickoff_and_complete_gridscan(
70
68
  scan_points: list[AxesPoints[Axis]],
71
69
  scan_start_indices: list[int],
72
70
  plan_during_collection: Callable[[], MsgGenerator] | None = None,
73
- zocalo_environment: str = EnvironmentConstants.ZOCALO_ENV,
74
71
  ):
75
72
  """Triggers a grid scan motion program and waits for completion, accounting for synchrotron topup.
76
73
  If the RunEngine is subscribed to ZocaloCallback, this plan will also trigger Zocalo.
@@ -86,7 +83,6 @@ def kickoff_and_complete_gridscan(
86
83
  scan_start_indices (list[int]): Contains the first index of each grid scan
87
84
  plan_during_collection (Optional, MsgGenerator): Generic plan called in between kickoff and completion,
88
85
  eg waiting on zocalo.
89
- zocalo_environment (Optional, str) Used for zocalo connection
90
86
  """
91
87
 
92
88
  assert len(scan_points) == len(scan_start_indices), (
@@ -100,10 +96,8 @@ def kickoff_and_complete_gridscan(
100
96
  @bpp.run_decorator(
101
97
  md={
102
98
  "subplan_name": plan_name,
103
- TriggerConstants.ZOCALO: plan_name,
104
99
  "scan_points": scan_points,
105
100
  "scan_start_indices": scan_start_indices,
106
- "zocalo_environment": zocalo_environment,
107
101
  }
108
102
  )
109
103
  @bpp.contingency_decorator(
@@ -368,8 +368,6 @@ def rotation_scan(
368
368
  @bpp.run_decorator( # attach experiment metadata to the start document
369
369
  md={
370
370
  "subplan_name": CONST.PLAN.ROTATION_OUTER,
371
- CONST.TRIGGER.ZOCALO: CONST.PLAN.ROTATION_MAIN,
372
- "zocalo_environment": CONST.ZOCALO_ENV,
373
371
  "mx_bluesky_parameters": parameters.model_dump_json(),
374
372
  "activate_callbacks": [
375
373
  "RotationISPyBCallback",
@@ -443,7 +441,6 @@ def multi_rotation_scan(
443
441
  @bpp.run_decorator( # attach experiment metadata to the start document
444
442
  md={
445
443
  "subplan_name": CONST.PLAN.ROTATION_OUTER,
446
- CONST.TRIGGER.ZOCALO: CONST.PLAN.ROTATION_MAIN,
447
444
  "mx_bluesky_parameters": single_scan.model_dump_json(),
448
445
  }
449
446
  )
@@ -49,14 +49,16 @@ ERROR_LOG_BUFFER_LINES = 5000
49
49
 
50
50
 
51
51
  def setup_callbacks():
52
- zocalo = ZocaloCallback()
53
52
  return [
54
53
  GridscanNexusFileCallback(param_type=HyperionSpecifiedThreeDGridScan),
55
54
  GridscanISPyBCallback(
56
- param_type=GridCommonWithHyperionDetectorParams, emit=zocalo
55
+ param_type=GridCommonWithHyperionDetectorParams,
56
+ emit=ZocaloCallback(CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV),
57
57
  ),
58
58
  RotationNexusFileCallback(),
59
- RotationISPyBCallback(emit=zocalo),
59
+ RotationISPyBCallback(
60
+ emit=ZocaloCallback(CONST.PLAN.ROTATION_MAIN, CONST.ZOCALO_ENV)
61
+ ),
60
62
  LogUidTaggingCallback(),
61
63
  RobotLoadISPyBCallback(),
62
64
  SampleHandlingCallback(),
@@ -23,6 +23,7 @@ from mx_bluesky.hyperion.external_interaction.callbacks.rotation.nexus_callback
23
23
  from mx_bluesky.hyperion.external_interaction.callbacks.sample_handling.sample_handling_callback import (
24
24
  SampleHandlingCallback,
25
25
  )
26
+ from mx_bluesky.hyperion.parameters.constants import CONST
26
27
  from mx_bluesky.hyperion.parameters.gridscan import (
27
28
  GridCommonWithHyperionDetectorParams,
28
29
  HyperionSpecifiedThreeDGridScan,
@@ -34,10 +35,12 @@ CallbacksFactory = Callable[[], tuple[CallbackBase, ...]]
34
35
  def create_robot_load_and_centre_callbacks() -> tuple[
35
36
  GridscanNexusFileCallback, GridscanISPyBCallback, RobotLoadISPyBCallback
36
37
  ]:
38
+ """Note: This is not actually used in production, see https://github.com/DiamondLightSource/mx-bluesky/issues/516"""
37
39
  return (
38
40
  GridscanNexusFileCallback(param_type=HyperionSpecifiedThreeDGridScan),
39
41
  GridscanISPyBCallback(
40
- param_type=GridCommonWithHyperionDetectorParams, emit=ZocaloCallback()
42
+ param_type=GridCommonWithHyperionDetectorParams,
43
+ emit=ZocaloCallback(CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV),
41
44
  ),
42
45
  RobotLoadISPyBCallback(),
43
46
  )
@@ -46,10 +49,12 @@ def create_robot_load_and_centre_callbacks() -> tuple[
46
49
  def create_gridscan_callbacks() -> tuple[
47
50
  GridscanNexusFileCallback, GridscanISPyBCallback
48
51
  ]:
52
+ """Note: This is not actually used in production, see https://github.com/DiamondLightSource/mx-bluesky/issues/516"""
49
53
  return (
50
54
  GridscanNexusFileCallback(param_type=HyperionSpecifiedThreeDGridScan),
51
55
  GridscanISPyBCallback(
52
- param_type=GridCommonWithHyperionDetectorParams, emit=ZocaloCallback()
56
+ param_type=GridCommonWithHyperionDetectorParams,
57
+ emit=ZocaloCallback(CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV),
53
58
  ),
54
59
  )
55
60
 
@@ -57,7 +62,13 @@ def create_gridscan_callbacks() -> tuple[
57
62
  def create_rotation_callbacks() -> tuple[
58
63
  RotationNexusFileCallback, RotationISPyBCallback
59
64
  ]:
60
- return (RotationNexusFileCallback(), RotationISPyBCallback(emit=ZocaloCallback()))
65
+ """Note: This is not actually used in production, see https://github.com/DiamondLightSource/mx-bluesky/issues/516"""
66
+ return (
67
+ RotationNexusFileCallback(),
68
+ RotationISPyBCallback(
69
+ emit=ZocaloCallback(CONST.PLAN.ROTATION_MAIN, CONST.ZOCALO_ENV)
70
+ ),
71
+ )
61
72
 
62
73
 
63
74
  def create_load_centre_collect_callbacks() -> tuple[
@@ -68,13 +79,17 @@ def create_load_centre_collect_callbacks() -> tuple[
68
79
  RotationISPyBCallback,
69
80
  SampleHandlingCallback,
70
81
  ]:
82
+ """Note: This is not actually used in production, see https://github.com/DiamondLightSource/mx-bluesky/issues/516"""
71
83
  return (
72
84
  GridscanNexusFileCallback(param_type=HyperionSpecifiedThreeDGridScan),
73
85
  GridscanISPyBCallback(
74
- param_type=GridCommonWithHyperionDetectorParams, emit=ZocaloCallback()
86
+ param_type=GridCommonWithHyperionDetectorParams,
87
+ emit=ZocaloCallback(CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV),
75
88
  ),
76
89
  RobotLoadISPyBCallback(),
77
90
  RotationNexusFileCallback(),
78
- RotationISPyBCallback(emit=ZocaloCallback()),
91
+ RotationISPyBCallback(
92
+ emit=ZocaloCallback(CONST.PLAN.ROTATION_MAIN, CONST.ZOCALO_ENV)
93
+ ),
79
94
  SampleHandlingCallback(),
80
95
  )
@@ -7,9 +7,7 @@ from dodal.devices.fast_grid_scan import (
7
7
  PandAGridScanParams,
8
8
  ZebraGridScanParams,
9
9
  )
10
- from pydantic import Field
11
10
 
12
- from mx_bluesky.common.parameters.constants import GridscanParamConstants
13
11
  from mx_bluesky.common.parameters.gridscan import (
14
12
  GridCommon,
15
13
  SpecifiedThreeDGridScan,
@@ -146,4 +144,4 @@ class PinTipCentreThenXrayCentre(
146
144
  class GridScanWithEdgeDetect(
147
145
  GridCommonWithHyperionDetectorParams, WithHyperionUDCFeatures
148
146
  ):
149
- box_size_um: float = Field(default=GridscanParamConstants.BOX_WIDTH_UM)
147
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mx-bluesky
3
- Version: 1.4.3
3
+ Version: 1.4.4
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
@@ -239,7 +239,7 @@ Requires-Dist: daq-config-server>=0.1.1
239
239
  Requires-Dist: ophyd==1.9.0
240
240
  Requires-Dist: ophyd-async>=0.8a5
241
241
  Requires-Dist: bluesky>=1.13
242
- Requires-Dist: dls-dodal==1.38.0
242
+ Requires-Dist: dls-dodal==1.39.0
243
243
  Provides-Extra: dev
244
244
  Requires-Dist: black; extra == "dev"
245
245
  Requires-Dist: build; extra == "dev"
@@ -316,6 +316,7 @@ tests/test_data/scratch/README
316
316
  tests/test_data/test_daq_configuration/domain/beamlineParameters
317
317
  tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt
318
318
  tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt
319
+ tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt
319
320
  tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt
320
321
  tests/unit_tests/__init__.py
321
322
  tests/unit_tests/conftest.py
@@ -24,7 +24,7 @@ daq-config-server>=0.1.1
24
24
  ophyd==1.9.0
25
25
  ophyd-async>=0.8a5
26
26
  bluesky>=1.13
27
- dls-dodal==1.38.0
27
+ dls-dodal==1.39.0
28
28
 
29
29
  [dev]
30
30
  black
@@ -527,10 +527,11 @@ def mirror_voltages():
527
527
 
528
528
  @pytest.fixture
529
529
  def undulator_dcm(RE, sim_run_engine, dcm):
530
- undulator_dcm = i03.undulator_dcm(fake_with_ophyd_sim=True)
530
+ undulator_dcm = i03.undulator_dcm(
531
+ fake_with_ophyd_sim=True,
532
+ daq_configuration_path="tests/test_data/test_daq_configuration",
533
+ )
531
534
  set_up_dcm(undulator_dcm.dcm_ref(), sim_run_engine)
532
- undulator_dcm.roll_energy_table_path = "tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt"
533
- undulator_dcm.pitch_energy_table_path = "tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt"
534
535
  yield undulator_dcm
535
536
  beamline_utils.clear_devices()
536
537
 
@@ -13,5 +13,6 @@
13
13
  "omega_start_deg": 0.0,
14
14
  "grid_width_um": 290.6,
15
15
  "transmission_frac": 1.0,
16
- "visit": "cm31105-4"
16
+ "visit": "cm31105-4",
17
+ "box_size_um": 20
17
18
  }
@@ -17,7 +17,8 @@
17
17
  "demand_energy_ev": 11100,
18
18
  "run_number": 0,
19
19
  "features": {"use_panda_for_gridscan": false, "compare_cpu_and_gpu_zocalo": true},
20
- "panda_runup_distance_mm": 0.17
20
+ "panda_runup_distance_mm": 0.17,
21
+ "box_size_um": 20
21
22
  },
22
23
  "multi_rotation_scan": {
23
24
  "comment": "Rotation",
@@ -14,5 +14,6 @@
14
14
  "tip_offset_um": 108.9,
15
15
  "grid_width_um": 290.6,
16
16
  "transmission_frac": 1.0,
17
- "visit": "cm31105-4"
17
+ "visit": "cm31105-4",
18
+ "box_size_um": 20
18
19
  }
@@ -16,5 +16,6 @@
16
16
  "sample_id": 12345,
17
17
  "sample_puck": 40,
18
18
  "sample_pin": 3,
19
- "comment": "Descriptive comment."
19
+ "comment": "Descriptive comment.",
20
+ "box_size_um": 20
20
21
  }
@@ -0,0 +1,60 @@
1
+ #######################
2
+ # #
3
+ # 5.5mm CPMU 20/11/22 #
4
+ # #
5
+ #######################
6
+ # Used to convert from energy to gap. Constructed from tables for 3rd, 5th and 7th harmonic.
7
+ # It is important that at the point of change from one harmonic to another that there is
8
+ # point for the same energy from both harmomics to prevent invalid interpolation.
9
+ # run reloadLookupTables() when done
10
+ Units eV mm
11
+ 5700 5.4606
12
+ 5760 5.5
13
+ 6000 5.681
14
+ 6500 6.045
15
+ 7000 6.404
16
+ 7500 6.765
17
+ 8000 7.124
18
+ 8500 7.491
19
+ 9000 7.872
20
+ 9500 8.258
21
+ 9700 8.424
22
+ 9700 5.542
23
+ 10000 5.675
24
+ 10500 5.895
25
+ 11000 6.113
26
+ 11500 6.328
27
+ 12000 6.545
28
+ 12500 6.758
29
+ 12700 6.83
30
+ 13000 6.98
31
+ 13443 7.168
32
+ 13443 5.5
33
+ 13500 5.517
34
+ 14000 5.674
35
+ 14500 5.831
36
+ 15000 5.987
37
+ 15500 6.139
38
+ 16000 6.294
39
+ 16500 6.447
40
+ 17000 6.603
41
+ 17320 6.697
42
+ 17320 5.5
43
+ 17500 5.552
44
+ 18000 5.674
45
+ 18500 5.794
46
+ 19000 5.912
47
+ 19500 6.037
48
+ 20000 6.157
49
+ 20500 6.277
50
+ 20939 6.378
51
+ 20939 5.5
52
+ 21000 5.517
53
+ 21500 5.577
54
+ 22000 5.674
55
+ 22500 5.773
56
+ 23000 5.871
57
+ 23500 5.97
58
+ 24000 6.072
59
+ 24500 6.167
60
+ 25000 6.264
@@ -35,16 +35,9 @@ def start_dict(plan_name: str = "test_plan_name", env: str = "test_env"):
35
35
 
36
36
  class TestZocaloHandler:
37
37
  def _setup_handler(self):
38
- zocalo_handler = ZocaloCallback()
39
- assert zocalo_handler.triggering_plan is None
40
- zocalo_handler.start(start_dict()) # type: ignore
41
- assert zocalo_handler.triggering_plan == "test_plan_name"
42
- assert zocalo_handler.zocalo_interactor is not None
38
+ zocalo_handler = ZocaloCallback("test_plan_name", "test_env")
43
39
  return zocalo_handler
44
40
 
45
- def test_handler_gets_plan_name_from_start_doc(self):
46
- self._setup_handler()
47
-
48
41
  def test_handler_doesnt_trigger_on_wrong_plan(self):
49
42
  zocalo_handler = self._setup_handler()
50
43
  zocalo_handler.start(start_dict("_not_test_plan_name")) # type: ignore
@@ -17,9 +17,7 @@ from ophyd_async.core import DeviceCollector
17
17
  from ophyd_async.testing import set_mock_value
18
18
 
19
19
  from mx_bluesky.common.parameters.constants import (
20
- EnvironmentConstants,
21
20
  PlanNameConstants,
22
- TriggerConstants,
23
21
  )
24
22
  from mx_bluesky.common.plans.do_fgs import kickoff_and_complete_gridscan
25
23
 
@@ -109,11 +107,9 @@ def test_kickoff_and_complete_gridscan_with_run_engine_correct_documents(
109
107
  ):
110
108
  class TestCallback(CallbackBase):
111
109
  def start(self, doc: RunStart):
112
- self.trigger_plan = doc.get(TriggerConstants.ZOCALO)
113
110
  self.subplan_name = doc.get("subplan_name")
114
111
  self.scan_points = doc.get("scan_points")
115
112
  self.scan_start_indices = doc.get("scan_start_indices")
116
- self.zocalo_environment = doc.get("zocalo_environment")
117
113
 
118
114
  def event(self, doc: Event):
119
115
  self.event_data = list(doc.get("data").keys())
@@ -142,11 +138,9 @@ def test_kickoff_and_complete_gridscan_with_run_engine_correct_documents(
142
138
  )
143
139
  )
144
140
 
145
- assert test_callback.trigger_plan == PlanNameConstants.DO_FGS
146
141
  assert test_callback.subplan_name == PlanNameConstants.DO_FGS
147
142
  assert test_callback.scan_points == []
148
143
  assert test_callback.scan_start_indices == []
149
- assert test_callback.zocalo_environment == EnvironmentConstants.ZOCALO_ENV
150
144
  assert len(test_callback.event_data) == 1
151
145
  assert test_callback.event_data[0] == "eiger_odin_file_writer_id"
152
146
 
@@ -1,4 +1,3 @@
1
- from collections.abc import Callable
2
1
  from functools import partial
3
2
  from unittest.mock import MagicMock, patch
4
3
 
@@ -19,7 +18,7 @@ from dodal.devices.robot import BartRobot
19
18
  from dodal.devices.s4_slit_gaps import S4SlitGaps
20
19
  from dodal.devices.smargon import Smargon
21
20
  from dodal.devices.synchrotron import Synchrotron, SynchrotronMode
22
- from dodal.devices.zocalo import ZocaloResults, ZocaloTrigger
21
+ from dodal.devices.zocalo import ZocaloResults
23
22
  from event_model import Event
24
23
  from ophyd.sim import NullStatus
25
24
  from ophyd_async.core import AsyncStatus
@@ -213,13 +212,6 @@ def run_generic_ispyb_handler_setup(
213
212
  )
214
213
 
215
214
 
216
- def modified_interactor_mock(assign_run_end: Callable | None = None):
217
- mock = MagicMock(spec=ZocaloTrigger)
218
- if assign_run_end:
219
- mock.run_end = assign_run_end
220
- return mock
221
-
222
-
223
215
  def modified_store_grid_scan_mock(*args, dcids=(0, 0), dcgid=0, **kwargs):
224
216
  mock = MagicMock(spec=StoreInIspyb)
225
217
  mock.begin_deposition.return_value = IspybIds(
@@ -236,7 +228,7 @@ def mock_subscriptions(test_fgs_params):
236
228
  with (
237
229
  patch(
238
230
  "mx_bluesky.common.external_interaction.callbacks.common.zocalo_callback.ZocaloTrigger",
239
- modified_interactor_mock,
231
+ autospec=True,
240
232
  ),
241
233
  patch(
242
234
  "mx_bluesky.common.external_interaction.callbacks.xray_centre.ispyb_callback.StoreInIspyb.append_to_comment"
@@ -294,7 +286,7 @@ def robot_load_composite(
294
286
  backlight,
295
287
  detector_motion,
296
288
  flux,
297
- ophyd_pin_tip_detection,
289
+ pin_tip_detection_with_found_pin,
298
290
  zocalo,
299
291
  synchrotron,
300
292
  sample_shutter,
@@ -305,6 +297,7 @@ def robot_load_composite(
305
297
  set_mock_value(dcm.energy_in_kev.user_readback, 11.105)
306
298
  smargon.stub_offsets.set = MagicMock(return_value=NullStatus())
307
299
  aperture_scatterguard.set = MagicMock(return_value=NullStatus())
300
+ set_mock_value(smargon.omega.max_velocity, 131)
308
301
  return RobotLoadThenCentreComposite(
309
302
  xbpm_feedback=xbpm_feedback,
310
303
  attenuator=attenuator,
@@ -316,7 +309,7 @@ def robot_load_composite(
316
309
  zebra_fast_grid_scan=fast_grid_scan,
317
310
  flux=flux,
318
311
  oav=oav,
319
- pin_tip_detection=ophyd_pin_tip_detection,
312
+ pin_tip_detection=pin_tip_detection_with_found_pin,
320
313
  smargon=smargon,
321
314
  synchrotron=synchrotron,
322
315
  s4_slit_gaps=s4_slit_gaps,
@@ -376,3 +369,27 @@ def sim_fire_event_on_open_run(sim_run_engine: RunEngineSimulator, run_name: str
376
369
  return msg.run == run_name
377
370
 
378
371
  sim_run_engine.add_handler("open_run", fire_event, msg_maches_run)
372
+
373
+
374
+ @pytest.fixture
375
+ def grid_detection_callback_with_detected_grid():
376
+ with patch(
377
+ "mx_bluesky.hyperion.experiment_plans.grid_detect_then_xray_centre_plan.GridDetectionCallback",
378
+ autospec=True,
379
+ ) as callback:
380
+ callback.return_value.get_grid_parameters.return_value = {
381
+ "transmission_frac": 1.0,
382
+ "exposure_time_s": 0,
383
+ "x_start_um": 0,
384
+ "y_start_um": 0,
385
+ "y2_start_um": 0,
386
+ "z_start_um": 0,
387
+ "z2_start_um": 0,
388
+ "x_steps": 10,
389
+ "y_steps": 10,
390
+ "z_steps": 10,
391
+ "x_step_size_um": 0.1,
392
+ "y_step_size_um": 0.1,
393
+ "z_step_size_um": 0.1,
394
+ }
395
+ yield callback
@@ -88,7 +88,6 @@ from ....system_tests.hyperion.external_interaction.conftest import (
88
88
  from .conftest import (
89
89
  assert_event,
90
90
  mock_zocalo_trigger,
91
- modified_interactor_mock,
92
91
  modified_store_grid_scan_mock,
93
92
  run_generic_ispyb_handler_setup,
94
93
  )
@@ -482,10 +481,11 @@ class TestFlyscanXrayCentrePlan:
482
481
  )
483
482
  @patch(
484
483
  "mx_bluesky.common.external_interaction.callbacks.common.zocalo_callback.ZocaloTrigger",
485
- modified_interactor_mock,
484
+ autospec=True,
486
485
  )
487
486
  def test_individual_plans_triggered_once_and_only_once_in_composite_run(
488
487
  self,
488
+ mock_zocalo_trigger: MagicMock,
489
489
  move_xyz: MagicMock,
490
490
  run_gridscan: MagicMock,
491
491
  move_aperture: MagicMock,
@@ -793,6 +793,8 @@ class TestFlyscanXrayCentrePlan:
793
793
  # Put both mocks in a parent to easily capture order
794
794
  mock_parent = MagicMock()
795
795
  fake_fgs_composite.eiger.disarm_detector = mock_parent.disarm
796
+ assert isinstance(ispyb_cb.emit_cb, ZocaloCallback)
797
+ ispyb_cb.emit_cb.zocalo_interactor.run_end = mock_parent.run_end
796
798
 
797
799
  fake_fgs_composite.eiger.filewriters_finished = NullStatus() # type: ignore
798
800
  fake_fgs_composite.eiger.odin.check_and_wait_for_odin_state = MagicMock(
@@ -804,15 +806,9 @@ class TestFlyscanXrayCentrePlan:
804
806
  )
805
807
  set_mock_value(fake_fgs_composite.xbpm_feedback.pos_stable, True)
806
808
 
807
- with (
808
- patch(
809
- "mx_bluesky.common.external_interaction.callbacks.xray_centre.nexus_callback.NexusWriter.create_nexus_file",
810
- autospec=True,
811
- ),
812
- patch(
813
- "mx_bluesky.common.external_interaction.callbacks.common.zocalo_callback.ZocaloTrigger",
814
- lambda _: modified_interactor_mock(mock_parent.run_end),
815
- ),
809
+ with patch(
810
+ "mx_bluesky.common.external_interaction.callbacks.xray_centre.nexus_callback.NexusWriter.create_nexus_file",
811
+ autospec=True,
816
812
  ):
817
813
  [RE.subscribe(cb) for cb in (nexus_cb, ispyb_cb)]
818
814
  RE(flyscan_xray_centre(fake_fgs_composite, test_fgs_params))
@@ -1003,9 +999,8 @@ class TestFlyscanXrayCentrePlan:
1003
999
  ispyb_cb.params = MagicMock()
1004
1000
  ispyb_cb.ispyb_ids.data_collection_ids = (id_1, id_2)
1005
1001
  assert isinstance(ispyb_cb.emit_cb, ZocaloCallback)
1006
- zocalo_env = "dev_env"
1007
1002
 
1008
- mock_zocalo_trigger_class.return_value = (mock_zocalo_trigger := MagicMock())
1003
+ mock_zocalo_trigger = ispyb_cb.emit_cb.zocalo_interactor
1009
1004
 
1010
1005
  fake_fgs_composite.eiger.unstage = MagicMock()
1011
1006
  fake_fgs_composite.eiger.odin.file_writer.id.sim_put("test/filename") # type: ignore
@@ -1021,10 +1016,8 @@ class TestFlyscanXrayCentrePlan:
1021
1016
  fake_fgs_composite.synchrotron,
1022
1017
  scan_points=create_dummy_scan_spec(x_steps, y_steps, z_steps),
1023
1018
  scan_start_indices=[0, x_steps * y_steps],
1024
- zocalo_environment=zocalo_env,
1025
1019
  )
1026
1020
  )
1027
- mock_zocalo_trigger_class.assert_called_once_with(zocalo_env)
1028
1021
 
1029
1022
  expected_start_infos = [
1030
1023
  ZocaloStartInfo(id_1, "test/filename", 0, x_steps * y_steps, 0),
@@ -1038,11 +1031,11 @@ class TestFlyscanXrayCentrePlan:
1038
1031
  call(expected_start_infos[1]),
1039
1032
  ]
1040
1033
 
1041
- assert mock_zocalo_trigger.run_start.call_count == 2
1042
- assert mock_zocalo_trigger.run_start.mock_calls == expected_start_calls
1034
+ assert mock_zocalo_trigger.run_start.call_count == 2 # type: ignore
1035
+ assert mock_zocalo_trigger.run_start.mock_calls == expected_start_calls # type: ignore
1043
1036
 
1044
- assert mock_zocalo_trigger.run_end.call_count == 2
1045
- assert mock_zocalo_trigger.run_end.mock_calls == [call(id_1), call(id_2)]
1037
+ assert mock_zocalo_trigger.run_end.call_count == 2 # type: ignore
1038
+ assert mock_zocalo_trigger.run_end.mock_calls == [call(id_1), call(id_2)] # type: ignore
1046
1039
 
1047
1040
  @patch(
1048
1041
  "mx_bluesky.common.plans.do_fgs.check_topup_and_wait_if_necessary",