mx-bluesky 1.1.0__tar.gz → 1.2.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 (422) hide show
  1. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/Dockerfile.release +1 -1
  2. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/PKG-INFO +2 -2
  3. mx_bluesky-1.2.0/docs/developer/general/how-to/deploy-a-release.rst +84 -0
  4. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/hyperion/reference/param_hierarchy.puml +16 -8
  5. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/helmchart/templates/deployment.yaml +41 -1
  6. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/helmchart/values.yaml +1 -1
  7. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/pyproject.toml +1 -1
  8. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/_version.py +2 -2
  9. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +11 -0
  10. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +9 -0
  11. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +47 -38
  12. mx_bluesky-1.2.0/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +46 -0
  13. mx_bluesky-1.1.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py → mx_bluesky-1.2.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +55 -140
  14. mx_bluesky-1.2.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +162 -0
  15. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -8
  16. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +18 -0
  17. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/ispyb_mapping.py +0 -8
  18. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/ispyb_callback_base.py +3 -3
  19. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +2 -4
  20. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_utils.py +0 -2
  21. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/components.py +19 -18
  22. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/gridscan.py +7 -2
  23. mx_bluesky-1.2.0/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +50 -0
  24. mx_bluesky-1.2.0/src/mx_bluesky/hyperion/parameters/robot_load.py +16 -0
  25. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
  26. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/SOURCES.txt +12 -1
  27. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/requires.txt +1 -1
  28. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/conftest.py +43 -4
  29. mx_bluesky-1.2.0/tests/system_tests/conftest.py +226 -0
  30. mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction/conftest.py +361 -0
  31. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +6 -330
  32. mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +254 -0
  33. mx_bluesky-1.2.0/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +53 -0
  34. mx_bluesky-1.2.0/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +45 -0
  35. mx_bluesky-1.2.0/tests/test_data/parameter_json_files/good_test_robot_load_params.json +13 -0
  36. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -21
  37. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/conftest.py +92 -1
  38. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +21 -55
  39. mx_bluesky-1.2.0/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +224 -0
  40. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +4 -0
  41. mx_bluesky-1.2.0/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +384 -0
  42. mx_bluesky-1.2.0/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +342 -0
  43. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +1 -3
  44. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +2 -2
  45. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/test_ispyb_utils.py +0 -19
  46. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -1
  47. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/build_docker_image.sh +6 -6
  48. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/deploy_hyperion_to_k8s.sh +1 -1
  49. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/deploy_mxbluesky.py +13 -13
  50. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/docker/i03-compose.yml +1 -1
  51. mx_bluesky-1.1.0/docs/developer/general/how-to/deploy-a-release.rst +0 -25
  52. mx_bluesky-1.1.0/tests/system_tests/hyperion/external_interaction/conftest.py +0 -169
  53. mx_bluesky-1.1.0/tests/unit_tests/hyperion/experiment_plans/test_wait_for_robot_load_then_centre.py +0 -730
  54. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.copier-answers.yml +0 -0
  55. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.coveragerc +0 -0
  56. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.devcontainer/Dockerfile +0 -0
  57. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.devcontainer/devcontainer.json +0 -0
  58. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.dockerignore +0 -0
  59. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/CONTRIBUTING.md +0 -0
  60. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  61. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  62. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  63. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/actions/install_requirements/action.yml +0 -0
  64. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/actions/verify-nexus/Dockerfile +0 -0
  65. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/actions/verify-nexus/action.yml +0 -0
  66. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  67. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/dependabot.yml +0 -0
  68. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/pages/index.html +0 -0
  69. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/pages/make_switcher.py +0 -0
  70. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_check.yml +0 -0
  71. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_container.yml +0 -0
  72. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_dist.yml +0 -0
  73. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_docs.yml +0 -0
  74. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_pypi.yml +0 -0
  75. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_release.yml +0 -0
  76. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_test.yml +0 -0
  77. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/_tox.yml +0 -0
  78. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/ci.yml +0 -0
  79. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/periodic.yml +0 -0
  80. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.github/workflows/publish_docker_image.yml +0 -0
  81. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.gitignore +0 -0
  82. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.pre-commit-config.yaml +0 -0
  83. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.vscode/extensions.json +0 -0
  84. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.vscode/launch.json +0 -0
  85. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.vscode/mx-bluesky.code-workspace +0 -0
  86. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.vscode/settings.json +0 -0
  87. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/.vscode/tasks.json +0 -0
  88. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/Dockerfile +0 -0
  89. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/LICENSE +0 -0
  90. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/README.rst +0 -0
  91. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/catalog-info.yaml +0 -0
  92. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/codecov.yml +0 -0
  93. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/conftest.py +0 -0
  94. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/conf.py +0 -0
  95. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  96. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  97. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  98. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/explanations/decisions.rst +0 -0
  99. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/build-docs.rst +0 -0
  100. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/contribute.rst +0 -0
  101. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/create-a-release.rst +0 -0
  102. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/get-started.rst +0 -0
  103. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/lint.rst +0 -0
  104. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/run-tests.rst +0 -0
  105. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/static-analysis.rst +0 -0
  106. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/how-to/update-tools.rst +0 -0
  107. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/index.rst +0 -0
  108. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/reference/standards.rst +0 -0
  109. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/general/tutorials/dev-install.rst +0 -0
  110. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  111. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/hyperion/index.rst +0 -0
  112. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  113. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/hyperion/reference/readme.md +0 -0
  114. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/index.rst +0 -0
  115. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  116. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  117. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/murko-integration/index.rst +0 -0
  118. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  119. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  120. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  121. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  122. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
  123. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  124. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  125. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/genindex.rst +0 -0
  126. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/images/dls-favicon.ico +0 -0
  127. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/images/dls-logo.svg +0 -0
  128. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/index.rst +0 -0
  129. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/user/explanations/docs-structure.rst +0 -0
  130. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/user/how-to/run-container.rst +0 -0
  131. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/user/index.rst +0 -0
  132. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/user/reference/api.rst +0 -0
  133. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/docs/user/tutorials/installation.rst +0 -0
  134. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/helmchart/Chart.yaml +0 -0
  135. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/helmchart/templates/ingress.yaml +0 -0
  136. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/helmchart/templates/service.yaml +0 -0
  137. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  138. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  139. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/code.yml +0 -0
  140. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/container_tests.sh +0 -0
  141. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  142. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  143. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/linkcheck.yml +0 -0
  144. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  145. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  146. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/pin_versions.py +0 -0
  147. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  148. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  149. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  150. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/test_data/setup.cfg +0 -0
  151. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  152. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  153. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/hyperion_other/workflows/test_pin_versions.py +0 -0
  154. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/run_hyperion.sh +0 -0
  155. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/run_hyperion_in_podman.sh +0 -0
  156. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/setup.cfg +0 -0
  157. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/__init__.py +0 -0
  158. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/__main__.py +0 -0
  159. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/__init__.py +0 -0
  160. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  161. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  162. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
  163. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  164. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  165. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  166. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  167. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  168. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  169. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  170. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  171. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
  172. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  173. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  174. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
  175. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  176. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  177. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  178. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  179. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  180. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  181. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  182. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
  183. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
  184. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  185. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  186. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -0
  187. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
  188. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +0 -0
  189. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
  190. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
  191. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
  192. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  193. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  194. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  195. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  196. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  197. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  198. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  199. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  200. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  201. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
  202. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  203. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  204. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  205. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  206. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  207. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  208. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  209. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
  210. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
  211. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
  212. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  213. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  214. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/example.py +0 -0
  215. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/__init__.py +0 -0
  216. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/__main__.py +0 -0
  217. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
  218. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  219. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
  220. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
  221. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +0 -0
  222. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +0 -0
  223. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
  224. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
  225. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  226. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +0 -0
  227. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/exceptions.py +0 -0
  228. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  229. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +0 -0
  230. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +0 -0
  231. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +0 -0
  232. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  233. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
  234. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
  235. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
  236. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  237. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  238. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
  239. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/aperture_change_callback.py +0 -0
  240. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/__init__.py +0 -0
  241. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py +0 -0
  242. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/log_uid_tag_callback.py +0 -0
  243. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/logging_callback.py +0 -0
  244. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/plan_reactive_callback.py +0 -0
  245. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  246. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +0 -0
  247. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  248. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  249. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  250. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
  251. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  252. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  253. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/zocalo_callback.py +0 -0
  254. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
  255. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/exceptions.py +0 -0
  256. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/__init__.py +0 -0
  257. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/data_model.py +0 -0
  258. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py +0 -0
  259. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_store.py +0 -0
  260. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/nexus/__init__.py +0 -0
  261. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/nexus/nexus_utils.py +0 -0
  262. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/external_interaction/nexus/write_nexus.py +0 -0
  263. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/log.py +0 -0
  264. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  265. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  266. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
  267. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
  268. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  269. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/tracing.py +0 -0
  270. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  271. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/utils/utils.py +0 -0
  272. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/hyperion/utils/validation.py +0 -0
  273. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  274. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  275. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  276. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  277. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/start_jupyter.sh +0 -0
  278. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/__init__.py +0 -0
  279. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/__init__.py +0 -0
  280. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/__init__.py +0 -0
  281. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/experiment_plans/__init__.py +0 -0
  282. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +0 -0
  283. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +0 -0
  284. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  285. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  286. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  287. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
  288. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  289. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  290. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
  291. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +0 -0
  292. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
  293. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/README.md +0 -0
  294. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  295. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  296. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  297. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  298. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  299. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  300. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  301. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  302. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  303. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
  304. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  305. /mx_bluesky-1.1.0/tests/test_data/parameter_json_files/good_test_robot_load_params.json → /mx_bluesky-1.2.0/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  306. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  307. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -0
  308. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  309. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  310. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  311. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/scratch/README +0 -0
  312. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_OAVCentring.json +0 -0
  313. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  314. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  315. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  316. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  317. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_config.cfg +0 -0
  318. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  319. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  320. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  321. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_det_dist_converter.txt +0 -0
  322. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_display.configuration +0 -0
  323. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  324. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_lookup_table.txt +0 -0
  325. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/test_data/test_mirror_focus.json +0 -0
  326. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/__init__.py +0 -0
  327. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/__init__.py +0 -0
  328. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  329. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i04/test_thawing.py +0 -0
  330. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
  331. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  332. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
  333. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  334. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  335. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  336. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  337. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
  338. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
  339. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  340. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  341. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  342. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  343. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  344. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  345. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  346. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  347. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  348. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/conftest.py +0 -0
  349. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/__init__.py +0 -0
  350. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/conftest.py +0 -0
  351. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
  352. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  353. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  354. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
  355. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  356. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -0
  357. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
  358. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  359. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
  360. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +0 -0
  361. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +0 -0
  362. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +0 -0
  363. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +0 -0
  364. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  365. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +0 -0
  366. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  367. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  368. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  369. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
  370. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  371. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  372. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  373. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  374. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  375. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  376. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  377. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/conftest.py +0 -0
  378. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_callback.py +0 -0
  379. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_handler.py +0 -0
  380. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_mapping.py +0 -0
  381. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_nexus_handler.py +0 -0
  382. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
  383. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/ispyb/__init__.py +0 -0
  384. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/ispyb/conftest.py +0 -0
  385. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_expeye_interaction.py +0 -0
  386. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  387. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_rotation_ispyb_store.py +0 -0
  388. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
  389. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  390. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_nexus_utils.py +0 -0
  391. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  392. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  393. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  394. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  395. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  396. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  397. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  398. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_log/__init__.py +0 -0
  399. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_log/conftest.py +0 -0
  400. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_log/test_log.py +0 -0
  401. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_main_system.py +0 -0
  402. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/test_utils.py +0 -0
  403. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  404. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  405. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  406. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/test_cli.py +0 -0
  407. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/tests/unit_tests/test_example.py +0 -0
  408. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/beam_off_trickery.sh +0 -0
  409. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/build_imginfo.sh +0 -0
  410. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/create_venv.py +0 -0
  411. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  412. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/deploy_hyperion.py +0 -0
  413. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/deploy/test_deploy.py +0 -0
  414. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/dev_jaeger_container.sh +0 -0
  415. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/dls_dev_env.sh +0 -0
  416. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/docker/entrypoint.sh +0 -0
  417. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/docker/healthcheck.sh +0 -0
  418. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/graylog/Dockerfile +0 -0
  419. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/graylog/tcp_input.json +0 -0
  420. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/run_imginfo.sh +0 -0
  421. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/setup_graylog.sh +0 -0
  422. {mx_bluesky-1.1.0 → mx_bluesky-1.2.0}/utility_scripts/strip_metafile.py +0 -0
