mx-bluesky 1.1.0__tar.gz → 1.4.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 (447) hide show
  1. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.copier-answers.yml +3 -1
  2. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.devcontainer/Dockerfile +1 -1
  3. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/CONTRIBUTING.md +1 -1
  4. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/pages/make_switcher.py +8 -6
  5. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_pypi.yml +2 -0
  6. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_release.yml +1 -1
  7. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/ci.yml +1 -1
  8. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.gitignore +1 -0
  9. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.pre-commit-config.yaml +8 -0
  10. mx_bluesky-1.4.0/.vscode/mxb-with-core-dependencies.code-workspace +23 -0
  11. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/Dockerfile +4 -1
  12. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/Dockerfile.release +1 -1
  13. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/PKG-INFO +4 -2
  14. mx_bluesky-1.4.0/docs/_api.rst +16 -0
  15. mx_bluesky-1.4.0/docs/_templates/custom-module-template.rst +37 -0
  16. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/conf.py +14 -5
  17. mx_bluesky-1.4.0/docs/developer/general/how-to/deploy-a-release.rst +57 -0
  18. mx_bluesky-1.4.0/docs/developer/general/how-to/profile-tests.rst +84 -0
  19. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/index.rst +1 -0
  20. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/hyperion/deploying-hyperion.rst +10 -10
  21. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/hyperion/reference/param_hierarchy.puml +16 -8
  22. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/user/index.rst +1 -1
  23. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/helmchart/templates/deployment.yaml +42 -2
  24. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/helmchart/values.yaml +1 -1
  25. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/code.yml +6 -0
  26. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/test_data/setup.cfg +1 -1
  27. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/pyproject.toml +38 -9
  28. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/run_hyperion.sh +8 -10
  29. mx_bluesky-1.4.0/src/mx_bluesky/__init__.py +11 -0
  30. mx_bluesky-1.4.0/src/mx_bluesky/__main__.py +24 -0
  31. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/_version.py +2 -2
  32. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +14 -4
  33. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i04/thawing_plan.py +48 -10
  34. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/__init__.py +3 -0
  35. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +68 -90
  36. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +1 -1
  37. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +104 -126
  38. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +139 -162
  39. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +25 -36
  40. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +24 -34
  41. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +14 -11
  42. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/log.py +58 -49
  43. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
  44. mx_bluesky-1.4.0/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +44 -0
  45. mx_bluesky-1.4.0/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +46 -0
  46. mx_bluesky-1.4.0/src/mx_bluesky/beamlines/i24/serial/run_serial.py +52 -0
  47. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -2
  48. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +1 -1
  49. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +8 -18
  50. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +2 -2
  51. mx_bluesky-1.4.0/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +14 -0
  52. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.0/src/mx_bluesky/common}/parameters/components.py +29 -61
  53. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.0/src/mx_bluesky/common}/parameters/constants.py +43 -68
  54. mx_bluesky-1.4.0/src/mx_bluesky/common/plans/__init__.py +1 -0
  55. mx_bluesky-1.4.0/src/mx_bluesky/common/plans/do_fgs.py +121 -0
  56. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.0/src/mx_bluesky/common/utils}/log.py +38 -21
  57. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.0/src/mx_bluesky/common/utils}/tracing.py +2 -2
  58. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/__main__.py +11 -9
  59. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +31 -26
  60. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +6 -12
  61. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +6 -12
  62. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +1 -2
  63. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +48 -17
  64. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +6 -6
  65. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +13 -2
  66. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +4 -4
  67. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +9 -0
  68. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +59 -108
  69. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +7 -5
  70. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +46 -0
  71. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +19 -18
  72. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +8 -5
  73. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +4 -4
  74. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +17 -17
  75. mx_bluesky-1.1.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +63 -144
  76. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +165 -0
  77. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +6 -4
  78. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +3 -11
  79. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +1 -2
  80. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +18 -0
  81. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/ispyb_mapping.py +1 -9
  82. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py +18 -13
  83. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/ispyb_callback_base.py +32 -15
  84. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/log_uid_tag_callback.py +1 -1
  85. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +3 -5
  86. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +4 -3
  87. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py +23 -18
  88. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/config_server.py +47 -0
  89. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_store.py +1 -1
  90. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_utils.py +0 -2
  91. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/nexus/nexus_utils.py +2 -2
  92. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/nexus/write_nexus.py +1 -1
  93. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/log.py +15 -0
  94. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/parameters/components.py +12 -0
  95. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/parameters/constants.py +62 -0
  96. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/parameters/gridscan.py +20 -11
  97. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +50 -0
  98. mx_bluesky-1.4.0/src/mx_bluesky/hyperion/parameters/robot_load.py +16 -0
  99. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/parameters/rotation.py +9 -5
  100. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/utils/utils.py +17 -0
  101. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/utils/validation.py +5 -6
  102. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/PKG-INFO +4 -2
  103. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/SOURCES.txt +32 -10
  104. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/requires.txt +3 -1
  105. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/conftest.py +97 -45
  106. mx_bluesky-1.4.0/tests/system_tests/conftest.py +215 -0
  107. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +3 -4
  108. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +1 -1
  109. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -1
  110. mx_bluesky-1.4.0/tests/system_tests/hyperion/external_interaction/conftest.py +363 -0
  111. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +7 -331
  112. mx_bluesky-1.4.0/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +254 -0
  113. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +9 -5
  114. mx_bluesky-1.4.0/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +52 -0
  115. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -2
  116. mx_bluesky-1.4.0/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +44 -0
  117. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -1
  118. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_parameters.json +1 -1
  119. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -2
  120. mx_bluesky-1.1.0/tests/test_data/parameter_json_files/good_test_robot_load_params.json → mx_bluesky-1.4.0/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -1
  121. mx_bluesky-1.4.0/tests/test_data/parameter_json_files/good_test_robot_load_params.json +12 -0
  122. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -1
  123. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -1
  124. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -2
  125. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -1
  126. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_beamline_vfm_lat_converter.txt +1 -1
  127. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +1 -1
  128. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i04/test_thawing.py +139 -30
  129. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/conftest.py +8 -10
  130. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +40 -24
  131. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +111 -64
  132. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +17 -1
  133. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +52 -7
  134. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +34 -11
  135. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -2
  136. mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/test_log.py +104 -0
  137. mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +47 -0
  138. mx_bluesky-1.4.0/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +36 -0
  139. mx_bluesky-1.4.0/tests/unit_tests/common/plan_stubs/test_do_fgs.py +169 -0
  140. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/test_log → mx_bluesky-1.4.0/tests/unit_tests/common/utils}/test_log.py +77 -21
  141. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/conftest.py +0 -13
  142. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/conftest.py +24 -20
  143. mx_bluesky-1.4.0/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +155 -0
  144. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +1 -22
  145. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +16 -13
  146. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +9 -6
  147. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +36 -9
  148. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/conftest.py +154 -9
  149. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +2 -2
  150. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +53 -93
  151. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +48 -101
  152. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +104 -130
  153. mx_bluesky-1.4.0/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +257 -0
  154. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +12 -13
  155. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +16 -11
  156. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +53 -16
  157. mx_bluesky-1.4.0/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +385 -0
  158. mx_bluesky-1.4.0/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +342 -0
  159. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +18 -11
  160. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +2 -2
  161. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +23 -8
  162. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +4 -4
  163. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +5 -1
  164. mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +299 -0
  165. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_callback.py +21 -26
  166. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/conftest.py +2 -11
  167. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/test_ispyb_utils.py +0 -19
  168. mx_bluesky-1.4.0/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
  169. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +33 -2
  170. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/test_utils.py +19 -0
  171. mx_bluesky-1.4.0/tests/unit_tests/hyperion/utils/__init__.py +0 -0
  172. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/build_docker_image.sh +6 -6
  173. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/deploy/create_venv.py +10 -6
  174. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/deploy/deploy_hyperion_to_k8s.sh +11 -11
  175. mx_bluesky-1.1.0/utility_scripts/deploy/deploy_hyperion.py → mx_bluesky-1.4.0/utility_scripts/deploy/deploy_mx_bluesky.py +151 -84
  176. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/docker/entrypoint.sh +4 -4
  177. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/docker/i03-compose.yml +3 -3
  178. mx_bluesky-1.4.0/utility_scripts/procserv_ioc_start.sh +19 -0
  179. mx_bluesky-1.1.0/docs/developer/general/how-to/deploy-a-release.rst +0 -25
  180. mx_bluesky-1.1.0/docs/user/reference/api.rst +0 -14
  181. mx_bluesky-1.1.0/src/mx_bluesky/__init__.py +0 -6
  182. mx_bluesky-1.1.0/src/mx_bluesky/__main__.py +0 -19
  183. mx_bluesky-1.1.0/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -19
  184. mx_bluesky-1.1.0/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -22
  185. mx_bluesky-1.1.0/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -36
  186. mx_bluesky-1.1.0/src/mx_bluesky/example.py +0 -19
  187. mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -35
  188. mx_bluesky-1.1.0/tests/system_tests/hyperion/external_interaction/conftest.py +0 -169
  189. mx_bluesky-1.1.0/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -68
  190. mx_bluesky-1.1.0/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -244
  191. mx_bluesky-1.1.0/tests/unit_tests/hyperion/experiment_plans/test_wait_for_robot_load_then_centre.py +0 -730
  192. mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -420
  193. mx_bluesky-1.1.0/tests/unit_tests/hyperion/test_log/conftest.py +0 -13
  194. mx_bluesky-1.1.0/tests/unit_tests/test_example.py +0 -16
  195. mx_bluesky-1.1.0/utility_scripts/deploy/deploy_mxbluesky.py +0 -189
  196. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.coveragerc +0 -0
  197. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.devcontainer/devcontainer.json +0 -0
  198. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.dockerignore +0 -0
  199. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  200. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  201. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  202. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/actions/install_requirements/action.yml +0 -0
  203. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/actions/verify-nexus/Dockerfile +0 -0
  204. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/actions/verify-nexus/action.yml +0 -0
  205. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/actions/verify-nexus/entrypoint.sh +0 -0
  206. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/dependabot.yml +0 -0
  207. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/pages/index.html +0 -0
  208. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_check.yml +0 -0
  209. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_container.yml +0 -0
  210. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_dist.yml +0 -0
  211. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_docs.yml +0 -0
  212. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_test.yml +0 -0
  213. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/_tox.yml +0 -0
  214. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/periodic.yml +0 -0
  215. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.github/workflows/publish_docker_image.yml +0 -0
  216. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.vscode/extensions.json +0 -0
  217. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.vscode/launch.json +0 -0
  218. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.vscode/mx-bluesky.code-workspace +0 -0
  219. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.vscode/settings.json +0 -0
  220. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/.vscode/tasks.json +0 -0
  221. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/LICENSE +0 -0
  222. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/README.rst +0 -0
  223. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/catalog-info.yaml +0 -0
  224. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/codecov.yml +0 -0
  225. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/conftest.py +0 -0
  226. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  227. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
  228. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
  229. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/explanations/decisions.rst +0 -0
  230. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/build-docs.rst +0 -0
  231. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/contribute.rst +0 -0
  232. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/create-a-release.rst +0 -0
  233. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/get-started.rst +0 -0
  234. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/lint.rst +0 -0
  235. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/run-tests.rst +0 -0
  236. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/static-analysis.rst +0 -0
  237. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/how-to/update-tools.rst +0 -0
  238. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/reference/standards.rst +0 -0
  239. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/general/tutorials/dev-install.rst +0 -0
  240. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/hyperion/index.rst +0 -0
  241. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
  242. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/hyperion/reference/readme.md +0 -0
  243. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/index.rst +0 -0
  244. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
  245. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
  246. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/murko-integration/index.rst +0 -0
  247. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
  248. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
  249. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
  250. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
  251. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
  252. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
  253. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
  254. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/genindex.rst +0 -0
  255. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/images/dls-favicon.ico +0 -0
  256. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/images/dls-logo.svg +0 -0
  257. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/index.rst +0 -0
  258. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/user/explanations/docs-structure.rst +0 -0
  259. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/user/how-to/run-container.rst +0 -0
  260. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/docs/user/tutorials/installation.rst +0 -0
  261. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/helmchart/Chart.yaml +0 -0
  262. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/helmchart/templates/ingress.yaml +0 -0
  263. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/helmchart/templates/service.yaml +0 -0
  264. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
  265. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
  266. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/container_tests.sh +0 -0
  267. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
  268. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
  269. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/linkcheck.yml +0 -0
  270. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
  271. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
  272. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/pin_versions.py +0 -0
  273. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
  274. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
  275. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
  276. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
  277. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
  278. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/hyperion_other/workflows/test_pin_versions.py +0 -0
  279. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/run_hyperion_in_podman.sh +0 -0
  280. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/setup.cfg +0 -0
  281. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/__init__.py +0 -0
  282. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
  283. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
  284. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
  285. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
  286. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
  287. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
  288. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
  289. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
  290. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
  291. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
  292. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
  293. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
  294. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
  295. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
  296. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
  297. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
  298. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
  299. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
  300. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
  301. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
  302. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
  303. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
  304. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
  305. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
  306. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
  307. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
  308. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
  309. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
  310. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
  311. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
  312. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
  313. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
  314. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
  315. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
  316. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
  317. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.4.0/src/mx_bluesky/common}/__init__.py +0 -0
  318. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/__init__.py +0 -0
  319. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/callbacks/common → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
  320. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
  321. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
  322. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/exceptions.py +0 -0
  323. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
  324. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
  325. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
  326. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
  327. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/aperture_change_callback.py +0 -0
  328. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/callbacks/common}/__init__.py +0 -0
  329. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/logging_callback.py +0 -0
  330. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/plan_reactive_callback.py +0 -0
  331. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  332. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
  333. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
  334. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/ispyb → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
  335. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
  336. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
  337. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/zocalo_callback.py +0 -0
  338. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/exceptions.py +0 -0
  339. {mx_bluesky-1.1.0/src/mx_bluesky/hyperion/external_interaction/nexus → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/ispyb}/__init__.py +0 -0
  340. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/data_model.py +0 -0
  341. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py +0 -0
  342. {mx_bluesky-1.1.0/tests → mx_bluesky-1.4.0/src/mx_bluesky/hyperion/external_interaction/nexus}/__init__.py +0 -0
  343. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
  344. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
  345. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
  346. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/hyperion/utils/context.py +0 -0
  347. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky/jupyter_example.ipynb +0 -0
  348. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
  349. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
  350. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/src/mx_bluesky.egg-info/top_level.txt +0 -0
  351. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/start_jupyter.sh +0 -0
  352. {mx_bluesky-1.1.0/tests/system_tests → mx_bluesky-1.4.0/tests}/__init__.py +0 -0
  353. {mx_bluesky-1.1.0/tests/system_tests/hyperion → mx_bluesky-1.4.0/tests/system_tests}/__init__.py +0 -0
  354. {mx_bluesky-1.1.0/tests/system_tests/hyperion/experiment_plans → mx_bluesky-1.4.0/tests/system_tests/hyperion}/__init__.py +0 -0
  355. {mx_bluesky-1.1.0/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.4.0/tests/system_tests/hyperion/experiment_plans}/__init__.py +0 -0
  356. {mx_bluesky-1.1.0/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.0/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
  357. {mx_bluesky-1.1.0/tests/unit_tests → mx_bluesky-1.4.0/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  358. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
  359. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
  360. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
  361. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +0 -0
  362. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
  363. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/README.md +0 -0
  364. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/fake_data.h5 +0 -0
  365. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
  366. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
  367. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
  368. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
  369. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
  370. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
  371. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
  372. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/scratch/README +0 -0
  373. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_OAVCentring.json +0 -0
  374. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
  375. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  376. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  377. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_config.cfg +0 -0
  378. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
  379. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  380. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  381. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_det_dist_converter.txt +0 -0
  382. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_display.configuration +0 -0
  383. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
  384. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_lookup_table.txt +0 -0
  385. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/test_data/test_mirror_focus.json +0 -0
  386. {mx_bluesky-1.1.0/tests/unit_tests/beamlines → mx_bluesky-1.4.0/tests/unit_tests}/__init__.py +0 -0
  387. {mx_bluesky-1.1.0/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.4.0/tests/unit_tests/beamlines}/__init__.py +0 -0
  388. {mx_bluesky-1.1.0/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
  389. {mx_bluesky-1.1.0/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
  390. {mx_bluesky-1.1.0/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
  391. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
  392. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
  393. {mx_bluesky-1.1.0/tests/unit_tests/hyperion → mx_bluesky-1.4.0/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
  394. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
  395. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
  396. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
  397. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
  398. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.4.0/tests/unit_tests/common}/__init__.py +0 -0
  399. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.4.0/tests/unit_tests/common/utils}/__init__.py +0 -0
  400. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.4.0/tests/unit_tests/hyperion}/__init__.py +0 -0
  401. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.0/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
  402. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
  403. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -0
  404. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.0/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
  405. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +0 -0
  406. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
  407. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction/ispyb → mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
  408. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
  409. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/parameters → mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
  410. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
  411. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
  412. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_zocalo_handler.py +0 -0
  413. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
  414. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/conftest.py +0 -0
  415. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_handler.py +0 -0
  416. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_mapping.py +0 -0
  417. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_nexus_handler.py +0 -0
  418. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/test_log → mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/ispyb}/__init__.py +0 -0
  419. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/ispyb/conftest.py +0 -0
  420. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_expeye_interaction.py +0 -0
  421. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
  422. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/ispyb/test_rotation_ispyb_store.py +0 -0
  423. {mx_bluesky-1.1.0/tests/unit_tests/hyperion/utils → mx_bluesky-1.4.0/tests/unit_tests/hyperion/external_interaction/nexus}/__init__.py +0 -0
  424. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
  425. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_nexus_utils.py +0 -0
  426. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
  427. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
  428. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
  429. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
  430. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
  431. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
  432. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/test_main_system.py +0 -0
  433. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
  434. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
  435. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/tests/unit_tests/test_cli.py +0 -0
  436. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/beam_off_trickery.sh +0 -0
  437. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/build_imginfo.sh +0 -0
  438. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
  439. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/deploy/test_deploy.py +0 -0
  440. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/dev_jaeger_container.sh +0 -0
  441. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/dls_dev_env.sh +0 -0
  442. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/docker/healthcheck.sh +0 -0
  443. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/graylog/Dockerfile +0 -0
  444. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/graylog/tcp_input.json +0 -0
  445. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/run_imginfo.sh +0 -0
  446. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/setup_graylog.sh +0 -0
  447. {mx_bluesky-1.1.0 → mx_bluesky-1.4.0}/utility_scripts/strip_metafile.py +0 -0
@@ -1,9 +1,11 @@
1
1
  # Changes here will be overwritten by Copier
2
- _commit: 2.2.0
2
+ _commit: 2.5.0
3
3
  _src_path: gh:DiamondLightSource/python-copier-template
4
4
  author_email: dominic.oram@diamond.ac.uk
5
5
  author_name: Dominic Oram
6
+ component_lifecycle: production
6
7
  component_owner: group:data-acquisition
8
+ component_type: library
7
9
  description: Bluesky tools for MX Beamlines at DLS
8
10
  distribution_name: mx-bluesky
9
11
  docker: true
@@ -3,7 +3,7 @@
3
3
  # The devcontainer should use the build target and run as root with podman
4
4
  # or docker with user namespaces.
5
5
  #
6
- FROM python:3.11 AS build
6
+ FROM python:3.12 AS build
7
7
 
8
8
  ARG PIP_OPTIONS
9
9
 
@@ -54,4 +54,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua
54
54
 
55
55
  This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
56
56
 
57
- For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.2.0/how-to.html).
57
+ For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.5.0/how-to.html).
@@ -1,3 +1,5 @@
1
+ """Make switcher.json to allow docs to switch between different versions."""
2
+
1
3
  import json
