mx-bluesky 1.4.0__tar.gz → 1.4.1a0__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.0 → mx_bluesky-1.4.1a0}/.github/workflows/_container.yml +1 -5
  2. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/Dockerfile.release +1 -1
  3. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/PKG-INFO +3 -3
  4. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/conf.py +1 -0
  5. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +1 -1
  6. mx_bluesky-1.4.1a0/docs/developer/general/how-to/dev-ops/dev-ops.rst +8 -0
  7. {mx_bluesky-1.4.0/docs/developer/general/how-to → mx_bluesky-1.4.1a0/docs/developer/general/how-to/dev-ops}/lint.rst +5 -5
  8. {mx_bluesky-1.4.0/docs/developer/general/how-to → mx_bluesky-1.4.1a0/docs/developer/general/how-to/dev-ops}/run-tests.rst +1 -1
  9. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/index.rst +2 -7
  10. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/reference/standards.rst +2 -2
  11. {mx_bluesky-1.4.0/docs/developer/general/how-to → mx_bluesky-1.4.1a0/docs/developer/general/tutorials}/profile-tests.rst +2 -2
  12. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/hyperion/index.rst +2 -2
  13. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/hyperion/reference/param_hierarchy.puml +4 -4
  14. mx_bluesky-1.4.1a0/docs/index.rst +22 -0
  15. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/pyproject.toml +2 -2
  16. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/run_hyperion.sh +2 -0
  17. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/_version.py +2 -2
  18. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i04/thawing_plan.py +1 -1
  19. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/dcid.py +19 -21
  20. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +2 -2
  21. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +1 -4
  22. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -1
  23. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +14 -24
  24. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +18 -76
  25. mx_bluesky-1.4.1a0/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +119 -0
  26. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +4 -6
  27. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/log.py +1 -1
  28. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -1
  29. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +4 -3
  30. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +78 -80
  31. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -2
  32. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +24 -26
  33. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +11 -11
  34. {mx_bluesky-1.4.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1a0/src/mx_bluesky/common}/external_interaction/config_server.py +19 -20
  35. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/parameters/components.py +52 -15
  36. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/parameters/constants.py +6 -1
  37. mx_bluesky-1.4.1a0/src/mx_bluesky/common/parameters/gridscan.py +94 -0
  38. {mx_bluesky-1.4.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1a0/src/mx_bluesky/common}/parameters/robot_load.py +2 -2
  39. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/plans/do_fgs.py +2 -2
  40. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/utils/log.py +2 -0
  41. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/__main__.py +2 -1
  42. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +4 -4
  43. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +1 -1
  44. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +4 -0
  45. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +83 -0
  46. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/experiment_plans/common/xrc_result.py +47 -0
  47. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +9 -9
  48. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +131 -89
  49. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +50 -18
  50. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +88 -0
  51. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +2 -2
  52. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +3 -9
  53. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +2 -2
  54. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +36 -17
  55. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +2 -2
  56. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +6 -10
  57. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +46 -11
  58. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +18 -3
  59. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -3
  60. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/external_interaction/callbacks/common/abstract_event.py +66 -0
  61. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py +15 -15
  62. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +3 -1
  63. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +5 -3
  64. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py +5 -2
  65. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py +5 -4
  66. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/external_interaction/config_server.py +18 -0
  67. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py +1 -1
  68. mx_bluesky-1.4.1a0/src/mx_bluesky/hyperion/parameters/components.py +7 -0
  69. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/constants.py +0 -1
  70. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/gridscan.py +33 -76
  71. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +14 -9
  72. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/rotation.py +15 -6
  73. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/PKG-INFO +3 -3
  74. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/SOURCES.txt +18 -15
  75. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/requires.txt +2 -2
  76. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/conftest.py +58 -30
  77. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/conftest.py +13 -39
  78. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +8 -8
  79. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +24 -29
  80. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/conftest.py +61 -17
  81. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_config_service.py +2 -2
  82. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +14 -8
  83. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +40 -24
  84. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +2 -2
  85. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +4 -3
  86. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_parameters.json +3 -4
  87. mx_bluesky-1.4.1a0/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +56 -0
  88. mx_bluesky-1.4.1a0/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +30 -0
  89. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +2 -7
  90. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +35 -0
  91. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +12 -0
  92. mx_bluesky-1.4.1a0/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +43 -0
  93. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/common/plan_stubs/test_do_fgs.py +1 -1
  94. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +78 -0
  95. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +4 -4
  96. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -11
  97. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +26 -0
  98. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/conftest.py +73 -57
  99. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/experiment_plans/test_change_aperture_then_move_plan.py +78 -0
  100. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +5 -0
  101. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +109 -192
  102. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +83 -22
  103. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +15 -20
  104. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +505 -0
  105. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +6 -0
  106. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +2 -2
  107. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +69 -20
  108. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +5 -4
  109. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +4 -4
  110. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +120 -17
  111. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +2 -3
  112. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/external_interaction/callbacks/common/test_abstract_event.py +44 -0
  113. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +9 -15
  114. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_mapping.py +3 -3
  115. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/conftest.py +2 -2
  116. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/ispyb/conftest.py +2 -2
  117. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_expeye_interaction.py +4 -4
  118. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +28 -17
  119. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +20 -18
  120. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/test_main_system.py +6 -8
  121. mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  122. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/utils/test_context.py +2 -2
  123. mx_bluesky-1.4.0/.github/workflows/publish_docker_image.yml +0 -50
  124. mx_bluesky-1.4.0/docs/developer/general/how-to/static-analysis.rst +0 -8
  125. mx_bluesky-1.4.0/docs/developer/general/tutorials/dev-install.rst +0 -60
  126. mx_bluesky-1.4.0/docs/genindex.rst +0 -5
  127. mx_bluesky-1.4.0/docs/index.rst +0 -29
  128. mx_bluesky-1.4.0/docs/user/explanations/docs-structure.rst +0 -18
  129. mx_bluesky-1.4.0/docs/user/how-to/run-container.rst +0 -15
  130. mx_bluesky-1.4.0/docs/user/index.rst +0 -57
  131. mx_bluesky-1.4.0/docs/user/tutorials/installation.rst +0 -38
  132. mx_bluesky-1.4.0/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +0 -150
  133. mx_bluesky-1.4.0/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -318
  134. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -46
  135. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/parameters/components.py +0 -12
  136. mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -58
  137. mx_bluesky-1.4.0/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -38
  138. mx_bluesky-1.4.0/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -257
  139. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.copier-answers.yml +0 -0
  140. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.coveragerc +0 -0
  141. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.devcontainer/Dockerfile +0 -0
  142. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.devcontainer/devcontainer.json +0 -0
  143. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.dockerignore +0 -0
  144. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/CONTRIBUTING.md +0 -0
  145. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  146. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  147. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  148. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/actions/install_requirements/action.yml +0 -0
  149. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/actions/verify-nexus/Dockerfile +0 -0
  150. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/actions/verify-nexus/action.yml +0 -0
  151. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  152. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/dependabot.yml +0 -0
  153. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/pages/index.html +0 -0
  154. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/pages/make_switcher.py +0 -0
  155. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_check.yml +0 -0
  156. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_dist.yml +0 -0
  157. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_docs.yml +0 -0
  158. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_pypi.yml +0 -0
  159. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_release.yml +0 -0
  160. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_test.yml +0 -0
  161. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/_tox.yml +0 -0
  162. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/ci.yml +0 -0
  163. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.github/workflows/periodic.yml +0 -0
  164. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.gitignore +0 -0
  165. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.pre-commit-config.yaml +0 -0
  166. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/extensions.json +0 -0
  167. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/launch.json +0 -0
  168. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/mx-bluesky.code-workspace +0 -0
  169. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
  170. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/settings.json +0 -0
  171. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/.vscode/tasks.json +0 -0
  172. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/Dockerfile +0 -0
  173. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/LICENSE +0 -0
  174. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/README.rst +0 -0
  175. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/catalog-info.yaml +0 -0
  176. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/codecov.yml +0 -0
  177. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/conftest.py +0 -0
  178. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/_api.rst +0 -0
  179. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/_templates/custom-module-template.rst +0 -0
  180. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  181. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  182. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/explanations/decisions.rst +0 -0
  183. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/how-to/contribute.rst +0 -0
  184. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/how-to/create-a-release.rst +0 -0
  185. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
  186. {mx_bluesky-1.4.0/docs/developer/general/how-to → mx_bluesky-1.4.1a0/docs/developer/general/how-to/dev-ops}/build-docs.rst +0 -0
  187. {mx_bluesky-1.4.0/docs/developer/general/how-to → mx_bluesky-1.4.1a0/docs/developer/general/how-to/dev-ops}/update-tools.rst +0 -0
  188. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/general/how-to/get-started.rst +0 -0
  189. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
  190. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  191. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/hyperion/reference/readme.md +0 -0
  192. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/index.rst +0 -0
  193. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  194. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  195. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/murko-integration/index.rst +0 -0
  196. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  197. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  198. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  199. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  200. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
  201. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  202. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  203. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/images/dls-favicon.ico +0 -0
  204. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/docs/images/dls-logo.svg +0 -0
  205. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/helmchart/Chart.yaml +0 -0
  206. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/helmchart/templates/deployment.yaml +0 -0
  207. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/helmchart/templates/ingress.yaml +0 -0
  208. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/helmchart/templates/service.yaml +0 -0
  209. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/helmchart/values.yaml +0 -0
  210. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  211. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  212. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/code.yml +0 -0
  213. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/container_tests.sh +0 -0
  214. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  215. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  216. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/linkcheck.yml +0 -0
  217. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  218. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  219. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/pin_versions.py +0 -0
  220. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  221. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  222. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  223. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/test_data/setup.cfg +0 -0
  224. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  225. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  226. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/hyperion_other/workflows/test_pin_versions.py +0 -0
  227. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/run_hyperion_in_podman.sh +0 -0
  228. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/setup.cfg +0 -0
  229. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/__init__.py +0 -0
  230. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/__main__.py +0 -0
  231. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/__init__.py +0 -0
  232. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  233. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
  234. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  235. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
  236. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  237. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  238. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  239. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  240. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  241. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  242. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  243. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  244. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  245. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  246. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  247. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  248. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  249. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  250. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
  251. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
  252. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  253. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  254. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  255. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
  256. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  257. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  258. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  259. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  260. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
  261. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
  262. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  263. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  264. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  265. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
  266. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  267. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  268. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  269. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/__init__.py +0 -0
  270. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +0 -0
  271. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/plans/__init__.py +0 -0
  272. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/common/utils/tracing.py +0 -0
  273. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/__init__.py +0 -0
  274. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
  275. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
  276. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
  277. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
  278. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +0 -0
  279. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +0 -0
  280. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
  281. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
  282. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +0 -0
  283. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/exceptions.py +0 -0
  284. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  285. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  286. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
  287. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/aperture_change_callback.py +0 -0
  288. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/__init__.py +0 -0
  289. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +0 -0
  290. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
  291. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/ispyb_callback_base.py +0 -0
  292. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/log_uid_tag_callback.py +0 -0
  293. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/logging_callback.py +0 -0
  294. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/plan_reactive_callback.py +0 -0
  295. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
  296. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
  297. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  298. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  299. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  300. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/callbacks/zocalo_callback.py +0 -0
  301. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/exceptions.py +0 -0
  302. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/ispyb/__init__.py +0 -0
  303. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/ispyb/data_model.py +0 -0
  304. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_store.py +0 -0
  305. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_utils.py +0 -0
  306. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/nexus/__init__.py +0 -0
  307. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/nexus/nexus_utils.py +0 -0
  308. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/external_interaction/nexus/write_nexus.py +0 -0
  309. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/log.py +0 -0
  310. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  311. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  312. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  313. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  314. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/utils/utils.py +0 -0
  315. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/hyperion/utils/validation.py +0 -0
  316. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  317. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  318. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  319. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  320. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/start_jupyter.sh +0 -0
  321. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/__init__.py +0 -0
  322. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/__init__.py +0 -0
  323. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/__init__.py +0 -0
  324. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/experiment_plans/__init__.py +0 -0
  325. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +0 -0
  326. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
  327. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  328. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  329. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  330. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
  331. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/README.md +0 -0
  332. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  333. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  334. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  335. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  336. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  337. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  338. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  339. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
  340. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
  341. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
  342. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
  343. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
  344. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
  345. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
  346. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
  347. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -0
  348. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
  349. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
  350. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  351. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/scratch/README +0 -0
  352. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_OAVCentring.json +0 -0
  353. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  354. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  355. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_beamline_parameters.txt +0 -0
  356. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
  357. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_config.cfg +0 -0
  358. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  359. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  360. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  361. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_det_dist_converter.txt +0 -0
  362. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_display.configuration +0 -0
  363. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  364. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_lookup_table.txt +0 -0
  365. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/test_data/test_mirror_focus.json +0 -0
  366. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/__init__.py +0 -0
  367. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/__init__.py +0 -0
  368. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
  369. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i04/test_thawing.py +0 -0
  370. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
  371. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
  372. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
  373. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
  374. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  375. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  376. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
  377. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
  378. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  379. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  380. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  381. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
  382. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  383. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
  384. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
  385. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/common/__init__.py +0 -0
  386. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +0 -0
  387. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/common/utils/__init__.py +0 -0
  388. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/common/utils/test_log.py +0 -0
  389. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/conftest.py +0 -0
  390. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/__init__.py +0 -0
  391. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/conftest.py +0 -0
  392. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
  393. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
  394. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
  395. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
  396. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -0
  397. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
  398. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  399. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
  400. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
  401. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
  402. {mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/external_interaction/callbacks/common}/__init__.py +0 -0
  403. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
  404. {mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/ispyb → mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  405. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
  406. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  407. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  408. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
  409. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  410. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  411. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/conftest.py +0 -0
  412. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_callback.py +0 -0
  413. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_handler.py +0 -0
  414. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_nexus_handler.py +0 -0
  415. {mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/external_interaction/ispyb}/__init__.py +0 -0
  416. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  417. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_rotation_ispyb_store.py +0 -0
  418. {mx_bluesky-1.4.0/tests/unit_tests/hyperion/parameters → mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/external_interaction/nexus}/__init__.py +0 -0
  419. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  420. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/nexus/test_nexus_utils.py +0 -0
  421. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  422. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  423. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  424. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/test_ispyb_utils.py +0 -0
  425. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  426. {mx_bluesky-1.4.0/tests/unit_tests/hyperion/utils → mx_bluesky-1.4.1a0/tests/unit_tests/hyperion/parameters}/__init__.py +0 -0
  427. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  428. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/test_utils.py +0 -0
  429. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  430. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/tests/unit_tests/test_cli.py +0 -0
  431. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/beam_off_trickery.sh +0 -0
  432. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/build_docker_image.sh +0 -0
  433. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/build_imginfo.sh +0 -0
  434. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/deploy/create_venv.py +0 -0
  435. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  436. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/deploy/deploy_hyperion_to_k8s.sh +0 -0
  437. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
  438. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/deploy/test_deploy.py +0 -0
  439. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/dev_jaeger_container.sh +0 -0
  440. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/dls_dev_env.sh +0 -0
  441. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/docker/entrypoint.sh +0 -0
  442. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/docker/healthcheck.sh +0 -0
  443. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/docker/i03-compose.yml +0 -0
  444. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/graylog/Dockerfile +0 -0
  445. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/graylog/tcp_input.json +0 -0
  446. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/procserv_ioc_start.sh +0 -0
  447. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/run_imginfo.sh +0 -0
  448. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/setup_graylog.sh +0 -0
  449. {mx_bluesky-1.4.0 → mx_bluesky-1.4.1a0}/utility_scripts/strip_metafile.py +0 -0
@@ -30,12 +30,8 @@ jobs:
30
30
  DOCKER_BUILD_RECORD_UPLOAD: false
31
31
  with:
32
32
  context: .
33
- # Need load and tags so we can test it below
33
+ file: Dockerfile.release
34
34
  load: true
35
- tags: tag_for_testing
36
-
37
- - name: Test cli works in cached runtime image
38
- run: docker run --rm tag_for_testing --version
39
35
 
40
36
  - name: Create tags for publishing image
41
37
  id: meta
@@ -33,6 +33,6 @@ RUN git restore .
33
33
  RUN rm src/mx_bluesky/_version.py
34
34
  RUN pip install --no-cache-dir --no-compile --no-deps -e .
35
35
 
36
- ENTRYPOINT /app/hyperion/utility_scripts/docker/entrypoint.sh
36
+ ENTRYPOINT ["/app/hyperion/utility_scripts/docker/entrypoint.sh"]
37
37
 
38
38
  EXPOSE 5005
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mx-bluesky
3
- Version: 1.4.0
3
+ Version: 1.4.1a0
4
4
  Summary: Bluesky tools for MX Beamlines at DLS
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
6
6
  License: Apache License
@@ -237,9 +237,9 @@ Requires-Dist: matplotlib
237
237
  Requires-Dist: blueapi>=0.5.0
238
238
  Requires-Dist: daq-config-server>=0.1.1
239
239
  Requires-Dist: ophyd==1.9.0
240
- Requires-Dist: ophyd-async>=0.3a5
240
+ Requires-Dist: ophyd-async>=0.8a5
241
241
  Requires-Dist: bluesky>=1.13.0a4
242
- Requires-Dist: dls-dodal==1.35.0
242
+ Requires-Dist: dls-dodal==1.36.1a
243
243
  Provides-Extra: dev
244
244
  Requires-Dist: black; extra == "dev"
245
245
  Requires-Dist: build; extra == "dev"
@@ -136,6 +136,7 @@ rst_epilog = """
136
136
  .. _black: https://github.com/psf/black
137
137
  .. _mypy: http://mypy-lang.org/
138
138
  .. _pre-commit: https://pre-commit.com/
139
+ .. _ruff: https://github.com/astral-sh/ruff
139
140
  """
140
141
 
141
142
  # Ignore localhost links for periodic check that links in docs are valid
@@ -1,4 +1,4 @@
1
- 1. Python version support
1
+ 3. Python version support
2
2
  =========================
3
3
 
4
4
  Date: 2024-08-22
@@ -0,0 +1,8 @@
1
+ Dev-Ops guides
2
+ ==============================
3
+
4
+ .. toctree::
5
+ :maxdepth: 1
6
+ :glob:
7
+
8
+ ./*
@@ -1,7 +1,7 @@
1
1
  Run linting using pre-commit
2
2
  ============================
3
3
 
4
- Code linting is handled by black_, ruff run under pre-commit_.
4
+ Code linting is handled by ruff_, run under pre-commit_.
5
5
 
6
6
  Running pre-commit
7
7
  ------------------
@@ -18,15 +18,15 @@ commit`` on just the files that have changed::
18
18
  Fixing issues
19
19
  -------------
20
20
 
21
- If black reports an issue you can tell it to reformat all the files in the
21
+ If ruff reports an issue you can attempt to automatically reformat all the files in the
22
22
  repository::
23
23
 
24
- $ black .
24
+ $ ruff check --fix .
25
25
 
26
26
  If you get any ruff issues you will have to fix those manually.
27
27
 
28
28
  VSCode support
29
29
  --------------
30
30
 
31
- The ``.vscode/settings.json`` will run black and isort formatters as well as
32
- flake8 checking on save. Issues will be highlighted in the editor window.
31
+ The ``.vscode/settings.json`` will run linters and formatters
32
+ on save. Issues will be highlighted in the editor window.
@@ -4,7 +4,7 @@ Run the tests using pytest
4
4
  Testing is done with pytest_. It will find functions in the project that `look
5
5
  like tests`_, and run them to check for errors. You can run it with::
6
6
 
7
- $ tox -e pytest
7
+ $ tox -e tests
8
8
 
9
9
  It will also report coverage to the commandline and to ``cov.xml``.
10
10
 
@@ -12,7 +12,7 @@ Documentation is split into four categories, and each is also accessible from li
12
12
  :caption: Tutorials
13
13
  :maxdepth: 1
14
14
 
15
- tutorials/dev-install
15
+ tutorials/profile-tests
16
16
 
17
17
  +++
18
18
 
@@ -26,14 +26,9 @@ Documentation is split into four categories, and each is also accessible from li
26
26
 
27
27
  how-to/get-started
28
28
  how-to/contribute
29
- how-to/build-docs
30
- how-to/run-tests
31
- how-to/static-analysis
32
- how-to/lint
33
- how-to/update-tools
34
29
  how-to/create-a-release
35
30
  how-to/deploy-a-release
36
- how-to/profile-tests
31
+ how-to/dev-ops/dev-ops
37
32
 
38
33
  +++
39
34
 
@@ -15,7 +15,7 @@ The code in this repository conforms to standards set by the following tools:
15
15
 
16
16
  .. seealso::
17
17
 
18
- How-to guides `../how-to/lint` and `../how-to/static-analysis`
18
+ How-to guides `../how-to/dev-ops/lint`
19
19
 
20
20
  .. _documentation_standards:
21
21
 
@@ -60,4 +60,4 @@ Docs follow the underlining convention::
60
60
 
61
61
  .. seealso::
62
62
 
63
- How-to guide `../how-to/build-docs`
63
+ How-to guide `../how-to/dev-ops/build-docs`
@@ -15,7 +15,7 @@ value e.g.
15
15
  0.1s
16
16
 
17
17
  How to profile the unit tests
18
- =============================
18
+ -----------------------------
19
19
 
20
20
  Sometimes tests can exhibit slowdowns for unknown reasons, in order to diagnose the cause it can be useful to profile
21
21
  the test code.
@@ -35,7 +35,7 @@ You can then often step through in the debugger to find lines which execute slow
35
35
 
36
36
 
37
37
  More detailed profiling
38
- =======================
38
+ ------------------------
39
39
 
40
40
  Occasionally this is not sufficient. In which case more detailed profiling is necessary
41
41
 
@@ -1,7 +1,7 @@
1
- General MX-Bluesky Developer Guide
1
+ Hyperion Developer Guide
2
2
  ==================================
3
3
 
4
- Documentation is split into four categories, and each is also accessible from links in the side-bar.
4
+ Documentation specific for the Hyperion module within MX-Bluesky
5
5
 
6
6
  .. grid:: 2
7
7
  :gutter: 2
@@ -31,7 +31,7 @@ package Experiments {
31
31
  class RobotLoadAndEnergyChange
32
32
  class RobotLoadThenCentre
33
33
  class SpecifiedGridScan
34
- class ThreeDGridScan
34
+ class HyperionThreeDGridScan
35
35
  }
36
36
 
37
37
  class HyperionParameters
@@ -66,9 +66,9 @@ RobotLoadThenCentre *-- RobotLoadAndEnergyChange
66
66
  RobotLoadThenCentre *-- PinTipCentreThenXrayCentre
67
67
  GridCommon <|-- SpecifiedGridScan
68
68
  WithScan <|-- SpecifiedGridScan
69
- SpecifiedGridScan <|-- ThreeDGridScan
70
- SplitScan <|-- ThreeDGridScan
71
- WithOptionalEnergyChange <|-- ThreeDGridScan
69
+ SpecifiedGridScan <|-- HyperionThreeDGridScan
70
+ SplitScan <|-- HyperionThreeDGridScan
71
+ WithOptionalEnergyChange <|-- HyperionThreeDGridScan
72
72
  WithOavCentring <|-- GridCommon
73
73
  WithScan <|-- RotationScan
74
74
  RotationScanPerSweep <|-- RotationScan
@@ -0,0 +1,22 @@
1
+ :html_theme.sidebar_secondary.remove:
2
+
3
+ .. include:: ../README.rst
4
+ :end-before: when included in index.rst
5
+
6
+ How the documentation is structured
7
+ -----------------------------------
8
+
9
+ The documentation consists of a Developer Guide for MX-Bluesky, which also includes documentation for Hyperion. At its current stage in development, there is no user guide.
10
+
11
+ .. grid:: 1
12
+
13
+ .. grid-item-card:: :material-regular:`code;4em`
14
+ :link: developer/index
15
+ :link-type: doc
16
+
17
+ The Developer Guide contains documentation on how to install, develop and contribute changes to MX-Bluesky; explanations about the purpose of the software and some of the technical concepts; as well as how-to guides and tutorials.
18
+
19
+ .. toctree::
20
+ :hidden:
21
+
22
+ developer/index
@@ -44,9 +44,9 @@ dependencies = [
44
44
  "blueapi >= 0.5.0",
45
45
  "daq-config-server >= 0.1.1",
46
46
  "ophyd == 1.9.0",
47
- "ophyd-async >= 0.3a5",
47
+ "ophyd-async >= 0.8a5",
48
48
  "bluesky >= 1.13.0a4",
49
- "dls-dodal == 1.35.0",
49
+ "dls-dodal == 1.36.1a",
50
50
  ]
51
51
 
52
52
 
@@ -99,6 +99,8 @@ if [[ $START == 1 ]]; then
99
99
  module unload controls_dev
100
100
  module load dials
101
101
 
102
+ RELATIVE_SCRIPT_DIR=$( dirname -- "$0"; )
103
+ cd ${RELATIVE_SCRIPT_DIR}
102
104
 
103
105
  if [ -z "$LOG_DIR" ]; then
104
106
  if [ $IN_DEV == true ]; then
@@ -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.0'
16
- __version_tuple__ = version_tuple = (1, 4, 0)
15
+ __version__ = version = '1.4.1a0'
16
+ __version_tuple__ = version_tuple = (1, 4, 1)
@@ -3,7 +3,7 @@ from collections.abc import Callable
3
3
  import bluesky.plan_stubs as bps
4
4
  import bluesky.preprocessors as bpp
5
5
  from bluesky.preprocessors import run_decorator, subs_decorator
6
- from dls_bluesky_core.core import MsgGenerator
6
+ from bluesky.utils import MsgGenerator
7
7
  from dodal.beamlines.i04 import MURKO_REDIS_DB, REDIS_HOST, REDIS_PASSWORD
8
8
  from dodal.common import inject
9
9
  from dodal.devices.oav.oav_detector import OAV
@@ -1,6 +1,5 @@
1
1
  import datetime
2
2
  import json
3
- import logging
4
3
  import math
5
4
  import os
6
5
  import re
@@ -10,6 +9,7 @@ from functools import lru_cache
10
9
 
11
10
  import requests
12
11
 
12
+ from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
13
13
  from mx_bluesky.beamlines.i24.serial.parameters import SSXType
14
14
  from mx_bluesky.beamlines.i24.serial.setup_beamline import (
15
15
  Detector,
@@ -25,8 +25,6 @@ try:
25
25
  except ImportError:
26
26
  pass
27
27
 
28
- logger = logging.getLogger("I24ssx.DCID")
29
-
30
28
 
31
29
  # Collection start/end script to kick off analysis
32
30
  COLLECTION_START_SCRIPT = "/dls_sw/i24/scripts/RunAtStartOfCollect-i24-ssx.sh"
@@ -41,7 +39,7 @@ CREDENTIALS_LOCATION = "/scratch/ssx_dcserver.key"
41
39
  def get_auth_header() -> dict:
42
40
  """Read the credentials file and build the Authorisation header"""
43
41
  if not os.path.isfile(CREDENTIALS_LOCATION):
44
- logger.warning(
42
+ SSX_LOGGER.warning(
45
43
  "Could not read %s; attempting to proceed without credentials",
46
44
  CREDENTIALS_LOCATION,
47
45
  )
@@ -205,12 +203,12 @@ class DCID:
205
203
 
206
204
  # Log what we are doing here
207
205
  try:
208
- logger.info(
206
+ SSX_LOGGER.info(
209
207
  "BRIDGE: POST /dc --data %s",
210
208
  repr(json.dumps(data)),
211
209
  )
212
210
  except Exception:
213
- logger.info(
211
+ SSX_LOGGER.info(
214
212
  "Caught exception converting data to JSON. Data:\n%s\nVERBOSE:\n%s",
215
213
  str({k: type(v) for k, v in data.items()}),
216
214
  )
@@ -224,20 +222,20 @@ class DCID:
224
222
  )
225
223
  resp.raise_for_status()
226
224
  self.dcid = resp.json()["dataCollectionId"]
227
- logger.info("Generated DCID %s", self.dcid)
225
+ SSX_LOGGER.info("Generated DCID %s", self.dcid)
228
226
  except requests.HTTPError as e:
229
227
  self.error = True
230
- logger.error(
228
+ SSX_LOGGER.error(
231
229
  "DCID generation Failed; Reason from server: %s", e.response.text
232
230
  )
233
231
  if self.emit_errors:
234
232
  raise
235
- logger.exception("Error generating DCID: %s", e)
233
+ SSX_LOGGER.exception("Error generating DCID: %s", e)
236
234
  except Exception as e:
237
235
  self.error = True
238
236
  if self.emit_errors:
239
237
  raise
240
- logger.exception("Error generating DCID: %s", e)
238
+ SSX_LOGGER.exception("Error generating DCID: %s", e)
241
239
 
242
240
  def __int__(self):
243
241
  return self.dcid
@@ -248,13 +246,13 @@ class DCID:
248
246
  return None
249
247
  try:
250
248
  command = [COLLECTION_START_SCRIPT, str(self.dcid)]
251
- logger.info("Running %s", " ".join(command))
249
+ SSX_LOGGER.info("Running %s", " ".join(command))
252
250
  subprocess.Popen(command)
253
251
  except Exception as e:
254
252
  self.error = True
255
253
  if self.emit_errors:
256
254
  raise
257
- logger.warning("Error starting start of collect script: %s", e)
255
+ SSX_LOGGER.warning("Error starting start of collect script: %s", e)
258
256
 
259
257
  def notify_end(self):
260
258
  """Send notifications that the collection has now ended"""
@@ -262,13 +260,13 @@ class DCID:
262
260
  return
263
261
  try:
264
262
  command = [COLLECTION_END_SCRIPT, str(self.dcid)]
265
- logger.info("Running %s", " ".join(command))
263
+ SSX_LOGGER.info("Running %s", " ".join(command))
266
264
  subprocess.Popen(command)
267
265
  except Exception as e:
268
266
  self.error = True
269
267
  if self.emit_errors:
270
268
  raise
271
- logger.warning("Error running end of collect notification: %s", e)
269
+ SSX_LOGGER.warning("Error running end of collect notification: %s", e)
272
270
 
273
271
  def collection_complete(
274
272
  self, end_time: str | datetime.datetime | None = None, aborted: bool = False
@@ -285,7 +283,7 @@ class DCID:
285
283
  # end_time might be a string from time.ctime
286
284
  if isinstance(end_time, str):
287
285
  end_time = datetime.datetime.strptime(end_time, "%a %b %d %H:%M:%S %Y")
288
- logger.debug("Parsed end time: %s", end_time)
286
+ SSX_LOGGER.debug("Parsed end time: %s", end_time)
289
287
 
290
288
  if not end_time:
291
289
  end_time = datetime.datetime.now().astimezone()
@@ -302,13 +300,13 @@ class DCID:
302
300
  if self.dcid is None:
303
301
  # Print what we would have sent. This means that if something is failing,
304
302
  # we still have the data to upload in the log files.
305
- logger.info(
303
+ SSX_LOGGER.info(
306
304
  'BRIDGE: No DCID but Would PATCH "/dc/XXXX" --data=%s',
307
305
  repr(json.dumps(data)),
308
306
  )
309
307
  return
310
308
 
311
- logger.info(
309
+ SSX_LOGGER.info(
312
310
  'BRIDGE: PATCH "/dc/%s" --data=%s', self.dcid, repr(json.dumps(data))
313
311
  )
314
312
  response = requests.patch(
@@ -318,7 +316,7 @@ class DCID:
318
316
  headers=get_auth_header(),
319
317
  )
320
318
  response.raise_for_status()
321
- logger.info("Successfully updated end time for DCID %d", self.dcid)
319
+ SSX_LOGGER.info("Successfully updated end time for DCID %d", self.dcid)
322
320
  except Exception as e:
323
321
  resp_obj = getattr(e, "response", None)
324
322
  try:
@@ -333,7 +331,7 @@ class DCID:
333
331
  self.error = True
334
332
  if self.emit_errors:
335
333
  raise
336
- logger.warning("Error completing DCID: %s (%s)", e, resp_str)
334
+ SSX_LOGGER.warning("Error completing DCID: %s (%s)", e, resp_str)
337
335
 
338
336
 
339
337
  def get_pilatus_filename_template_from_pvs() -> str:
@@ -385,9 +383,9 @@ def get_beamsize() -> tuple[float | None, float | None]:
385
383
  h_mode = caget("BL24I-OP-MFM-01:G1:TARGETAPPLY")
386
384
  # Validate these and note an error otherwise
387
385
  if not v_mode.startswith("VMFM") or v_mode[4:] not in focus_modes:
388
- logger.error("Unrecognised vertical beam mode %s", v_mode)
386
+ SSX_LOGGER.error("Unrecognised vertical beam mode %s", v_mode)
389
387
  if not h_mode.startswith("HMFM") or h_mode[4:] not in focus_modes:
390
- logger.error("Unrecognised horizontal beam mode %s", h_mode)
388
+ SSX_LOGGER.error("Unrecognised horizontal beam mode %s", h_mode)
391
389
  _, h, _ = focus_modes.get(h_mode[4:], (None, None, None))
392
390
  _, _, v = focus_modes.get(v_mode[4:], (None, None, None))
393
391
 
@@ -16,7 +16,7 @@ from time import sleep
16
16
 
17
17
  import bluesky.plan_stubs as bps
18
18
  import bluesky.preprocessors as bpp
19
- from blueapi.core import MsgGenerator
19
+ from bluesky.utils import MsgGenerator
20
20
  from dodal.common import inject
21
21
  from dodal.devices.hutch_shutter import HutchShutter, ShutterDemand
22
22
  from dodal.devices.i24.aperture import Aperture
@@ -262,7 +262,7 @@ def main_extruder_plan(
262
262
  SSX_LOGGER.info("Using Eiger detector")
263
263
 
264
264
  SSX_LOGGER.debug(f"Creating the directory for the collection in {filepath}.")
265
- Path(filepath).mkdir(parents=True)
265
+ Path(filepath).mkdir(parents=True, exist_ok=True)
266
266
 
267
267
  caput(pv.eiger_seqID, int(caget(pv.eiger_seqID)) + 1)
268
268
  SSX_LOGGER.info(f"Eiger quickshot setup: filepath {filepath}")
@@ -1270,21 +1270,18 @@ topShadowColor index 1
1270
1270
  botShadowColor index 8
1271
1271
  controlPv "ME14E-MO-IOC-01:GP2"
1272
1272
  font "arial-medium-r-18.0"
1273
- numItems 3
1273
+ numItems 2
1274
1274
  symbolTag {
1275
1275
  0 "None"
1276
1276
  1 "Mapping Lite"
1277
- 2 "Full Mapping"
1278
1277
  }
1279
1278
  symbol0 {
1280
1279
  0 "NN"
1281
1280
  1 "ML"
1282
- 2 "FM"
1283
1281
  }
1284
1282
  value0 {
1285
1283
  0 "none"
1286
1284
  1 "mappinglite"
1287
- 2 "fullmapping"
1288
1285
  }
1289
1286
  endObjectProperties
1290
1287
 
@@ -12,7 +12,6 @@ from enum import Enum, IntEnum
12
12
  class MappingType(IntEnum):
13
13
  NoMap = 0
14
14
  Lite = 1
15
- Full = 2
16
15
 
17
16
  def __str__(self) -> str:
18
17
  """Returns the mapping."""
@@ -10,7 +10,7 @@ from time import sleep
10
10
  import bluesky.plan_stubs as bps
11
11
  import bluesky.preprocessors as bpp
12
12
  import numpy as np
13
- from blueapi.core import MsgGenerator
13
+ from bluesky.utils import MsgGenerator
14
14
  from dodal.common import inject
15
15
  from dodal.devices.hutch_shutter import HutchShutter, ShutterDemand
16
16
  from dodal.devices.i24.aperture import Aperture
@@ -77,7 +77,7 @@ def calculate_collection_timeout(parameters: FixedTargetParameters) -> float:
77
77
  Returns:
78
78
  The estimated collection time, in s.
79
79
  """
80
- buffer = PMAC_MOVE_TIME * parameters.total_num_images + 2
80
+ buffer = PMAC_MOVE_TIME * parameters.total_num_images + 600
81
81
  pump_setting = parameters.pump_repeat
82
82
  collection_time = parameters.total_num_images * parameters.exposure_time_s
83
83
  if pump_setting in [
@@ -97,7 +97,7 @@ def calculate_collection_timeout(parameters: FixedTargetParameters) -> float:
97
97
  )
98
98
  if pump_setting == PumpProbeSetting.Medium1:
99
99
  # Long delay between pump and probe, with fast shutter opening and closing.
100
- timeout = timeout + SHUTTER_OPEN_TIME
100
+ timeout = timeout + SHUTTER_OPEN_TIME * parameters.total_num_images
101
101
  return timeout
102
102
 
103
103
 
@@ -234,8 +234,6 @@ def load_motion_program_data(
234
234
  SSX_LOGGER.info(f"Map type is None, setting program prefix to {prefix}")
235
235
  elif map_type == MappingType.Lite:
236
236
  prefix = 12
237
- elif map_type == MappingType.Full:
238
- prefix = 13
239
237
  else:
240
238
  SSX_LOGGER.warning(f"Unknown Map Type, map_type = {map_type}")
241
239
  return
@@ -301,14 +299,6 @@ def get_prog_num(
301
299
  SSX_LOGGER.info(f"Map type: {str(map_type)}")
302
300
  SSX_LOGGER.info("Program number: 12")
303
301
  return 12
304
- if map_type == MappingType.Full:
305
- # TODO See https://github.com/DiamondLightSource/mx-bluesky/issues/515
306
- SSX_LOGGER.info(f"Map type: {str(map_type)}")
307
- SSX_LOGGER.info("Program number: 13")
308
- # TODO once reinstated return 13
309
- msg = "Full mapping is broken and currently disabled."
310
- SSX_LOGGER.error(msg)
311
- raise ValueError(msg)
312
302
 
313
303
 
314
304
  @log_on_entry
@@ -352,14 +342,6 @@ def datasetsizei24(
352
342
  total_numb_imgs = int(np.prod(chip_format) * block_count * n_exposures)
353
343
  SSX_LOGGER.info(f"Calculated number of images: {total_numb_imgs}")
354
344
 
355
- elif map_type == MappingType.Full:
356
- SSX_LOGGER.error("Not Set Up For Full Mapping")
357
- raise ValueError("The beamline is currently not set for Full Mapping.")
358
-
359
- else:
360
- SSX_LOGGER.warning(f"Unknown Map Type, map_type = {str(map_type)}")
361
- raise ValueError("Unknown map type")
362
-
363
345
  SSX_LOGGER.info("Set PV to calculated number of images.")
364
346
  caput(pv.me14e_gp10, int(total_numb_imgs))
365
347
 
@@ -444,7 +426,11 @@ def start_i24(
444
426
  )
445
427
 
446
428
  SSX_LOGGER.debug("Arm Pilatus. Arm Zebra.")
447
- shutter_time_offset = SHUTTER_OPEN_TIME if PumpProbeSetting.Medium1 else 0.0
429
+ shutter_time_offset = (
430
+ SHUTTER_OPEN_TIME
431
+ if parameters.pump_repeat is PumpProbeSetting.Medium1
432
+ else 0.0
433
+ )
448
434
  yield from setup_zebra_for_fastchip_plan(
449
435
  zebra,
450
436
  parameters.detector_name,
@@ -467,7 +453,7 @@ def start_i24(
467
453
  SSX_LOGGER.info("Using Eiger detector")
468
454
 
469
455
  SSX_LOGGER.debug(f"Creating the directory for the collection in {filepath}.")
470
- Path(filepath).mkdir(parents=True)
456
+ Path(filepath).mkdir(parents=True, exist_ok=True)
471
457
 
472
458
  SSX_LOGGER.info(f"Triggered Eiger setup: filepath {filepath}")
473
459
  SSX_LOGGER.info(f"Triggered Eiger setup: filename {filename}")
@@ -503,7 +489,11 @@ def start_i24(
503
489
  )
504
490
 
505
491
  SSX_LOGGER.debug("Arm Zebra.")
506
- shutter_time_offset = SHUTTER_OPEN_TIME if PumpProbeSetting.Medium1 else 0.0
492
+ shutter_time_offset = (
493
+ SHUTTER_OPEN_TIME
494
+ if parameters.pump_repeat is PumpProbeSetting.Medium1
495
+ else 0.0
496
+ )
507
497
  yield from setup_zebra_for_fastchip_plan(
508
498
  zebra,
509
499
  parameters.detector_name,