@@ -31,7 +31,7 @@ RUN git restore .
31
31
 
32
32
  # Regenerate _version.py with the correct version - this should run quickly since we already have our dependencies
33
33
  RUN rm src/mx_bluesky/_version.py
34
- RUN pip install --no-cache-dir --no-compile -e .
34
+ RUN pip install --no-cache-dir --no-compile --no-deps -e .
35
35
 
36
36
  ENTRYPOINT /app/hyperion/utility_scripts/docker/entrypoint.sh
37
37
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mx-bluesky
3
- Version: 1.1.0
3
+ Version: 1.2.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
@@ -238,7 +238,7 @@ Requires-Dist: daq-config-server>=0.1.1
238
238
  Requires-Dist: ophyd==1.9.0
239
239
  Requires-Dist: ophyd-async>=0.3a5
240
240
  Requires-Dist: bluesky>=1.13.0a4
241
- Requires-Dist: dls-dodal==1.32.0
241
+ Requires-Dist: dls-dodal==1.33.0
242
242
  Provides-Extra: dev
243
243
  Requires-Dist: black; extra == "dev"
244
244
  Requires-Dist: build; extra == "dev"
@@ -0,0 +1,84 @@
1
+ Deploy a New Release
2
+ ====================
3
+
4
+ **Remember to discuss any new deployments with the appropriate beamline scientist.**
5
+
6
+
7
+ General deployment
8
+ --------------------
9
+
10
+ The ``utility_scripts/deploy/deploy_mxbluesky.py`` script will deploy the latest mx-bluesky version to a specified beamline. Deployments live in ``/dls_sw/ixx/software/bluesky/mx-bluesky_vX.X.X``. To do a new deployment you should run the deploy script from your mx-bluesky dev environment with e.g.
11
+
12
+ .. code:: console
13
+
14
+ python ./utility_scripts/deploy/deploy_mxbluesky.py --beamline i24
15
+
16
+
17
+ If you want to test the script you can run:
18
+
19
+ .. code:: console
20
+
21
+ python ./deploy/deploy_mxbluesky.py --dev-path /your-path/
22
+
23
+ and a released version will be put in ``/your-path/mxbluesky_release_test``.
24
+
25
+ If you need a specific beamline test deployment you can also run:
26
+
27
+
28
+ .. code:: console
29
+
30
+ python ./deploy/deploy_mxbluesky.py --beamline i24 --dev-path /your-path/
31
+
32
+ which will create the beamline deployment (eg. I24) in the specified test directory ``/your-path/mxbluesky_release_test``.
33
+
34
+
35
+ **Note:** When deploying on I24, the edm screens for serial crystallography will be deployed automatically along with the mx-bluesky release.
36
+ When running a ``dev`` deployment instead, `this script <https://github.com/DiamondLightSource/mx-bluesky/wiki/Serial-Crystallography-on-I24#deploying-a-local-version-of-the-edm-screens>`_ will also need to be run to get the latest version of the screens.
37
+
38
+
39
+ Hyperion deployment
40
+ -------------------
41
+
42
+ The ``utility_scripts/deploy/deploy_hyperion.py`` script will deploy the latest mx-bluesky/Hyperion version to a specified beamline. Deployments live in ``/dls_sw/ixx/software/bluesky/mx-bluesky_vX.X.X``.
43
+
44
+ If you have just created a release as above, you may need to run git fetch --tags to get the newest release.
45
+
46
+ To do a new deployment you should run the deploy script from your Hyperion dev environment with e.g.
47
+
48
+ .. code:: console
49
+
50
+ python ./utility_scripts/deploy/deploy_hyperion.py i03
51
+
52
+
53
+ If you want to test the script you can run:
54
+
55
+
56
+ .. code:: console
57
+
58
+ python ./utility_scripts/deploy/deploy_hyperion.py dev
59
+
60
+
61
+ and a released version will be put in ``/scratch/30day_tmp/hyperion_release_test``.
62
+
63
+ For building and deploying a Docker image please see :doc:`../../hyperion/deploying-hyperion`.
64
+
65
+
66
+ .. note::
67
+
68
+ On i03 the installation will succeed with error messages due to RedHat7 versions of a dependency being unavailable.
69
+ This results in the installation being incomplete, thus requiring the following post-installation steps:
70
+
71
+ First, on a RedHat8 workstation, run
72
+
73
+ .. code:: console
74
+
75
+ . ./.venv/bin/activate
76
+ pip install confluent-kafka
77
+
78
+ Then, on the control machine, run
79
+
80
+ .. code:: console
81
+
82
+ . ./.venv/bin/activate
83
+ pip install -e .
84
+ pip install -e ../dodal
@@ -8,7 +8,9 @@ package Mixins {
8
8
  class WithSample
9
9
  class WithScan
10
10
  class WithOavCentring
11
+ class WithOptionalEnergyChange
11
12
  class WithSnapshot
13
+ class WithVisit
12
14
  class OptionalXyzStarts
13
15
  class XyzStarts
14
16
  class OptionalGonioAngleStarts
@@ -22,49 +24,51 @@ package Experiments {
22
24
  class DiffractionExperimentWithSample
23
25
  class GridCommon
24
26
  class GridScanWithEdgeDetect
27
+ class LoadCentreCollect
25
28
  class PinTipCentreThenXrayCentre
26
29
  class RotationScan
27
30
  class MultiRotationScan
31
+ class RobotLoadAndEnergyChange
28
32
  class RobotLoadThenCentre
29
33
  class SpecifiedGridScan
30
34
  class ThreeDGridScan
31
35
  }
32
36
 
33
37
  class HyperionParameters
34
- note bottom: Base class for all experiment parameter models
35
-
36
- class TemporaryIspybExtras
37
- note bottom: To be removed
38
-
38
+ note top: Base class for all experiment parameter models
39
39
 
40
40
  BaseModel <|-- HyperionParameters
41
41
  BaseModel <|-- SplitScan
42
42
  BaseModel <|-- OptionalGonioAngleStarts
43
43
  BaseModel <|-- OptionalXyzStarts
44
- BaseModel <|-- TemporaryIspybExtras
45
44
  BaseModel <|-- WithOavCentring
45
+ BaseModel <|-- WithOptionalEnergyChange
46
46
  BaseModel <|-- WithSnapshot
47
47
  BaseModel <|-- WithSample
48
48
  BaseModel <|-- WithScan
49
+ BaseModel <|-- WithVisit
49
50
  BaseModel <|-- XyzStarts
50
51
 
51
- RotationScan *-- TemporaryIspybExtras
52
- MultiRotationScan *-- TemporaryIspybExtras
53
52
  OptionalGonioAngleStarts <|-- RotationScanPerSweep
54
53
  OptionalXyzStarts <|-- RotationScanPerSweep
55
54
  DiffractionExperimentWithSample <|-- RotationExperiment
56
55
  HyperionParameters <|-- DiffractionExperiment
57
56
  WithSnapshot <|-- DiffractionExperiment
57
+ WithOptionalEnergyChange <|-- DiffractionExperiment
58
+ WithVisit <|-- DiffractionExperiment
58
59
  DiffractionExperiment <|-- DiffractionExperimentWithSample
59
60
  WithSample <|-- DiffractionExperimentWithSample
60
61
  DiffractionExperimentWithSample <|-- GridCommon
61
62
  GridCommon <|-- GridScanWithEdgeDetect
62
63
  GridCommon <|-- PinTipCentreThenXrayCentre
63
64
  GridCommon <|-- RobotLoadThenCentre
65
+ RobotLoadThenCentre *-- RobotLoadAndEnergyChange
66
+ RobotLoadThenCentre *-- PinTipCentreThenXrayCentre
64
67
  GridCommon <|-- SpecifiedGridScan
65
68
  WithScan <|-- SpecifiedGridScan
66
69
  SpecifiedGridScan <|-- ThreeDGridScan
67
70
  SplitScan <|-- ThreeDGridScan
71
+ WithOptionalEnergyChange <|-- ThreeDGridScan
68
72
  WithOavCentring <|-- GridCommon
69
73
  WithScan <|-- RotationScan
70
74
  RotationScanPerSweep <|-- RotationScan
@@ -75,4 +79,8 @@ SplitScan <|-- MultiRotationScan
75
79
  XyzStarts <|-- SpecifiedGridScan
76
80
  OptionalGonioAngleStarts <|-- GridCommon
77
81
  OptionalGonioAngleStarts <|-- RotationScan
82
+ HyperionParameters <|-- RobotLoadAndEnergyChange
83
+ WithSample <|-- RobotLoadAndEnergyChange
84
+ WithSnapshot <|-- RobotLoadAndEnergyChange
85
+ WithOptionalEnergyChange <|-- RobotLoadAndEnergyChange
78
86
  @enduml
@@ -57,7 +57,46 @@ spec:
57
57
  path: "{{ .Values.hyperion.dataDir }}"
58
58
  containers:
59
59
  - name: hyperion
60
- image: {{ .Values.hyperion.imageRepository}}/hyperion:{{ .Values.hyperion.appVersion }}
60
+ image: {{ .Values.hyperion.imageRepository}}/mx-bluesky:{{ .Values.hyperion.appVersion }}
61
+ securityContext:
62
+ capabilities:
63
+ # Required for hostNetwork
64
+ drop:
65
+ - AUDIT_WRITE
66
+ - CHOWN
67
+ - DAC_OVERRIDE
68
+ - FOWNER
69
+ - FSETID
70
+ - KILL
71
+ - MKNOD
72
+ - NET_BIND_SERVICE
73
+ - NET_RAW
74
+ - SETFCAP
75
+ - SETGID
76
+ - SETPCAP
77
+ - SETUID
78
+ - SYS_CHROOT
79
+ - AUDIT_CONTROL
80
+ - BLOCK_SUSPEND
81
+ - DAC_READ_SEARCH
82
+ - IPC_LOCK
83
+ - IPC_OWNER
84
+ - LEASE
85
+ - LINUX_IMMUTABLE
86
+ - MAC_ADMIN
87
+ - MAC_OVERRIDE
88
+ - SYS_ADMIN
89
+ - SYS_BOOT
90
+ - SYS_MODULE
91
+ - SYS_NICE
92
+ - SYS_PACCT
93
+ - SYS_MODULE
94
+ - SYS_PTRACE
95
+ - SYS_RESOURCE
96
+ - SYS_TIME
97
+ - SYS_TTY_CONFIG
98
+ - SYSLOG
99
+ - WAKE_ALARM
61
100
  resources:
62
101
  limits:
63
102
  cpu: "1"
@@ -111,3 +150,4 @@ spec:
111
150
  name: logs
112
151
  - mountPath: "/dls/{{ .Values.hyperion.beamline }}/data"
113
152
  name: data
153
+ hostNetwork: true
@@ -8,7 +8,7 @@ hyperion:
8
8
  supplementalGroups: []
9
9
  beamline: i03
10
10
  dev: false
11
- logDir: "/dls_sw/i03/logs/bluesky"
11
+ logDir: "/dls_sw/i03/logs/bluesky/hyperion-k8s"
12
12
  dataDir: "/dls/i03/data"
13
13
  # These should be overridden at install time
14
14
  projectDir: SET_ON_INSTALL
@@ -45,7 +45,7 @@ dependencies = [
45
45
  "ophyd == 1.9.0",
46
46
  "ophyd-async >= 0.3a5",
47
47
  "bluesky >= 1.13.0a4",
48
- "dls-dodal == 1.32.0",
48
+ "dls-dodal == 1.33.0",
49
49
  ]
50
50
 
51
51
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.1.0'
16
- __version_tuple__ = version_tuple = (1, 1, 0)
15
+ __version__ = version = '1.2.0'
16
+ __version_tuple__ = version_tuple = (1, 2, 0)
@@ -3,6 +3,10 @@ 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.dcm import DCM
7
+ from dodal.devices.detector import (
8
+ DetectorParams,
9
+ )
6
10
  from dodal.devices.detector.detector_motion import DetectorMotion, ShutterState
7
11
  from dodal.devices.eiger import EigerDetector
8
12
 
@@ -12,6 +16,13 @@ from mx_bluesky.hyperion.device_setup_plans.position_detector import (
12
16
  )
13
17
 
14
18
 
19
+ def fill_in_energy_if_not_supplied(dcm: DCM, detector_params: DetectorParams):
20
+ if not detector_params.expected_energy_ev:
21
+ actual_energy_ev = 1000 * (yield from bps.rd(dcm.energy_in_kev))
22
+ detector_params.expected_energy_ev = actual_energy_ev
23
+ return detector_params
24
+
25
+
15
26
  def start_preparing_data_collection_then_do_plan(
16
27
  eiger: EigerDetector,
17
28
  detector_motion: DetectorMotion,
@@ -7,12 +7,14 @@ import mx_bluesky.hyperion.experiment_plans.flyscan_xray_centre_plan as flyscan_
7
7
  import mx_bluesky.hyperion.experiment_plans.rotation_scan_plan as rotation_scan_plan
8
8
  from mx_bluesky.hyperion.experiment_plans import (
9
9
  grid_detect_then_xray_centre_plan,
10
+ load_centre_collect_full_plan,
10
11
  pin_centre_then_xray_centre_plan,
11
12
  robot_load_then_centre_plan,
12
13
  )
13
14
  from mx_bluesky.hyperion.external_interaction.callbacks.common.callback_util import (
14
15
  CallbacksFactory,
15
16
  create_gridscan_callbacks,
17
+ create_load_centre_collect_callbacks,
16
18
  create_robot_load_and_centre_callbacks,
17
19
  create_rotation_callbacks,
18
20
  )
@@ -22,6 +24,7 @@ from mx_bluesky.hyperion.parameters.gridscan import (
22
24
  RobotLoadThenCentre,
23
25
  ThreeDGridScan,
24
26
  )
27
+ from mx_bluesky.hyperion.parameters.load_centre_collect import LoadCentreCollect
25
28
  from mx_bluesky.hyperion.parameters.rotation import MultiRotationScan, RotationScan
26
29
 
27
30
 
@@ -42,6 +45,7 @@ class ExperimentRegistryEntry(TypedDict):
42
45
  | MultiRotationScan
43
46
  | PinTipCentreThenXrayCentre
44
47
  | RobotLoadThenCentre
48
+ | LoadCentreCollect
45
49
  ]
46
50
  callbacks_factory: CallbacksFactory
47
51
 
@@ -77,6 +81,11 @@ PLAN_REGISTRY: dict[str, ExperimentRegistryEntry] = {
77
81
  "param_type": MultiRotationScan,
78
82
  "callbacks_factory": create_rotation_callbacks,
79
83
  },
84
+ "load_centre_collect_full_plan": {
85
+ "setup": load_centre_collect_full_plan.create_devices,
86
+ "param_type": LoadCentreCollect,
87
+ "callbacks_factory": create_load_centre_collect_callbacks,
88
+ },
80
89
  }