2
4
  import logging
3
5
  from argparse import ArgumentParser
@@ -6,6 +8,7 @@ from subprocess import CalledProcessError, check_output
6
8
 
7
9
 
8
10
  def report_output(stdout: bytes, label: str) -> list[str]:
11
+ """Print and return something received frm stdout."""
9
12
  ret = stdout.decode().strip().split("\n")
10
13
  print(f"{label}: {ret}")
11
14
  return ret
@@ -52,14 +55,12 @@ def get_versions(ref: str, add: str | None) -> list[str]:
52
55
  return versions
53
56
 
54
57
 
55
- def write_json(path: Path, repository: str, versions: str):
58
+ def write_json(path: Path, repository: str, versions: list[str]):
59
+ """Write the JSON switcher to path."""
56
60
  org, repo_name = repository.split("/")
57
- pages_url = f"https://{org}.github.io"
58
- if repo_name != f"{org}.github.io":
59
- # Only add the repo name if it isn't the source for the org pages site
60
- pages_url += f"/{repo_name}"
61
61
  struct = [
62
- {"version": version, "url": f"{pages_url}/{version}/"} for version in versions
62
+ {"version": version, "url": f"https://{org}.github.io/{repo_name}/{version}/"}
63
+ for version in versions
63
64
  ]
