mx-bluesky 1.5.11__tar.gz → 1.5.14__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.
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/dependabot.yml +3 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_container.yml +43 -25
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/settings.json +7 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile.blueapi +7 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile.hyperion +6 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/PKG-INFO +7 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/conftest.py +3 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/callback_and_run_logic.rst +2 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/create-a-release.rst +4 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/deploy-a-release.rst +5 -26
- mx_bluesky-1.5.14/docs/developer/general/how-to/setup-blueapi-for-mx.md +40 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/index.rst +3 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/index.rst +0 -1
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations.puml +131 -0
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations_rotation.puml +77 -0
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/concurrent_operations_set_energy.puml +38 -0
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/index.rst +9 -0
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/install.rst +57 -0
- mx_bluesky-1.5.14/docs/user/hyperion/advanced/operations.rst +46 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/configuration.rst +4 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/index.rst +6 -8
- mx_bluesky-1.5.14/docs/user/hyperion/logging.rst +43 -0
- mx_bluesky-1.5.14/docs/user/hyperion/troubleshooting.rst +53 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/pyproject.toml +8 -17
- mx_bluesky-1.5.14/src/mx_bluesky/Getting started.ipynb +170 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/_version.py +3 -3
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/robot_load_plan.py +198 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py +17 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py +13 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/pin_tip_centring.py +31 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/robot_load.py +74 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/__init__.py +6 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +27 -12
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +88 -13
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/external_interaction/config_server.py +15 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +115 -0
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/parameters/constants.py +21 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +24 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i04/thawing_plan.py +147 -152
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/dcid.py +4 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py +5 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +11 -11
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +3 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +142 -142
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +135 -135
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +8 -8
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +13 -13
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py +7 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py +35 -32
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +5 -5
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +180 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +8 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +6 -6
- mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +64 -0
- mx_bluesky-1.5.11/src/mx_bluesky/hyperion/device_setup_plans/smargon.py → mx_bluesky-1.5.14/src/mx_bluesky/common/device_setup_plans/gonio.py +9 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +8 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +8 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +0 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +8 -1
- mx_bluesky-1.5.14/src/mx_bluesky/common/experiment_plans/beamstop_check.py +229 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +2 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +5 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -1
- {mx_bluesky-1.5.11/src/mx_bluesky/hyperion → mx_bluesky-1.5.14/src/mx_bluesky/common}/experiment_plans/pin_tip_centring_plan.py +20 -21
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +5 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +10 -12
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +3 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +5 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/config_server.py +2 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +11 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +159 -2
- mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +214 -0
- mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +13 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/components.py +1 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/constants.py +5 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/device_composites.py +4 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/exceptions.py +15 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/log.py +9 -0
- mx_bluesky-1.5.14/src/mx_bluesky/common/utils/utils.py +90 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/__main__.py +3 -13
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/baton_handler.py +23 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +1 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +5 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +3 -10
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +4 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +8 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -2
- mx_bluesky-1.5.14/src/mx_bluesky/hyperion/experiment_plans/udc_default_state.py +166 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +48 -21
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +1 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +1 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/config_server.py +5 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/constants.py +10 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/device_composites.py +4 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/robot_load.py +1 -9
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/plan_runner.py +31 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/plan_runner_api.py +14 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/utils/context.py +2 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/jupyter_example.ipynb +9 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/PKG-INFO +7 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/SOURCES.txt +40 -9
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/requires.txt +6 -5
- mx_bluesky-1.5.14/start_jupyter.sh +2 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/conftest.py +161 -236
- mx_bluesky-1.5.14/tests/expeye_helpers.py +151 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/conftest.py +23 -12
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +36 -10
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/conftest.py +12 -13
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +16 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +3 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +11 -31
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +2 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/test_main_udc.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties +5 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties_with_no_gpu +4 -0
- mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping/test_aithre_pin_tip_centre.py +41 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +2 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +1 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +2 -10
- mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping/test_robot_load.py +282 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +107 -37
- mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/conftest.py +12 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +137 -18
- mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/test_oav_imaging.py +253 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +26 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i04/test_thawing.py +156 -65
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i23/test_serial.py +3 -8
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_external_acquisition.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_internal_acquisition.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_plan_utils.py +0 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/conftest.py +7 -23
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +8 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +23 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +16 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +14 -9
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +1 -1
- mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/web_gui/test_oav_plans.py +87 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +10 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +24 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +1 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +6 -7
- mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans/test_beamstop_check.py +439 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +28 -7
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +12 -4
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion → mx_bluesky-1.5.14/tests/unit_tests/common}/experiment_plans/test_pin_tip_centring.py +101 -78
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +1 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +4 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +240 -325
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +137 -171
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/test_config_server.py +12 -9
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +177 -204
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/parameters/test_constants.py +6 -0
- mx_bluesky-1.5.14/tests/unit_tests/common/utils/test_utils.py +49 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/conftest.py +79 -29
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +2 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/conftest.py +6 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +1 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +5 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +6 -9
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +5 -6
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +9 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +62 -32
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans/test_udc_default_state.py +353 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +14 -1
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +1 -1
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +283 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +1 -2
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +49 -16
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +1 -5
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +1 -0
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_baton_handler.py +44 -15
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_main_system.py +4 -4
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/test_plan_runner.py +98 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_plan_runner_api.py +7 -0
- mx_bluesky-1.5.14/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/utils/test_context.py +4 -4
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/t01.py +5 -3
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_mx_bluesky.py +1 -1
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +2 -2
- mx_bluesky-1.5.11/docs/developer/hyperion/deploying-hyperion.rst +0 -130
- mx_bluesky-1.5.11/docs/user/hyperion/troubleshooting.rst +0 -143
- mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -373
- mx_bluesky-1.5.11/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -86
- mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -29
- mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -304
- mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -27
- mx_bluesky-1.5.11/src/mx_bluesky/common/utils/utils.py +0 -42
- mx_bluesky-1.5.11/start_jupyter.sh +0 -2
- mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +0 -206
- mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -307
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.copier-answers.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.coveragerc +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.dockerignore +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/CONTRIBUTING.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/pages/index.html +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/release.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_debug_container.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_helm.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_label.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_test.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.gitignore +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.pre-commit-config.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/launch.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mx-bluesky-dev-container.code-workspace +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/Dockerfile +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/LICENSE +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/README.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/catalog-info.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/codecov.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/_api.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/conf.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/how-to/get-started.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/baton.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/gda-baton.puml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/explanations/DrawioImages.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor coordinate systems.odg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor-coords-omega-0.svg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/images/motor-coords-omega-alpha.svg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/index.rst +0 -0
- {mx_bluesky-1.5.11/docs/user/hyperion → mx_bluesky-1.5.14/docs/user/hyperion/advanced}/alerts.rst +0 -0
- {mx_bluesky-1.5.11/docs/user/hyperion → mx_bluesky-1.5.14/docs/user/hyperion/advanced}/pvs.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/docs/user/hyperion/running.rst +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/hyperion/values.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/mx-bluesky-blueapi/values.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/helm/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/pull_request_template.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/run_hyperion.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/setup.cfg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i02_1/parameters → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i04/callbacks → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/aithre_lasershaping/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i04/experiment_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i02_1/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24 → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04}/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/oav_centering_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i04/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_internal_acquisition.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/experiment_plans/inner_plans → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_startup_py3v1.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.5.14/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.14/src/mx_bluesky/common}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.5.14/src/mx_bluesky/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.5.14/src/mx_bluesky/common/experiment_plans/inner_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/parameters → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/preprocessors → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/protocols → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/common/utils → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/alerting → mx_bluesky-1.5.14/src/mx_bluesky/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions → mx_bluesky-1.5.14/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.14/src/mx_bluesky/common/protocols}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.5.11/src/mx_bluesky/phase1_zebra/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/system_tests → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.11/tests/system_tests/common/device_setup_plans → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.11/tests/system_tests/hyperion → mx_bluesky-1.5.14/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/runner.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.14/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction/alerting → mx_bluesky-1.5.14/tests}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.14/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests → mx_bluesky-1.5.14/tests/system_tests/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines → mx_bluesky-1.5.14/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/aithre_lasershaping → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i04 → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i04 → mx_bluesky-1.5.14/tests/system_tests/hyperion/external_interaction}/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_native.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/agamemnon/example_wait.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_domain_properties_with_panda +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i23 → mx_bluesky-1.5.14/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.14/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.5.14/tests/unit_tests/beamlines/aithre_lasershaping}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i04/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i23}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/parameters → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans/test_do_darks.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/device_setup_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.14/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.14/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/alerting/alerting → mx_bluesky-1.5.14/tests/unit_tests/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/device_setup_plans/test_setup_zebra_and_shutter.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.14/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/external_interaction/nexus → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/parameters → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/common/utils → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.14/tests/unit_tests/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.14/tests/unit_tests/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/parameters/test_components.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/experiment_plans/common → mx_bluesky-1.5.14/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.14/tests/unit_tests/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.14/tests/unit_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/conftest.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load → mx_bluesky-1.5.14/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.14/tests/unit_tests/hyperion/experiment_plans/common}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.11/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.14/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_runner.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/request_baton.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.5.11 → mx_bluesky-1.5.14}/utility_scripts/strip_metafile.py +0 -0
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for all configuration options:
|
|
4
|
-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
-
|
|
6
1
|
version: 2
|
|
7
2
|
updates:
|
|
8
3
|
- package-ecosystem: "github-actions"
|
|
@@ -26,3 +21,6 @@ updates:
|
|
|
26
21
|
- "*"
|
|
27
22
|
commit-message:
|
|
28
23
|
prefix: "chore"
|
|
24
|
+
ignore:
|
|
25
|
+
- dependency-name: "pyright"
|
|
26
|
+
versions: [ ">=1.1.407" ] # Until https://github.com/microsoft/pyright/issues/11060 is fixed
|
|
@@ -28,6 +28,10 @@ jobs:
|
|
|
28
28
|
username: ${{ github.actor }}
|
|
29
29
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
30
30
|
|
|
31
|
+
################################
|
|
32
|
+
# Hyperion Container Image Build
|
|
33
|
+
################################
|
|
34
|
+
|
|
31
35
|
- name: Build and export to Docker local cache
|
|
32
36
|
uses: docker/build-push-action@v6
|
|
33
37
|
env:
|
|
@@ -37,15 +41,6 @@ jobs:
|
|
|
37
41
|
file: Dockerfile.hyperion
|
|
38
42
|
load: true
|
|
39
43
|
|
|
40
|
-
- name: Build and export Dockerfile.blueapi to local cache
|
|
41
|
-
uses: docker/build-push-action@v6
|
|
42
|
-
env:
|
|
43
|
-
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
44
|
-
with:
|
|
45
|
-
context: .
|
|
46
|
-
file: Dockerfile.blueapi
|
|
47
|
-
load: true
|
|
48
|
-
|
|
49
44
|
- name: Create tags for publishing Hyperion image
|
|
50
45
|
id: meta-hyperion
|
|
51
46
|
uses: docker/metadata-action@v5
|
|
@@ -62,22 +57,6 @@ jobs:
|
|
|
62
57
|
type=ref,event=tag
|
|
63
58
|
type=raw,value=latest
|
|
64
59
|
|
|
65
|
-
- name: Create tags for publishing BlueAPI image
|
|
66
|
-
id: meta-blueapi
|
|
67
|
-
uses: docker/metadata-action@v5
|
|
68
|
-
with:
|
|
69
|
-
images: |
|
|
70
|
-
ghcr.io/${{ github.repository }}-blueapi
|
|
71
|
-
labels: |
|
|
72
|
-
org.opencontainers.image.title=mx-bluesky-blueapi
|
|
73
|
-
org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
|
|
74
|
-
annotations: |
|
|
75
|
-
org.opencontainers.image.title=mx-bluesky-blueapi
|
|
76
|
-
org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
|
|
77
|
-
tags: |
|
|
78
|
-
type=ref,event=tag
|
|
79
|
-
type=raw,value=latest
|
|
80
|
-
|
|
81
60
|
- name: Push cached Hyperion image to container registry
|
|
82
61
|
if: inputs.publish && github.ref_type == 'tag'
|
|
83
62
|
uses: docker/build-push-action@v6
|
|
@@ -94,6 +73,45 @@ jobs:
|
|
|
94
73
|
# Set the annotations to make the description appear in the GH repo page
|
|
95
74
|
annotations: ${{ steps.meta-hyperion.outputs.annotations }}
|
|
96
75
|
|
|
76
|
+
- name: Check disk space before
|
|
77
|
+
run: df -h && docker buildx du
|
|
78
|
+
|
|
79
|
+
- name: Prune local image cache before next build
|
|
80
|
+
run: docker buildx prune -f
|
|
81
|
+
|
|
82
|
+
- name: Check disk space after
|
|
83
|
+
run: df -h && docker buildx du
|
|
84
|
+
|
|
85
|
+
###############################
|
|
86
|
+
# BlueAPI Container Image Build
|
|
87
|
+
###############################
|
|
88
|
+
|
|
89
|
+
- name: Build and export Dockerfile.blueapi to local cache
|
|
90
|
+
uses: docker/build-push-action@v6
|
|
91
|
+
env:
|
|
92
|
+
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
93
|
+
with:
|
|
94
|
+
context: .
|
|
95
|
+
file: Dockerfile.blueapi
|
|
96
|
+
load: true
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
- name: Create tags for publishing BlueAPI image
|
|
100
|
+
id: meta-blueapi
|
|
101
|
+
uses: docker/metadata-action@v5
|
|
102
|
+
with:
|
|
103
|
+
images: |
|
|
104
|
+
ghcr.io/${{ github.repository }}-blueapi
|
|
105
|
+
labels: |
|
|
106
|
+
org.opencontainers.image.title=mx-bluesky-blueapi
|
|
107
|
+
org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
|
|
108
|
+
annotations: |
|
|
109
|
+
org.opencontainers.image.title=mx-bluesky-blueapi
|
|
110
|
+
org.opencontainers.image.description=BlueAPI plans, stubs and utilities for MX beamlines
|
|
111
|
+
tags: |
|
|
112
|
+
type=ref,event=tag
|
|
113
|
+
type=raw,value=latest
|
|
114
|
+
|
|
97
115
|
- name: Push cached BlueAPI image to container registry
|
|
98
116
|
if: github.ref_type == 'tag'
|
|
99
117
|
uses: docker/build-push-action@v6
|
|
@@ -26,8 +26,12 @@
|
|
|
26
26
|
"python.analysis.typeCheckingMode": "basic",
|
|
27
27
|
"cSpell.words": [
|
|
28
28
|
"aperturescatterguard",
|
|
29
|
+
"beamline",
|
|
30
|
+
"beamlines",
|
|
31
|
+
"beamsize",
|
|
29
32
|
"beamstop",
|
|
30
33
|
"blueapi",
|
|
34
|
+
"caget",
|
|
31
35
|
"cryostream",
|
|
32
36
|
"deadtime",
|
|
33
37
|
"dodal",
|
|
@@ -40,19 +44,16 @@
|
|
|
40
44
|
"mrad",
|
|
41
45
|
"murko",
|
|
42
46
|
"ophyd",
|
|
47
|
+
"pmac",
|
|
43
48
|
"readback",
|
|
44
49
|
"scanspec",
|
|
45
50
|
"scatterguard",
|
|
46
51
|
"smargon",
|
|
52
|
+
"thawer",
|
|
47
53
|
"topup",
|
|
48
54
|
"Transfocator",
|
|
49
55
|
"undulator",
|
|
50
56
|
"xbpm",
|
|
51
|
-
"xspress"
|
|
52
|
-
"pmac",
|
|
53
|
-
"beamlines",
|
|
54
|
-
"caget",
|
|
55
|
-
"thawer",
|
|
56
|
-
"beamline",
|
|
57
|
+
"xspress"
|
|
57
58
|
],
|
|
58
59
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
# Before changing this BlueAPI version number, you should check that
|
|
2
2
|
# the BlueAPI pin in pyproject.toml is compatible, else the version will
|
|
3
3
|
# be overridden
|
|
4
|
-
FROM ghcr.io/diamondlightsource/blueapi:1.
|
|
4
|
+
FROM ghcr.io/diamondlightsource/blueapi:1.11.0
|
|
5
5
|
|
|
6
6
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
#
|
|
10
|
-
RUN apt
|
|
8
|
+
# Need:
|
|
9
|
+
# libgl, libglib2.0 for python cv2 dependency
|
|
10
|
+
RUN apt update -y && \
|
|
11
|
+
apt upgrade -y && \
|
|
12
|
+
apt install -y libgl1 libglib2.0-0
|
|
11
13
|
|
|
12
|
-
RUN /venv/bin/pip install mx-bluesky
|
|
14
|
+
RUN /venv/bin/pip install --no-cache-dir --no-compile mx-bluesky
|
|
13
15
|
|
|
14
16
|
# Needed so that Blueapi's setup-scratch stage has permission to modify dependencies installed
|
|
15
17
|
# in the above pip installation
|
|
@@ -2,11 +2,13 @@ FROM python:3.11 AS build
|
|
|
2
2
|
|
|
3
3
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
#
|
|
7
|
-
RUN apt
|
|
5
|
+
# Need:
|
|
6
|
+
# libgl, libglib2.0 for python cv2 dependency
|
|
7
|
+
RUN apt update -y && \
|
|
8
|
+
apt upgrade -y && \
|
|
9
|
+
apt install -y libgl1 libglib2.0-0
|
|
8
10
|
|
|
9
|
-
RUN pip install setuptools_scm
|
|
11
|
+
RUN pip install --no-cache-dir --no-compile setuptools_scm
|
|
10
12
|
|
|
11
13
|
# Copy the pyproject.toml and install dependencies for better caching when developing
|
|
12
14
|
# & rerunning deployment scripts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.14
|
|
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
|
|
@@ -218,11 +218,10 @@ Requires-Dist: annotated_types
|
|
|
218
218
|
Requires-Dist: caproto
|
|
219
219
|
Requires-Dist: fastapi[all]
|
|
220
220
|
Requires-Dist: flask-restful
|
|
221
|
-
Requires-Dist: ispyb
|
|
222
221
|
Requires-Dist: jupyterlab
|
|
223
222
|
Requires-Dist: matplotlib
|
|
224
223
|
Requires-Dist: nexgen>=0.11.0
|
|
225
|
-
Requires-Dist: numpy
|
|
224
|
+
Requires-Dist: numpy>=2.3.5
|
|
226
225
|
Requires-Dist: opencv-python
|
|
227
226
|
Requires-Dist: opentelemetry-distro
|
|
228
227
|
Requires-Dist: opentelemetry-exporter-otlp
|
|
@@ -238,17 +237,18 @@ Requires-Dist: deepdiff
|
|
|
238
237
|
Requires-Dist: matplotlib
|
|
239
238
|
Requires-Dist: cachetools
|
|
240
239
|
Requires-Dist: daq-config-server>=v1.0.0-rc.2
|
|
241
|
-
Requires-Dist: blueapi>=1.
|
|
240
|
+
Requires-Dist: blueapi>=1.8.0
|
|
242
241
|
Requires-Dist: ophyd>=1.10.5
|
|
243
|
-
Requires-Dist: ophyd-async>=0.
|
|
242
|
+
Requires-Dist: ophyd-async>=0.14.0
|
|
244
243
|
Requires-Dist: bluesky>=1.14.6
|
|
245
|
-
Requires-Dist: dls-dodal==1.
|
|
244
|
+
Requires-Dist: dls-dodal==1.67.0
|
|
246
245
|
Provides-Extra: dev
|
|
247
246
|
Requires-Dist: black; extra == "dev"
|
|
248
247
|
Requires-Dist: build; extra == "dev"
|
|
249
248
|
Requires-Dist: diff-cover; extra == "dev"
|
|
250
249
|
Requires-Dist: GitPython; extra == "dev"
|
|
251
250
|
Requires-Dist: import-linter; extra == "dev"
|
|
251
|
+
Requires-Dist: ispyb; extra == "dev"
|
|
252
252
|
Requires-Dist: ipython; extra == "dev"
|
|
253
253
|
Requires-Dist: mypy; extra == "dev"
|
|
254
254
|
Requires-Dist: myst-parser; extra == "dev"
|
|
@@ -262,6 +262,7 @@ Requires-Dist: pytest-cov; extra == "dev"
|
|
|
262
262
|
Requires-Dist: pytest-random-order; extra == "dev"
|
|
263
263
|
Requires-Dist: pytest-timeout; extra == "dev"
|
|
264
264
|
Requires-Dist: pytest; extra == "dev"
|
|
265
|
+
Requires-Dist: responses; extra == "dev"
|
|
265
266
|
Requires-Dist: ruff; extra == "dev"
|
|
266
267
|
Requires-Dist: sphinx-autobuild; extra == "dev"
|
|
267
268
|
Requires-Dist: sphinx-copybutton; extra == "dev"
|
|
@@ -16,11 +16,9 @@ In general, the ordering flow of when callbacks are triggered is controlled by e
|
|
|
16
16
|
Rotation Scans
|
|
17
17
|
---------------------
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Rotation scans are generalised so that multiple scans can be done at once. The plan will create one hdf file for all rotations but then N nexus files, N ispyb depositions and triggers zocalo N times.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
For multi rotations this is does by starting 1+2*N different runs:
|
|
21
|
+
It does this by starting 1+2*N different runs:
|
|
24
22
|
|
|
25
23
|
1. ``CONST.PLAN.ROTATION_MULTI``: This is emitted once for the whole multiple rotation. It is used by the nexus callback to get the full number of images and meta_data_run_number so that it knows which hdf file to use. When this is finished zocalo end is triggered.
|
|
26
24
|
2. ``CONST.PLAN.ROTATION_OUTER``: Emitted N times, inside a ``CONST.PLAN.ROTATION_MULTI`` run. This is used to create the initial ispyb deposition and create the nexus writer (but not actually write the file)
|
|
@@ -3,14 +3,14 @@ Create a New Release
|
|
|
3
3
|
===========
|
|
4
4
|
Pre-release
|
|
5
5
|
===========
|
|
6
|
-
Make sure that dodal has an up-to-date release. If not, create one (see `dodal release instructions <https://diamondlightsource.github.io/dodal/main/
|
|
6
|
+
Make sure that dodal has an up-to-date release. If not, create one (see `dodal release instructions <https://diamondlightsource.github.io/dodal/main/how-to/make-release.html>`_).
|
|
7
7
|
|
|
8
8
|
=======
|
|
9
9
|
Release
|
|
10
10
|
=======
|
|
11
11
|
|
|
12
|
-
1. Create a new branch from main named pre followed by the release version e.g.
|
|
13
|
-
2. On this branch pin the
|
|
12
|
+
1. Create a new branch from main named pre followed by the release version e.g. pre_0.1.0. The release versions should look like ``{major}.{minor}.{patch}``.
|
|
13
|
+
2. On this branch pin the latest release of dodal, and nexgen if necessary, then push to GitHub. (e.g "dls-dodal == 1.63.0")
|
|
14
14
|
3. Make sure the CI is passing for this new pre-release branch.
|
|
15
15
|
4. Go `here <https://github.com/DiamondLightSource/mx-bluesky/releases/new>`_.
|
|
16
16
|
5. Select Choose a new tag and type the version of the release, then select the branch created in step 1 as the target.
|
|
@@ -19,6 +19,7 @@ Release
|
|
|
19
19
|
8. Publish the release
|
|
20
20
|
|
|
21
21
|
NOTE FOR USING THE MX-BLUESKY-BLUEAPI IMAGE: If using this image with BlueAPI's helmchart for deployment, the version of dodal which is installed will be the version which is pinned in the BlueAPI, rather than what's in mx-bluesky's pyproject.toml. Before releasing, you should pin BlueAPI to a version which uses a dodal version which is compatible with itself AND mx-bluesky. The deployment will fail if BlueAPI has no version which works with the desired dodal version
|
|
22
|
+
Follow `these instructions <setup-blueapi-for-mx.html>`_ on using the mx-bluesky-blueapi image.
|
|
22
23
|
|
|
23
24
|
------------------------
|
|
24
25
|
Deciding release numbers
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
Deploy a New Release
|
|
2
2
|
====================
|
|
3
3
|
|
|
4
|
+
.. warning::
|
|
5
|
+
|
|
6
|
+
This guide is for pre-containerised deployments. To see how deployments work using BlueAPI with kubernetes, please see `the updated guide <setup-blueapi-for-mx.html>`_.
|
|
7
|
+
|
|
4
8
|
**Remember to discuss any new deployments with the appropriate beamline scientist.**
|
|
5
9
|
|
|
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-
|
|
10
|
+
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_X.X.X``. To do a new deployment you should run the deploy script from your mx-bluesky dev environment with e.g.
|
|
7
11
|
If you have just created a new release, you may need to run git fetch --tags to get the newest release.
|
|
8
12
|
|
|
9
13
|
.. code:: console
|
|
@@ -31,28 +35,3 @@ The script has a few additional optional arguments, which can be viewed with:
|
|
|
31
35
|
.. code:: console
|
|
32
36
|
|
|
33
37
|
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 dependencies 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
|
-
pip install contourpy
|
|
51
|
-
|
|
52
|
-
Then, on the control machine, run
|
|
53
|
-
|
|
54
|
-
.. code:: console
|
|
55
|
-
|
|
56
|
-
. ./.venv/bin/activate
|
|
57
|
-
pip install -e .
|
|
58
|
-
pip install -e ../dodal
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Setting up BlueAPI for an MX beamline
|
|
2
|
+
|
|
3
|
+
## Background
|
|
4
|
+
|
|
5
|
+
The Athena DAQ platform is intended to run in microservices using kubernetes. A beamline ixx has a gitlab repository `ixx-services`, which contains that beamline's available services and their helm configurations, as well as `ixx-deployments` which says which available services should be deployed. Services managed in this way will be deployed into the `ixx-beamline` namespace. ArgoCD provides a useful dashboard for the deployed services and their kubernetes objects. See [here](https://dev-guide.diamond.ac.uk/athena/how-tos/migration/) for more information. This guide will explain how to setup BlueAPI using mx-bluesky within this framework.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
1. The beamline has a kubernetes cluster with gitlab deployment and services repos. See [here](https://dev-guide.diamond.ac.uk/epics-containers/how-tos/intro/) for a guide on this. DAQ members should be codeowners of these repos.
|
|
10
|
+
2. Confirm the beamline cluster has a Blueapi ingress and DNS entry for `ixx-blueapi.diamond.ac.uk` - create a scicomp ticket if it doesn't.
|
|
11
|
+
|
|
12
|
+
## Guide to run BlueAPI with mx-bluesky through kubernetes
|
|
13
|
+
|
|
14
|
+
The best way to add BlueAPI to the services and deployments repo with the correct configuration is to copy from an existing setup and change the relevant values. i04 will be used as an example for this guide - [see their blueapi configuration](https://gitlab.diamond.ac.uk/controls/containers/beamline/i04-services/-/tree/main/services/i04-blueapi?ref_type=heads). The `chart.yaml` tells us which helmcharts are being used. The BlueAPI helmchart gives us the bulk of the configuration. See [here](https://github.com/DiamondLightSource/blueapi/tree/main/helm/blueapi) for a table of its settings. In MX we use an additional `mx-bluesky-blueapi` helmchart - right now this is purely for configuring Zocalo, but anything else which is generic to MX should be added.
|
|
15
|
+
|
|
16
|
+
`values.yaml` lets us configure the helmcharts that we had listed in dependencies. This file should look the same for each MX beamline, other than the actual beamline name. Unfortunately, there's no way to get a templated file here which automatically fills in the beamline name. Some notes:
|
|
17
|
+
|
|
18
|
+
- The BlueAPI image should be set to `ghcr.io/diamondlightsource/mx-bluesky-blueapi` and you should specify a version tag. See all releases of this image [here](https://github.com/DiamondLightSource/mx-bluesky/pkgs/container/mx-bluesky-blueapi). This image will install any MX-specific dependencies on top of the BlueAPI image.
|
|
19
|
+
- We are currently mounting `/dls/ixx` and `/dls_sw/ixx` to BlueAPI, but the long-term goal is to not mount the file system. Nexgen currently requires `/dls/ixx` to be mounted. Once Nexgen is migrated into a separate service, we can unmount `/dls/ixx` from Blueapi and mount it in Nexgen only. Unmounting `/dls_sw/ixx`requires us to be using the config server for all settings - this is currently being worked on.
|
|
20
|
+
- Until the above is done, BlueAPI needs to run as the detector user so that it has permission to write files. Type `id ixxdetector` into a terminal to find the user id. This then needs to be added in the `runAsUser: [number]` part of the values.
|
|
21
|
+
|
|
22
|
+
MX Bluesky plans require some secrets to be added to the beamline cluster. The configuration from the above requires these secrets, so will not work without this. At the time of writing this guide, there are 3 that we need: ispyb (expeye) credentials, rabbitMQ credentials for zocalo, and config for rabbitMQ api reader for zocalo. These should be added as sealed secrets and committed to the services repo. Here's how this works:
|
|
23
|
+
|
|
24
|
+
1. Open a terminal and enter your beamline cluster with `module load k8s-ixx`
|
|
25
|
+
2. Set the default namespace to ixx-beamline with `kubectl config set-context --current --namespace=ixx-beamline`
|
|
26
|
+
3. Create a regular secret and save to a yaml file with `kubectl create secret generic [secret-name] --from-file=/path/to/sensitive/file --save-config --dry-run=client -o yaml > [secret-file-name.yaml]`
|
|
27
|
+
4. Seal the secret with `kubeseal --controller-namespace kube-system --controller-name sealed-secrets-controller --format yaml < [secret-file-name.yaml] > [sealed-secret-file-name.yaml]`. This will encrypt your secret - the beamline cluster comes installed with the private key to decrypt information sealed with this command.
|
|
28
|
+
5. Commit the sealed secret into `ixx-services/services/ixx-blueapi/templates`. Importantly, do not commit the unsealed secret!
|
|
29
|
+
6. Once this is pushed to the main branch, you can check the k8s dashboard to see if the secret has successfully been added.
|
|
30
|
+
|
|
31
|
+
<div style="border: 2px solid #f39c12; background-color: #fef2e4; padding: 10px; margin: 15px 0; border-radius: 5px;">
|
|
32
|
+
<strong>Warning:</strong> The mx-bluesky-blueapi image is responsible for your blueapi version and your python environment. It is independent from the mx-bluesky and dodal repos in the scratch folder. Currently, the versions of these repos must be manually managed. This will be addressed <a href="https://github.com/DiamondLightSource/blueapi/issues/933" target="_blank" style="color: #e67e22; text-decoration: underline;">here</a>.
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
Paths to required credentials:
|
|
36
|
+
|
|
37
|
+
- Zocalo api reader: `/dls_sw/apps/zocalo/secrets/rabbitmq-api-reader.yml`
|
|
38
|
+
- Zocalo RMQ credentials: `/dls_sw/apps/zocalo/secrets/rabbitmq-credentials.yml`
|
|
39
|
+
- ispyb (expeye) credentials: `/dls_sw/dasc/mariadb/credentials/ispyb-mx-bluesky-ixx.cfg`
|
|
40
|
+
See [here](https://gitlab.diamond.ac.uk/controls/containers/beamline/i24-services/-/tree/main/services/i24-blueapi/templates?ref_type=heads) For what the templates folder should look like once the above steps have been done.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
:: _dev-guide:
|
|
2
|
+
|
|
1
3
|
General MX-Bluesky Developer Guide
|
|
2
4
|
==================================
|
|
3
5
|
|
|
@@ -25,6 +27,7 @@ Documentation is split into four categories, and each is also accessible from li
|
|
|
25
27
|
:maxdepth: 1
|
|
26
28
|
|
|
27
29
|
how-to/get-started
|
|
30
|
+
how-to/setup-blueapi-for-mx
|
|
28
31
|
how-to/contribute
|
|
29
32
|
how-to/create-a-release
|
|
30
33
|
how-to/deploy-a-release
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
@startuml
|
|
2
|
+
!pragma teoz true
|
|
3
|
+
participant "BlueSky RunEngine" as RE
|
|
4
|
+
box "Opyhd Async Devices"
|
|
5
|
+
participant "Aperture\nScatterguard" as ap_sg
|
|
6
|
+
participant "Smargon" as smargon
|
|
7
|
+
participant "Robot" as robot
|
|
8
|
+
participant "Backlight" as backlight
|
|
9
|
+
participant "OAV" as oav
|
|
10
|
+
participant "Panda" as panda
|
|
11
|
+
participant "Zebra" as zebra
|
|
12
|
+
participant "Zocalo\nResults" as zocalo
|
|
13
|
+
participant "Eiger" as eiger
|
|
14
|
+
end box
|
|
15
|
+
box "Callbacks"
|
|
16
|
+
participant "Robot Load\nISPyB" as RobotLoadISPyB
|
|
17
|
+
participant "Gridscan\nISPyB" as GridscanISPyB
|
|
18
|
+
participant "Grid\nDetection" as GridDetection
|
|
19
|
+
participant "GridScan\nNexus" as GridScanNexus
|
|
20
|
+
participant "Zocalo\nTrigger" as ZocaloCallback
|
|
21
|
+
participant "XRC\nResults" as XRayCentreEventHandler
|
|
22
|
+
participant "Snapshot\nBeam Centre\nAnnotation" as BeamDrawingCallback
|
|
23
|
+
end box
|
|
24
|
+
|
|
25
|
+
RE -> RE:robot_load_then_xray_centre
|
|
26
|
+
activate RE #ffeeee
|
|
27
|
+
opt pin not already loaded
|
|
28
|
+
RE -> RE: robot_load_and_change_energy_plan
|
|
29
|
+
activate RE #ffdddd
|
|
30
|
+
RE -> RE: prepare_for_robot_load
|
|
31
|
+
activate RE #ffcccc
|
|
32
|
+
RE -> ap_sg: Move Aperture Scatterguard out of beam
|
|
33
|
+
activate ap_sg
|
|
34
|
+
RE -> smargon: Home smargon
|
|
35
|
+
activate smargon
|
|
36
|
+
deactivate ap_sg
|
|
37
|
+
deactivate RE /' prepare_for_robot_load '/
|
|
38
|
+
RE -> RE: robot_load_and_snapshots
|
|
39
|
+
activate RE #ffcccc
|
|
40
|
+
activate RobotLoadISPyB
|
|
41
|
+
RE -> RobotLoadISPyB: send parameters to robot load callback
|
|
42
|
+
RE -> backlight: move backlight in
|
|
43
|
+
RE -> RE: do_robot_load
|
|
44
|
+
activate RE #ffbbbb
|
|
45
|
+
RE -> robot: trigger robot load
|
|
46
|
+
activate robot
|
|
47
|
+
RE -> RE: set_energy_plan
|
|
48
|
+
note right of RE: (see below)
|
|
49
|
+
deactivate robot
|
|
50
|
+
deactivate RE /' do_robot_load '/
|
|
51
|
+
RE -> smargon: Restore motor positions
|
|
52
|
+
deactivate smargon
|
|
53
|
+
RE -> oav: trigger snapshots
|
|
54
|
+
RE -> RobotLoadISPyB: read hardware
|
|
55
|
+
RE -> RobotLoadISPyB: record snapshots
|
|
56
|
+
deactivate RE /'robot_load_and_snapshots'/
|
|
57
|
+
return /'robot_load_and_change_energy_plan'/
|
|
58
|
+
deactivate RobotLoadISPyB
|
|
59
|
+
end /'pin not already loaded'/
|
|
60
|
+
alt pin is loaded
|
|
61
|
+
RE -> RE: set_energy_plan
|
|
62
|
+
end /'pin is loaded'/
|
|
63
|
+
RE -> RE++ : start_preparing_data_collection_then_do_plan
|
|
64
|
+
RE -> eiger ++ : arm the eiger
|
|
65
|
+
RE -> GridscanISPyB ++ : send parameters to grdscan callback
|
|
66
|
+
RE -> RE ++ #ffdddd : pin_centre_then_flyscan_plan
|
|
67
|
+
RE -> RE: setup_beamline_for_oav
|
|
68
|
+
RE -> RE: pin_tip_centre_plan
|
|
69
|
+
...do pin tip centring...
|
|
70
|
+
RE -> RE ++ #ffcccc: detect_grid_and_do_gridscan
|
|
71
|
+
RE -> RE: setup_beamline_for_oav
|
|
72
|
+
RE -> ap_sg ++: prepare aperture scatterguard\nfor gridscan in background
|
|
73
|
+
activate GridDetection
|
|
74
|
+
RE -> RE ++ #ffbbbb: grid_detection_plan
|
|
75
|
+
loop xy and xz grids
|
|
76
|
+
RE -> smargon: rotate omega
|
|
77
|
+
RE -> oav: trigger OAV snapshot
|
|
78
|
+
RE -> GridscanISPyB: snapshot event with oav + smargon state
|
|
79
|
+
& RE -> BeamDrawingCallback ++
|
|
80
|
+
BeamDrawingCallback -> BeamDrawingCallback : save snapshot details\n\
|
|
81
|
+
to generate rotation\n\
|
|
82
|
+
snapshots later
|
|
83
|
+
end
|
|
84
|
+
deactivate RE /'grid_detection_plan'/
|
|
85
|
+
deactivate GridDetection
|
|
86
|
+
RE -> RE ++
|
|
87
|
+
...grid detection...
|
|
88
|
+
return
|
|
89
|
+
RE -> backlight: move backlight out
|
|
90
|
+
ap_sg -> RE --: aperture scatterguard completes
|
|
91
|
+
RE -> RE ++ #ffaaaa : common_flycan_xray_centre
|
|
92
|
+
RE -> eiger : setup detector parameters
|
|
93
|
+
RE -> GridScanNexus++: send gridscan parameters
|
|
94
|
+
RE -> panda : configure panda
|
|
95
|
+
RE -> zebra : configure zebra for panda
|
|
96
|
+
RE -> panda ++ : arm panda
|
|
97
|
+
RE -> zocalo ++ : stage zocalo device
|
|
98
|
+
RE -> RE ++ #ff9999 : run_gridscan
|
|
99
|
+
RE -> GridscanISPyB : read hardware before
|
|
100
|
+
& RE -> GridScanNexus
|
|
101
|
+
RE <-> eiger : stage eiger (ensures arming complete if not already)
|
|
102
|
+
RE -> ZocaloCallback ++ : send params to Zocalo callback
|
|
103
|
+
zocalo -> RE : zocalo stage completes
|
|
104
|
+
RE -> ZocaloCallback : trigger zocalo with detector filename
|
|
105
|
+
RE -> panda ++ : kickoff gridscan
|
|
106
|
+
RE -> GridscanISPyB : read hardware during
|
|
107
|
+
& RE -> GridScanNexus
|
|
108
|
+
deactivate GridScanNexus
|
|
109
|
+
...perform gridscan...
|
|
110
|
+
panda -> RE --
|
|
111
|
+
eiger -> RE -- : unstage eiger
|
|
112
|
+
RE -> ZocaloCallback : notify Zocalo of completion
|
|
113
|
+
deactivate ZocaloCallback
|
|
114
|
+
deactivate RE /' run_gridscan '/
|
|
115
|
+
RE -> zocalo ++: fetch results from zocalo
|
|
116
|
+
...wait for Zocalo processing...
|
|
117
|
+
zocalo -> RE -- : detected xtal centres
|
|
118
|
+
RE -> XRayCentreEventHandler ++ : post detected centres to callback
|
|
119
|
+
zocalo -> RE -- : unstage zocalo
|
|
120
|
+
panda -> RE -- : unstage panda
|
|
121
|
+
RE -> zebra : tidy zebra
|
|
122
|
+
deactivate RE /'common_flyscan_xray_centre'/
|
|
123
|
+
deactivate RE /' detect_grid_and_do_gridscan'/
|
|
124
|
+
return /' pin_centre_then_flyscan_plan'/
|
|
125
|
+
deactivate GridscanISPyB
|
|
126
|
+
deactivate RE /' start_preparing_data_collection_then_do_plan '/
|
|
127
|
+
deactivate RE /'robot_load_then_xray_centre'/
|
|
128
|
+
note over XRayCentreEventHandler
|
|
129
|
+
Results collected later by rotation
|
|
130
|
+
end note
|
|
131
|
+
@enduml
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
@startuml
|
|
2
|
+
!pragma teoz true
|
|
3
|
+
participant "BlueSky RunEngine" as RE
|
|
4
|
+
box "Opyhd Async Devices"
|
|
5
|
+
participant "Aperture\nScatterguard" as ap_sg
|
|
6
|
+
participant "Smargon" as smargon
|
|
7
|
+
participant "Robot" as robot
|
|
8
|
+
participant "Backlight" as backlight
|
|
9
|
+
participant "OAV" as oav
|
|
10
|
+
participant "Zebra" as zebra
|
|
11
|
+
participant "Eiger" as eiger
|
|
12
|
+
participant "Synchrotron" as synchrotron
|
|
13
|
+
end box
|
|
14
|
+
box "Callbacks"
|
|
15
|
+
participant "Rotation\nISPyB" as RotationISPyB
|
|
16
|
+
participant "Rotation\nNexus" as RotationScanNexus
|
|
17
|
+
participant "XRC\nResults" as XRayCentreEventHandler
|
|
18
|
+
participant "Snapshot\nBeam Centre\nAnnotation" as BeamDrawingCallback
|
|
19
|
+
end box
|
|
20
|
+
|
|
21
|
+
activate XRayCentreEventHandler
|
|
22
|
+
activate BeamDrawingCallback
|
|
23
|
+
XRayCentreEventHandler -> RE : results from gridscan
|
|
24
|
+
deactivate XRayCentreEventHandler
|
|
25
|
+
|
|
26
|
+
RE -> eiger : configure eiger parameters
|
|
27
|
+
|
|
28
|
+
RE -> RE ++ : start_preparing_data_collection_then_do_plan
|
|
29
|
+
RE -> eiger ++ : start arming the eiger
|
|
30
|
+
RE -> RotationScanNexus ++ : send rotation parameters
|
|
31
|
+
loop for each rotation
|
|
32
|
+
RE -> RotationISPyB ++: send rotation parameters (ROTATION_OUTER)
|
|
33
|
+
& RotationISPyB -> RotationScanNexus
|
|
34
|
+
RE -> smargon : move to xtal centre
|
|
35
|
+
RE -> RE : setup_beamline_for_oav
|
|
36
|
+
note right of RE : (if snapshots not derived from gridscan snapshots)
|
|
37
|
+
RE -> ap_sg ++ : prepare aperture
|
|
38
|
+
RE -> RE ++ #ffdddd : oav_snapshot_plan
|
|
39
|
+
loop for each snapshot
|
|
40
|
+
RE -> smargon : rotate
|
|
41
|
+
RE -> oav : configure + trigger snapshot (if taking real snapshots)
|
|
42
|
+
oav -> oav : save snapshots
|
|
43
|
+
RE -> RotationISPyB : generate snapshot event
|
|
44
|
+
& RE -> BeamDrawingCallback
|
|
45
|
+
BeamDrawingCallback -> BeamDrawingCallback : annotate snapshots
|
|
46
|
+
end
|
|
47
|
+
deactivate BeamDrawingCallback
|
|
48
|
+
deactivate RE /' oav_snapshot_plan '/
|
|
49
|
+
RE -> RE ++ #ffdddd : rotation_scan_plan
|
|
50
|
+
RE -> RotationISPyB ++ : send scan points (ROTATION_SCAN_MAIN)
|
|
51
|
+
RE -> zebra ++ : configure zebra for rotation
|
|
52
|
+
RE -> RE ++ #ffcccc : setup_sample_environment
|
|
53
|
+
RE -> backlight : move backlight out
|
|
54
|
+
ap_sg -> RE -- : select aperture completed
|
|
55
|
+
deactivate RE /' setup_sample_environment '/
|
|
56
|
+
RE -> smargon : set velocity
|
|
57
|
+
RE -> zebra : arm zebra PC
|
|
58
|
+
opt wait for topup
|
|
59
|
+
RE -> synchrotron ++ : check synchrotron status vs desired exposure
|
|
60
|
+
...wait until topup is complete if necessary...
|
|
61
|
+
return
|
|
62
|
+
end
|
|
63
|
+
RE -> smargon : trigger scan
|
|
64
|
+
RE -> RotationISPyB : read hardware during scan
|
|
65
|
+
& -> RotationScanNexus
|
|
66
|
+
deactivate RE /' rotation_scan_plan '/
|
|
67
|
+
RE -> RotationISPyB : record subplan exit status
|
|
68
|
+
deactivate RotationISPyB
|
|
69
|
+
end /' loop for each rotation '/
|
|
70
|
+
deactivate RotationISPyB
|
|
71
|
+
eiger -> RE -- : unstage eiger
|
|
72
|
+
RE -> zebra : tidy zebra
|
|
73
|
+
deactivate zebra
|
|
74
|
+
deactivate RotationScanNexus
|
|
75
|
+
deactivate RE /' start_preparing_data_collection_then_do_plan '/
|
|
76
|
+
|
|
77
|
+
@enduml
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@startuml
|
|
2
|
+
!pragma teoz true
|
|
3
|
+
participant "BlueSky RunEngine" as RE
|
|
4
|
+
box "Opyhd Async Devices"
|
|
5
|
+
participant "Undulator" as undulator
|
|
6
|
+
participant "DCM" as dcm
|
|
7
|
+
participant "Transmission\nand Feedback" as feedback
|
|
8
|
+
participant "Mirrors" as mirrors
|
|
9
|
+
participant "Mirror\nVoltages" as voltages
|
|
10
|
+
end box
|
|
11
|
+
|
|
12
|
+
group set_energy_plan
|
|
13
|
+
RE -> RE: set_energy_plan
|
|
14
|
+
activate RE
|
|
15
|
+
RE -> feedback: feedback off
|
|
16
|
+
activate feedback
|
|
17
|
+
RE -> undulator: set undulator gap for requested energy
|
|
18
|
+
activate undulator
|
|
19
|
+
RE -> dcm: Adjust DCM pitch and roll for energy
|
|
20
|
+
activate dcm
|
|
21
|
+
opt mirror stripe needs changing
|
|
22
|
+
RE -> mirrors: Adjust mirror stripe
|
|
23
|
+
activate mirrors
|
|
24
|
+
RE -> mirrors: Adjust yaw, lat
|
|
25
|
+
{start_voltages} RE -> voltages: Adjust mirror voltages
|
|
26
|
+
activate voltages
|
|
27
|
+
...Wait for all voltages to settle...
|
|
28
|
+
{end_voltages} voltages -> RE
|
|
29
|
+
deactivate voltages
|
|
30
|
+
deactivate mirrors
|
|
31
|
+
end
|
|
32
|
+
undulator -> RE
|
|
33
|
+
deactivate undulator
|
|
34
|
+
deactivate dcm
|
|
35
|
+
deactivate feedback
|
|
36
|
+
deactivate RE /' set energy plan '/
|
|
37
|
+
end
|
|
38
|
+
@enduml
|