81
90
 
82
91
 
@@ -77,6 +77,12 @@ class SmargonSpeedException(Exception):
77
77
  pass
78
78
 
79
79
 
80
+ class CrystalNotFoundException(WarningException):
81
+ """Raised if grid detection completed normally but no crystal was found."""
82
+
83
+ pass
84
+
85
+
80
86
  @dataclasses.dataclass
81
87
  class FlyScanXRayCentreComposite:
82
88
  """All devices which are directly or indirectly required by this plan"""
@@ -190,47 +196,50 @@ def run_gridscan_and_move(
190
196
 
191
197
  LOGGER.info("Grid scan finished, getting results.")
192
198
 
193
- with TRACER.start_span("wait_for_zocalo"):
194
- yield from bps.trigger_and_read(
195
- [fgs_composite.zocalo], name=ZOCALO_READING_PLAN_NAME
196
- )
197
- LOGGER.info("Zocalo triggered and read, interpreting results.")
198
- xray_centre, bbox_size = yield from get_processing_result(fgs_composite.zocalo)
199
- LOGGER.info(f"Got xray centre: {xray_centre}, bbox size: {bbox_size}")
200
- if xray_centre is not None:
201
- xray_centre = parameters.FGS_params.grid_position_to_motor_position(
202
- xray_centre
199
+ try:
200
+ with TRACER.start_span("wait_for_zocalo"):
201
+ yield from bps.trigger_and_read(
202
+ [fgs_composite.zocalo], name=ZOCALO_READING_PLAN_NAME
203
203
  )
204
- else:
205
- xray_centre = initial_xyz
206
- LOGGER.warning("No X-ray centre received")
207
- if bbox_size is not None:
208
- with TRACER.start_span("change_aperture"):
209
- yield from set_aperture_for_bbox_size(
210
- fgs_composite.aperture_scatterguard, bbox_size
204
+ LOGGER.info("Zocalo triggered and read, interpreting results.")
205
+ xray_centre, bbox_size = yield from get_processing_result(
206
+ fgs_composite.zocalo
207
+ )
208
+ LOGGER.info(f"Got xray centre: {xray_centre}, bbox size: {bbox_size}")
209
+ if xray_centre is not None:
210
+ xray_centre = parameters.FGS_params.grid_position_to_motor_position(
211
+ xray_centre
211
212
  )
212
- else:
213
- LOGGER.warning("No bounding box size received")
214
-
215
- # once we have the results, go to the appropriate position
216
- LOGGER.info("Moving to centre of mass.")
217
- with TRACER.start_span("move_to_result"):
218
- x, y, z = xray_centre
219
- yield from move_x_y_z(fgs_composite.sample_motors, x, y, z, wait=True)
220
-
221
- if parameters.FGS_params.set_stub_offsets:
222
- LOGGER.info("Recentring smargon co-ordinate system to this point.")
223
- yield from bps.mv(
224
- fgs_composite.sample_motors.stub_offsets, StubPosition.CURRENT_AS_CENTER
225
- )
226
-
227
- # Turn off dev/shm streaming to avoid filling disk, see https://github.com/DiamondLightSource/hyperion/issues/1395
228
- LOGGER.info("Turning off Eiger dev/shm streaming")
229
- yield from bps.abs_set(fgs_composite.eiger.odin.fan.dev_shm_enable, 0)
213
+ else:
214
+ LOGGER.warning("No X-ray centre received")
215
+ raise CrystalNotFoundException()
216
+ if bbox_size is not None:
217
+ with TRACER.start_span("change_aperture"):
218
+ yield from set_aperture_for_bbox_size(
219
+ fgs_composite.aperture_scatterguard, bbox_size
220
+ )
221
+ else:
222
+ LOGGER.warning("No bounding box size received")
223
+
224
+ # once we have the results, go to the appropriate position
225
+ LOGGER.info("Moving to centre of mass.")
226
+ with TRACER.start_span("move_to_result"):
227
+ x, y, z = xray_centre
228
+ yield from move_x_y_z(fgs_composite.sample_motors, x, y, z, wait=True)
229
+
230
+ if parameters.FGS_params.set_stub_offsets:
231
+ LOGGER.info("Recentring smargon co-ordinate system to this point.")
232
+ yield from bps.mv(
233
+ fgs_composite.sample_motors.stub_offsets, StubPosition.CURRENT_AS_CENTER
234
+ )
235
+ finally:
236
+ # Turn off dev/shm streaming to avoid filling disk, see https://github.com/DiamondLightSource/hyperion/issues/1395
237
+ LOGGER.info("Turning off Eiger dev/shm streaming")
238
+ yield from bps.abs_set(fgs_composite.eiger.odin.fan.dev_shm_enable, 0)
230
239
 
231
- # Wait on everything before returning to GDA (particularly apertures), can be removed
232
- # when we do not return to GDA here
233
- yield from bps.wait()
240
+ # Wait on everything before returning to GDA (particularly apertures), can be removed
241
+ # when we do not return to GDA here
242
+ yield from bps.wait()
234
243
 
235
244
 
236
245
  @bpp.set_run_key_decorator(CONST.PLAN.GRIDSCAN_MAIN)
@@ -0,0 +1,46 @@
1
+ import dataclasses
2
+
3
+ from blueapi.core import BlueskyContext
4
+ from dodal.devices.oav.oav_parameters import OAVParameters
5
+
6
+ from mx_bluesky.hyperion.experiment_plans.robot_load_then_centre_plan import (
7
+ RobotLoadThenCentreComposite,
8
+ robot_load_then_centre,
9
+ )
10
+ from mx_bluesky.hyperion.experiment_plans.rotation_scan_plan import (
11
+ RotationScanComposite,
12
+ multi_rotation_scan,
13
+ )
14
+ from mx_bluesky.hyperion.parameters.load_centre_collect import LoadCentreCollect
15
+ from mx_bluesky.hyperion.utils.context import device_composite_from_context
16
+
17
+
18
+ @dataclasses.dataclass
19
+ class LoadCentreCollectComposite(RobotLoadThenCentreComposite, RotationScanComposite):
20
+ """Composite that provides access to the required devices."""
21
+
22
+ pass
23
+
24
+
25
+ def create_devices(context: BlueskyContext) -> LoadCentreCollectComposite:
26
+ """Create the necessary devices for the plan."""
27
+ return device_composite_from_context(context, LoadCentreCollectComposite)
28
+
29
+
30
+ def load_centre_collect_full_plan(
31
+ composite: LoadCentreCollectComposite,
32
+ params: LoadCentreCollect,
33
+ oav_params: OAVParameters | None = None,
34
+ ):
35
+ """Attempt a complete data collection experiment, consisting of the following:
36
+ * Load the sample if necessary
37
+ * Move to the specified goniometer start angles
38
+ * Perform optical centring, then X-ray centring
39
+ * If X-ray centring finds a diffracting centre then move to that centre and
40
+ * do a collection with the specified parameters.
41
+ """
42
+ if not oav_params:
43
+ oav_params = OAVParameters(context="xrayCentring")
44
+ yield from robot_load_then_centre(composite, params.robot_load_then_centre)
45
+
46
+ yield from multi_rotation_scan(composite, params.multi_rotation_scan, oav_params)