64
65
  text = json.dumps(struct, indent=2)
65
66
  print(f"JSON switcher:\n{text}")
@@ -67,6 +68,7 @@ def write_json(path: Path, repository: str, versions: str):
67
68
 
68
69
 
69
70
  def main(args=None):
71
+ """Parse args and write switcher."""
70
72
  parser = ArgumentParser(
71
73
  description="Make a versions.json file from gh-pages directories"
72
74
  )
@@ -15,3 +15,5 @@ jobs:
15
15
 
16
16
  - name: Publish to PyPI using trusted publishing
17
17
  uses: pypa/gh-action-pypi-publish@release/v1
18
+ with:
19
+ attestations: false
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Create GitHub Release
24
24
  # We pin to the SHA, not the tag, for security reasons.
25
25
  # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
26
- uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8
26
+ uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9
27
27
  with:
28
28
  prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
29
29
  files: "*"
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  matrix:
23
23
  runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
24
- python-version: ["3.11"] # , "3.12"] # add 3.12 when p4p #145 is fixed
24
+ python-version: ["3.11", "3.12"]
25
25
  fail-fast: false
26
26
  uses: ./.github/workflows/_test.yml
27
27
  with:
@@ -80,6 +80,7 @@ instance/
80
80
 
81
81
  # Sphinx documentation
82
82
  docs/_build/
83
+ docs/_api
83
84
 
84
85
  # PyBuilder
85
86
  target/
@@ -26,6 +26,14 @@ repos:
26
26
  types: [python]
27
27
  require_serial: true
28
28
 
29
+ - id: import-contracts
30
+ name: Ensure import directionality
31
+ pass_filenames: false
32
+ language: system
33
+ entry: lint-imports
34
+ types: [python]
35
+ require_serial: false
36
+
29
37
  # Type checking
30
38
  - repo: https://github.com/pre-commit/mirrors-mypy
31
39
  rev: v1.4.1
@@ -0,0 +1,23 @@
1
+ // To use this you should obviously have these all in the parent directory
2
+ {
3
+ "folders": [
4
+ {
5
+ "path": ".."
6
+ },
7
+ {
8
+ "path": "../../dodal"
9
+ },
10
+ {
11
+ "path": "../../bluesky"
12
+ },
13
+ {
14
+ "path": "../../ophyd"
15
+ },
16
+ {
17
+ "path": "../../ophyd-async"
18
+ }
19
+ ],
20
+ "settings": {
21
+ "terminal.integrated.gpuAcceleration": "off"
22
+ }
23
+ }
@@ -1,11 +1,14 @@
1
1
  # The devcontainer should use the developer target and run as root with podman
2
2
  # or docker with user namespaces.
3
- ARG PYTHON_VERSION=3.11
3
+ ARG PYTHON_VERSION=3.12
4
4
  FROM python:${PYTHON_VERSION} AS developer
5
5
 
6
6
  # Add any system dependencies for the developer/build environment here
7
7
  RUN apt-get update && apt-get install -y --no-install-recommends \
8
8
  graphviz \
9
+ ffmpeg \
10
+ libsm6 \
11
+ libxext6 \
9
12
  && rm -rf /var/lib/apt/lists/*
10
13
 
11
14
  # Set up a virtual environment and put it in PATH
@@ -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.4.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
@@ -226,6 +226,7 @@ Requires-Dist: opencv-python
226
226
  Requires-Dist: opentelemetry-distro
227
227
  Requires-Dist: opentelemetry-exporter-otlp
228
228
  Requires-Dist: pydantic
229
+ Requires-Dist: pydantic-extra-types
229
230
  Requires-Dist: pyepics
230
231
  Requires-Dist: pyzmq
231
232
  Requires-Dist: requests
@@ -238,12 +239,13 @@ Requires-Dist: daq-config-server>=0.1.1
238
239
  Requires-Dist: ophyd==1.9.0
239
240
  Requires-Dist: ophyd-async>=0.3a5
240
241
  Requires-Dist: bluesky>=1.13.0a4
241
- Requires-Dist: dls-dodal==1.32.0
242
+ Requires-Dist: dls-dodal==1.35.0
242
243
  Provides-Extra: dev
243
244
  Requires-Dist: black; extra == "dev"
244
245
  Requires-Dist: build; extra == "dev"
245
246
  Requires-Dist: diff-cover; extra == "dev"
246
247
  Requires-Dist: GitPython; extra == "dev"
248
+ Requires-Dist: import-linter; extra == "dev"
247
249
  Requires-Dist: ipython; extra == "dev"
248
250
  Requires-Dist: mypy; extra == "dev"
249
251
  Requires-Dist: myst-parser; extra == "dev"
@@ -0,0 +1,16 @@
1
+ :orphan:
2
+
3
+ ..
4
+ This page is not included in the TOC tree, but must exist so that the
5
+ autosummary pages are generated for mx_bluesky and all its
6
+ subpackages
7
+
8
+ API
9
+ ===
10
+
11
+ .. autosummary::
12
+ :toctree: _api
13
+ :template: custom-module-template.rst
14
+ :recursive:
15
+
16
+ mx_bluesky
@@ -0,0 +1,37 @@
1
+ {{ ('``' + fullname + '``') | underline }}
2
+
3
+ {%- set filtered_members = [] %}
4
+ {%- for item in members %}
5
+ {%- if item in functions + classes + exceptions + attributes %}
6
+ {% set _ = filtered_members.append(item) %}
7
+ {%- endif %}
8
+ {%- endfor %}
9
+
10
+ .. automodule:: {{ fullname }}
11
+ :members:
12
+
13
+ {% block modules %}
14
+ {% if modules %}
15
+ .. rubric:: Submodules
16
+
17
+ .. autosummary::
18
+ :toctree:
19
+ :template: custom-module-template.rst
20
+ :recursive:
21
+ {% for item in modules %}
22
+ {{ item }}
23
+ {%- endfor %}
24
+ {% endif %}
25
+ {% endblock %}
26
+
27
+ {% block members %}
28
+ {% if filtered_members %}
29
+ .. rubric:: Members
30
+
31
+ .. autosummary::
32
+ :nosignatures:
33
+ {% for item in filtered_members %}
34
+ {{ item }}
35
+ {%- endfor %}
36
+ {% endif %}
37
+ {% endblock %}
@@ -1,8 +1,9 @@
1
- # Configuration file for the Sphinx documentation builder.
2
- #
3
- # This file only contains a selection of the most common options. For a full
4
- # list see the documentation:
5
- # https://www.sphinx-doc.org/en/master/usage/configuration.html
1
+ """Configuration file for the Sphinx documentation builder.
2
+
3
+ This file only contains a selection of the most common options. For a full
4
+ list see the documentation:
5
+ https://www.sphinx-doc.org/en/master/usage/configuration.html
6
+ """
6
7
 
7
8
  import sys
8
9
  from pathlib import Path
@@ -32,6 +33,8 @@ else:
32
33
  extensions = [
33
34
  # Use this for generating API docs
34
35
  "sphinx.ext.autodoc",
36
+ # and making summary tables at the top of API docs
37
+ "sphinx.ext.autosummary",
35
38
  # This can parse google style docstrings
36
39
  "sphinx.ext.napoleon",
37
40
  # For linking to external sphinx documentation
@@ -93,6 +96,12 @@ autodoc_member_order = "bysource"
93
96
  # Don't inherit docstrings from baseclasses
94
97
  autodoc_inherit_docstrings = False
95
98
 
99
+ # Document only what is in __all__
100
+ autosummary_ignore_module_all = False
101
+
102
+ # Add any paths that contain templates here, relative to this directory.
103
+ templates_path = ["_templates"]
104
+
96
105
  # Output graphviz directive produced images in a scalable format
97
106
  graphviz_output_format = "svg"
98
107
 
@@ -0,0 +1,57 @@
1
+ Deploy a New Release
2
+ ====================
3
+
4
+ **Remember to discuss any new deployments with the appropriate beamline scientist.**
5
+
6
+ The ``utility_scripts/deploy/deploy_mx_bluesky.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.
7
+ If you have just created a new release, you may need to run git fetch --tags to get the newest release.
8
+
9
+ .. code:: console
10
+
11
+ python ./utility_scripts/deploy/deploy_mx_bluesky.py i24
12
+
13
+
14
+ If you want to test the script for a specific beamline you can run:
15
+
16
+ .. code:: console
17
+
18
+ python ./deploy/deploy_mx_bluesky.py i03 --dev
19
+
20
+
21
+ which will create the beamline deployment of the new release in ``/scratch/30day_tmp/mx-bluesky_release_test``.
22
+
23
+
24
+ .. note::
25
+
26
+ When deploying on I24, the edm screens for serial crystallography will be deployed automatically along with the mx-bluesky release.
27
+
28
+
29
+ The script has a few additional optional arguments, which can be viewed with:
30
+
31
+ .. code:: console
32
+
33
+ python ./deploy/deploy_mx_bluesky.py -h
34
+
35
+
36
+ For building and deploying a Docker image please see :doc:`../../hyperion/deploying-hyperion`.
37
+
38
+
39
+ .. note::
40
+
41
+ On i03 the installation will succeed with error messages due to RedHat7 versions of a dependency being unavailable.
42
+ This results in the installation being incomplete, thus requiring the following post-installation steps:
43
+
44
+ First, on a RedHat8 workstation, run
45
+
46
+ .. code:: console
47
+
48
+ . ./.venv/bin/activate
49
+ pip install confluent-kafka
50
+
51
+ Then, on the control machine, run
52
+
53
+ .. code:: console
54
+
55
+ . ./.venv/bin/activate
56
+ pip install -e .
57
+ pip install -e ../dodal
@@ -0,0 +1,84 @@
1
+ Unit test performance
2
+ =====================
3
+
4
+ Ideally we want to keep the run-time of the unit tests down so that they are quick for developers to run locally.
5
+ Preferably they should run in under a minute.
6
+
7
+ General Guidelines
8
+ ------------------
9
+
10
+ Where a unit test waits for some event to happen, ``wait`` on the group to complete rather than adding a fixed
11
+ ``sleep``.
12
+
13
+ If testing a timeout, ensure that the timeout constant is either configurable or appropriately ``patch`` ed to a short
14
+ value e.g.
15
+ 0.1s
16
+
17
+ How to profile the unit tests
18
+ =============================
19
+
20
+ Sometimes tests can exhibit slowdowns for unknown reasons, in order to diagnose the cause it can be useful to profile
21
+ the test code.
22
+
23
+ The simplest way to find slow tests is to run ``pytest`` with the ``--durations`` option in order to find the slowest
24
+ tests.
25
+
26
+ e.g.
27
+
28
+ .. code-block:: bash
29
+
30
+ pytest -m "not (s03 or dlstbx)" --durations=10
31
+
32
+ in order to find the top 10 slowest tests
33
+
34
+ You can then often step through in the debugger to find lines which execute slowly.
35
+
36
+
37
+ More detailed profiling
38
+ =======================
39
+
40
+ Occasionally this is not sufficient. In which case more detailed profiling is necessary
41
+
42
+ Generating profiler output
43
+ --------------------------
44
+
45
+ You can install ``pytest-profiling`` to run the tests and generate profiling output
46
+
47
+ e.g.
48
+
49
+ .. code-block:: bash
50
+
51
+ pip install pytest-profiling
52
+ pytest --profile tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py::test_given_detector_bit_depth_changes_then_vds_datatype_as_expected
53
+
54
+
55
+ The output of this is quite brief but it will generate more detailed ``.prof`` files in the ``prof`` directory
56
+
57
+ To browse these files you need something useful. Snakeviz is a tool that can be used to browse the output:
58
+
59
+ .. code-block:: bash
60
+
61
+ cd prof
62
+ pip install snakeviz
63
+ snakeviz combined.prof
64
+
65
+ An alternative tool is py-spy.
66
+
67
+ e.g.
68
+
69
+ .. code-block:: bash
70
+
71
+ pip install py-spy
72
+ py-spy record -o profile.svg -- pytest -s tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py::test_given_no_energy_supplied_when_robot_load_then_centre_current_energy_set_on_eiger
73
+
74
+ This will generator an interactive SVG flamechart that can be opened in a browser to see hot methods.
75
+
76
+ Alternatively something like
77
+
78
+ .. code-block:: bash
79
+
80
+ py-spy top -- pytest -s tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py::test_given_no_energy_supplied_when_robot_load_then_centre_current_energy_set_on_eiger
81
+
82
+ to view a ``top`` -like updating view of where time is being spent. You will probably need to temporarily annotate the
83
+ test with
84
+ ``@pytest.mark.parametrize`` in order to make the tests loop sufficient times in order to observe.
@@ -33,6 +33,7 @@ Documentation is split into four categories, and each is also accessible from li
33
33
  how-to/update-tools
34
34
  how-to/create-a-release
35
35
  how-to/deploy-a-release
36
+ how-to/profile-tests
36
37
 
37
38
  +++
38
39
 
@@ -1,11 +1,11 @@
1
1
  Building a deployable Docker image
2
2
  ==================================
3
3
 
4
- Release builds of container images should be built by the github CI on release, ad-hoc builds can be performed via
4
+ Release builds of container images should be built by the github CI on release, ad-hoc builds can be performed via
5
5
  manual invocation of the Publish Docker Image workflow.
6
6
 
7
7
  Development builds of container images can be made by running the ``utility_scripts/build_docker_image.sh`` script.
8
- By default it will both build and push the image unless you specify ``--no-build`` or ``--no-push``. To push an image
8
+ By default it will both build and push the image unless you specify ``--no-build`` or ``--no-push``. To push an image
9
9
  you will first need to create a GH personal access token and then log in with podman as described below.
10
10
 
11
11
  Pushing the docker image
@@ -79,16 +79,16 @@ Then create and deploy the helm release
79
79
 
80
80
  ./utility_scripts/deploy/deploy_hyperion_to_k8s.sh --beamline=<beamline> --checkout-to-prod hyperion
81
81
 
82
- This will run the ``deploy_hyperion.py`` script to deploy the latest hyperion to ``/dls_sw``.
82
+ This will run the ``deploy_mx_bluesky.py`` script to deploy the latest hyperion to ``/dls_sw``.
83
83
  You will be prompted to log into the beamline cluster, then it will create a helm release "hyperion".
84
- The source folders will be mounted as bind mounts to allow the pod to pick up changes in production.
84
+ The source folders will be mounted as bind mounts to allow the pod to pick up changes in production.
85
85
  For production these are expected to be in the normal place defined in ``values.yaml``.
86
86
 
87
87
  Development deployment
88
88
  ~~~~~~~~~~~~~~~~~~~~~~
89
89
 
90
- From a development ``hyperion`` workspace, either with a release image or using a development image built with the
91
- script
90
+ From a development ``hyperion`` workspace, either with a release image or using a development image built with the
91
+ script
92
92
  above, you install a dev deployment to the cluster you are currently logged into with ``kubectl``:
93
93
 
94
94
  ::
@@ -96,12 +96,12 @@ above, you install a dev deployment to the cluster you are currently logged into
96
96
  ./utility_scripts/deploy/deploy_hyperion_to_k8s.sh --dev --beamline=<beamline> --repository=<your image repo> hyperion-test
97
97
 
98
98
 
99
- The dev deployment bind-mounts the current ``hyperion`` workspace and ``../dodal`` into the container so that you can
100
- run against your own development code. **Clusters do not allow bind mounts from arbitrary directories so
99
+ The dev deployment bind-mounts the current ``hyperion`` workspace and ``../dodal`` into the container so that you can
100
+ run against your own development code. **Clusters do not allow bind mounts from arbitrary directories so
101
101
  your workspace will have to be in a permitted directory such as your home directory.**
102
102
 
103
- By default the script will log into the ``argus`` cluster, if you want to deploy to an alternate cluster,
104
- log in with ``kubectl set-context --current --namespace=<NAMESPACE>`` and then specify ``--no-login`` when running the
103
+ By default the script will log into the ``argus`` cluster, if you want to deploy to an alternate cluster,
104
+ log in with ``kubectl set-context --current --namespace=<NAMESPACE>`` and then specify ``--no-login`` when running the
105
105
  script
106
106
 
107
107
  Please note, the deployment script is intended to be run from a checked-out matching version of the git repository.
@@ -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
@@ -49,7 +49,7 @@ side-bar.
49
49
  :caption: Reference
50
50
  :maxdepth: 1
51
51
 
52
- reference/api
52
+ ../_api/mx_bluesky
53
53
  ../genindex
54
54
 
55
55
  +++
@@ -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"
@@ -67,7 +106,7 @@ spec:
67
106
  containerPort: {{ .Values.hyperion.containerPort }}
68
107
  protocol: TCP
69
108
  env:
70
- - name: HYPERION_LOG_DIR
109
+ - name: LOG_DIR
71
110
  value: /var/log/bluesky
72
111
  - name: BEAMLINE
73
112
  value: "{{ .Values.hyperion.beamline }}"
@@ -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