mx-bluesky 1.4.5__tar.gz → 1.4.7__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.4.7/.github/CODEOWNERS +1 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/CONTRIBUTING.md +19 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.gitignore +1 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.pre-commit-config.yaml +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/PKG-INFO +6 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/README.rst +1 -1
- mx_bluesky-1.4.7/docs/developer/general/explanations/callback_and_run_logic.rst +27 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/get-started.rst +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/index.rst +1 -0
- mx_bluesky-1.4.7/docs/developer/hyperion/how-to/update-panda-ioc.rst +44 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/hyperion/index.rst +13 -0
- mx_bluesky-1.4.7/docs/developer/hyperion/system-tests.rst +20 -0
- {mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/templates/deployment.yaml +17 -17
- {mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/templates/ingress.yaml +4 -4
- {mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/templates/service.yaml +3 -3
- {mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/values.yaml +1 -1
- mx_bluesky-1.4.7/helmcharts/redis-to-murko/Chart.yaml +6 -0
- mx_bluesky-1.4.7/helmcharts/redis-to-murko/templates/deployment.yaml +73 -0
- mx_bluesky-1.4.7/helmcharts/redis-to-murko/values.yaml +17 -0
- {mx_bluesky-1.4.5/.github/PULL_REQUEST_TEMPLATE → mx_bluesky-1.4.7}/pull_request_template.md +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/pyproject.toml +31 -13
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/_version.py +9 -4
- mx_bluesky-1.4.7/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +13 -0
- mx_bluesky-1.4.7/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +29 -0
- mx_bluesky-1.4.7/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +18 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +45 -28
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i04/thawing_plan.py +19 -14
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/__init__.py +14 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/dcid.py +3 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +12 -12
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +31 -30
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +16 -14
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +19 -21
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +11 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +16 -16
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +48 -49
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +11 -9
- mx_bluesky-1.4.7/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +109 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +5 -4
- mx_bluesky-1.4.7/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +45 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +2 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +18 -15
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion → mx_bluesky-1.4.7/src/mx_bluesky/common}/external_interaction/callbacks/sample_handling/sample_handling_callback.py +29 -12
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +43 -7
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +1 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +6 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +21 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/parameters/constants.py +3 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/parameters/gridscan.py +36 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/plans/do_fgs.py +4 -6
- mx_bluesky-1.4.7/src/mx_bluesky/common/plans/read_hardware.py +78 -0
- mx_bluesky-1.4.7/src/mx_bluesky/common/plans/write_sample_status.py +46 -0
- mx_bluesky-1.4.7/src/mx_bluesky/common/preprocessors/preprocessors.py +105 -0
- mx_bluesky-1.4.7/src/mx_bluesky/common/protocols/protocols.py +10 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion → mx_bluesky-1.4.7/src/mx_bluesky/common}/utils/context.py +0 -16
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion/experiment_plans → mx_bluesky-1.4.7/src/mx_bluesky}/common/xrc_result.py +16 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/__main__.py +7 -9
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/baton_handler.py +84 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +5 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +5 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +6 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +12 -31
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -7
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +44 -97
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +6 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +8 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +11 -11
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +5 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +2 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +15 -13
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +10 -10
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +1 -29
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +30 -27
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +25 -6
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +242 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +12 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +1 -1
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +107 -0
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/parameters/device_composites.py +49 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/gridscan.py +3 -3
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/rotation.py +1 -1
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/utils/__init__.py +1 -0
- mx_bluesky-1.4.7/src/mx_bluesky/hyperion/utils/context.py +19 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/utils/validation.py +3 -3
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/PKG-INFO +6 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/SOURCES.txt +54 -19
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/entry_points.txt +1 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/requires.txt +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/conftest.py +119 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/conftest.py +31 -3
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +25 -22
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +34 -66
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/conftest.py +63 -58
- mx_bluesky-1.4.7/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +59 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +11 -14
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +84 -72
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +197 -43
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +8 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +21 -25
- mx_bluesky-1.4.7/tests/test_data/agamemnon/example_collect.json +83 -0
- mx_bluesky-1.4.7/tests/test_data/agamemnon/example_collect_multipin.json +83 -0
- {mx_bluesky-1.4.5/tests/test_data/nexus_files/rotation_unicode_metafile → mx_bluesky-1.4.7/tests/test_data/nexus_files/rotation}/ins_8_5_expected_output.txt +1 -1
- {mx_bluesky-1.4.5/tests/test_data/nexus_files/rotation → mx_bluesky-1.4.7/tests/test_data/nexus_files/rotation_unicode_metafile}/ins_8_5_expected_output.txt +1 -1
- mx_bluesky-1.4.7/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- mx_bluesky-1.4.7/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- mx_bluesky-1.4.7/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +31 -0
- mx_bluesky-1.4.7/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +39 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +52 -7
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i04/test_thawing.py +8 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +12 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +48 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +104 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +7 -7
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +21 -19
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +9 -9
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +34 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +26 -4
- mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +60 -0
- mx_bluesky-1.4.7/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +132 -0
- mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +83 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +11 -0
- mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +723 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +8 -16
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +50 -32
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/conftest.py +15 -3
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +110 -9
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +5 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +2 -2
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +3 -3
- mx_bluesky-1.4.7/tests/unit_tests/common/plans/test_read_hardware.py +107 -0
- mx_bluesky-1.4.7/tests/unit_tests/common/preprocessors/test_preprocessors.py +192 -0
- mx_bluesky-1.4.7/tests/unit_tests/common/test_write_sample_status.py +65 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/conftest.py +16 -5
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/conftest.py +24 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +4 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +3 -3
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +14 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/conftest.py +31 -21
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_change_aperture_then_move_plan.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +150 -179
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +3 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -8
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +256 -18
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +6 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +1 -4
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +80 -7
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +20 -102
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +62 -12
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +1 -1
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +18 -50
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +212 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -79
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +374 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +4 -4
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +16 -12
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/test_baton_handler.py +162 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/test_main_system.py +1 -6
- mx_bluesky-1.4.7/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/utils/test_context.py +1 -1
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/deploy/deploy_mx_bluesky.py +1 -1
- mx_bluesky-1.4.5/utility_scripts/deploy/deploy_hyperion_to_k8s.sh → mx_bluesky-1.4.7/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +37 -23
- mx_bluesky-1.4.5/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +0 -14
- mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction/callbacks/common/aperture_change_callback.py +0 -22
- mx_bluesky-1.4.5/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +0 -54
- mx_bluesky-1.4.5/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +0 -103
- mx_bluesky-1.4.5/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +0 -69
- mx_bluesky-1.4.5/tests/system_tests/hyperion/test_aperturescatterguard_system.py +0 -53
- mx_bluesky-1.4.5/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +0 -36
- mx_bluesky-1.4.5/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -765
- mx_bluesky-1.4.5/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -135
- mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -82
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.copier-answers.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.coveragerc +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.dockerignore +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/pages/index.html +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_container.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_test.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/launch.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/settings.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/Dockerfile +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/Dockerfile.release +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/LICENSE +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/catalog-info.yaml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/codecov.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/conftest.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/_api.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/conf.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/docs/index.rst +0 -0
- {mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/Chart.yaml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/code.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/container_tests.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/linkcheck.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/pin_versions.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/test_data/setup.cfg +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/hyperion_other/workflows/test_pin_versions.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/run_hyperion.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/setup.cfg +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common → mx_bluesky-1.4.7/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction → mx_bluesky-1.4.7/src/mx_bluesky/common}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.7/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/parameters/components.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/plans/__init__.py +0 -0
- {mx_bluesky-1.4.5/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling → mx_bluesky-1.4.7/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests → mx_bluesky-1.4.7/src/mx_bluesky/common/protocols}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/utils/log.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/system_tests → mx_bluesky-1.4.7/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/check_beamstop.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
- {mx_bluesky-1.4.5/tests/system_tests/hyperion → mx_bluesky-1.4.7/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/external_interaction/config_server.py +6 -6
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/start_jupyter.sh +0 -0
- {mx_bluesky-1.4.5/tests/system_tests/hyperion/experiment_plans → mx_bluesky-1.4.7/tests}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.4.7/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.7/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests → mx_bluesky-1.4.7/tests/system_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines → mx_bluesky-1.4.7/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines/i24 → mx_bluesky-1.4.7/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.4.7/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.4.7/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/external_interaction → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.4.7/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.4.7/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/utils → mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion → mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.4.7/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.4.7/tests/unit_tests/common/plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.7/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/common/plan_stubs → mx_bluesky-1.4.7/tests/unit_tests/common}/test_do_fgs.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.7/tests/unit_tests/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling → mx_bluesky-1.4.7/tests/unit_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.4.7/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_check_beamstop.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/parameters → mx_bluesky-1.4.7/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.4.5/tests/unit_tests/hyperion/utils → mx_bluesky-1.4.7/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/beam_off_trickery.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.4.5 → mx_bluesky-1.4.7}/utility_scripts/strip_metafile.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @DiamondLightSource/developers-mx-daq
|
|
@@ -17,6 +17,23 @@ Contributions and issues are most welcome! All issues and pull requests are hand
|
|
|
17
17
|
|
|
18
18
|
**Work should not be done without an associated ticket describing what the work is**
|
|
19
19
|
|
|
20
|
+
## Developing mx-bluesky and dodal
|
|
21
|
+
|
|
22
|
+
Some issues will span the mx-bluesky repo and the dodal repo. When working on both at the same time, follow these instructions:
|
|
23
|
+
1. An issue is created for the work, inside mx-bluesky. This issue should describe in as much detail as possible the work that needs to be done. Anyone is free to make a ticket and/or comment on one.
|
|
24
|
+
2. If a developer is going to do the work they assign themselves to the issue.
|
|
25
|
+
3. The developer makes a new branch in mx-bluesky with the format `issue_short_description` e.g. `122_create_a_contributing_file`. The developer also creates a new branch in dodal, with the format `mx_bluesky_issue_short_description` - the same as the mx-bluesky branch name but with `mx_bluesky_` in front. (External developers are also welcome to make forks)
|
|
26
|
+
4. The developer does the work on these branches, adding their work in small commits. Commit messages should be informative and prefixed with the issue number e.g. `(#122) Added contributing file`.
|
|
27
|
+
5. Once the developer has done the final commit in both repos, they find the latest commit SHA in the dodal repo using `git log`. In `mx-bluesky/pyproject.toml`, the developer changes `dls-dodal @ git+https://github.com/DiamondLightSource/dodal.git@{dodal_commmit_SHA}` using the SHA they just found.
|
|
28
|
+
6. The developer commits and pushes this final change on mx-bluesky.
|
|
29
|
+
7. The developer submits a dodal PR for the work they have done in the dodal repo. The pull request should start with `Fixes #issue_num` e.g. `Fixes #122`, and should link to the issue created in mx-bluesky. The developer should also add some background on how the reviewer might test the change.
|
|
30
|
+
8. The developer submits a mx-bluesky PR for the work they have done in the mx-bluesky repo. The pull request should start with `Fixes #issue_num` e.g. `Fixes #122`. This PR should link to the dodal PR just created with something like "Also needs #456". Again, the developer should add some background on how the reviewer might test the change.
|
|
31
|
+
9. If the developer has a particular person in mind to review the work they should assign that person to the PRs as a reviewer.
|
|
32
|
+
10. The reviewer and developer go back and forth on the code until the reviewer approves it. (See "Reviewing Work" below)
|
|
33
|
+
11. Once the work is approved on both PRs, the original developer merges them. The PRs should be merged at the same time.
|
|
34
|
+
|
|
35
|
+
**Work should not be done without an associated ticket describing what the work is**
|
|
36
|
+
|
|
20
37
|
## Reviewing Work
|
|
21
38
|
|
|
22
39
|
**Work must be reviewed by another developer before it can be merged**. Remember that work is reviewed for a number of reasons:
|
|
@@ -36,6 +53,8 @@ Developers are welcome to ignore **nit** comments if they wish and can choose no
|
|
|
36
53
|
|
|
37
54
|
For minor changes to code reviewers are welcome to make the changes themselves but in this case the original developer should then recheck what the reviewer has done.
|
|
38
55
|
|
|
56
|
+
When beginning to review a PR, it is recommended to assign the PR to yourself on GitHub so that other developers know that this code is already being reviewed. If you decide you cannot complete the review, remember to unassign yourself from this PR to let others know.
|
|
57
|
+
|
|
39
58
|
## Issue or Discussion?
|
|
40
59
|
|
|
41
60
|
Github also offers [discussions](https://github.com/DiamondLightSource/mx-bluesky/discussions) as a place to ask questions and share ideas. If
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.7
|
|
4
4
|
Summary: Bluesky tools for MX Beamlines at DLS
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -238,8 +238,8 @@ Requires-Dist: blueapi>=0.5.0
|
|
|
238
238
|
Requires-Dist: daq-config-server>=0.1.1
|
|
239
239
|
Requires-Dist: ophyd==1.9.0
|
|
240
240
|
Requires-Dist: ophyd-async>=0.9.0a2
|
|
241
|
-
Requires-Dist: bluesky>=1.13
|
|
242
|
-
Requires-Dist: dls-dodal==1.
|
|
241
|
+
Requires-Dist: bluesky>=1.13.1
|
|
242
|
+
Requires-Dist: dls-dodal==1.44.0
|
|
243
243
|
Provides-Extra: dev
|
|
244
244
|
Requires-Dist: black; extra == "dev"
|
|
245
245
|
Requires-Dist: build; extra == "dev"
|
|
@@ -266,6 +266,7 @@ Requires-Dist: tox-direct; extra == "dev"
|
|
|
266
266
|
Requires-Dist: tox; extra == "dev"
|
|
267
267
|
Requires-Dist: types-mock; extra == "dev"
|
|
268
268
|
Requires-Dist: types-requests; extra == "dev"
|
|
269
|
+
Dynamic: license-file
|
|
269
270
|
|
|
270
271
|
mx-bluesky
|
|
271
272
|
===========================
|
|
@@ -284,7 +285,7 @@ Releases https://github.com/DiamondLightSource/mx-bluesky/releases
|
|
|
284
285
|
Getting Started
|
|
285
286
|
===============
|
|
286
287
|
|
|
287
|
-
To get started with developing this repo at DLS run
|
|
288
|
+
To get started with developing this repo at DLS run ``./utility_scripts/dls_dev_env.sh``.
|
|
288
289
|
|
|
289
290
|
If you want to develop interactively at the beamline we recommend using jupyter notebooks. You can get started with this by running::
|
|
290
291
|
|
|
@@ -15,7 +15,7 @@ Releases https://github.com/DiamondLightSource/mx-bluesky/releases
|
|
|
15
15
|
Getting Started
|
|
16
16
|
===============
|
|
17
17
|
|
|
18
|
-
To get started with developing this repo at DLS run
|
|
18
|
+
To get started with developing this repo at DLS run ``./utility_scripts/dls_dev_env.sh``.
|
|
19
19
|
|
|
20
20
|
If you want to develop interactively at the beamline we recommend using jupyter notebooks. You can get started with this by running::
|
|
21
21
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Callbacks and Run Logic
|
|
2
|
+
========================
|
|
3
|
+
|
|
4
|
+
Callbacks are used to trigger external services:
|
|
5
|
+
|
|
6
|
+
- Ispyb deposition
|
|
7
|
+
- Nexus writing
|
|
8
|
+
- Zocalo triggering
|
|
9
|
+
|
|
10
|
+
These are linked in that to trigger zocalo you need to have made an ispyb deposition, written a nexus file and have finished writing raw data to disk. Nexus files and ispyb depositions can be made at anytime, we do not need to have necessarily finished writing raw data.
|
|
11
|
+
|
|
12
|
+
Currently, the requirement of needing to have written to ispyb is explicit as the ispyb callback will emit to the zocalo callback. The nexus file is written when the hardware is read during a collection and so its ordering is implied. When instantiated the zocalo callback is told on which plan to trigger and it is up to the plan developer to make sure this plan finishes after data is written to the detector.
|
|
13
|
+
|
|
14
|
+
In general, the ordering flow of when callbacks are triggered is controlled by emitting documents with the expected plan name and data.
|
|
15
|
+
|
|
16
|
+
Rotation Scans
|
|
17
|
+
---------------------
|
|
18
|
+
|
|
19
|
+
There are currently two ways of doing rotation scans. A single scan creates one hdf file, one ispyb deposition and then triggers zocalo once. Multi rotation scans create one hdf file for all rotations but then N nexus files, N ispyb depositions and triggers zocalo N times.
|
|
20
|
+
|
|
21
|
+
Single scans will be removed in https://github.com/DiamondLightSource/mx-bluesky/issues/847
|
|
22
|
+
|
|
23
|
+
For multi rotations this is does by starting 1+2*N different runs:
|
|
24
|
+
|
|
25
|
+
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
|
+
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)
|
|
27
|
+
3. ``CONST.PLAN.ROTATION_MAIN``: Emitted N times, inside ``CONST.PLAN.ROTATION_OUTER`` run. Used to finish writing to ispyb (i.e. write success/failure) and to send collection information to zocalo.
|
|
@@ -4,8 +4,8 @@ Get Started with mx-bluesky
|
|
|
4
4
|
Development Environment
|
|
5
5
|
=======================
|
|
6
6
|
|
|
7
|
-
- Clone this repo: ``git@github.com:DiamondLightSource/mx-bluesky.git``
|
|
8
|
-
- To install a ``dev`` environment run ``./
|
|
7
|
+
- Clone this repo using SSH: ``git clone git@github.com:DiamondLightSource/mx-bluesky.git``
|
|
8
|
+
- To install a ``dev`` environment, from the top level ``mx-bluesky`` directory, run ``./utility_scripts/dls_dev_env.sh``. Note that this will also clone and install a local version of ``dodal``, as the ``mx-bluesky`` package makes use of the devices instantiated there.
|
|
9
9
|
|
|
10
10
|
The recommended IDE is vscode, and a workspace which includes dodal has been set up in the repo. This can be used on a DLS machine as follows:
|
|
11
11
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Update the PandA IOC
|
|
2
|
+
=====================
|
|
3
|
+
|
|
4
|
+
The IOC for the PandA can sometimes get out of sync with the production version of Ophyd-Async. Here is how to update it
|
|
5
|
+
|
|
6
|
+
Check if the IOC needs updating
|
|
7
|
+
""""""""""""""""""""""""""""""""
|
|
8
|
+
|
|
9
|
+
- Check the minimum panda IOC version required in the version of ophyd-async used in Hyperion's release version. This can be found in the ``MINIMUM_PANDA_IOC`` constant in `_hdf_panda.py <https://github.com/bluesky/ophyd-async/blob/main/src/ophyd_async/fastcs/panda/_hdf_panda.py>`_
|
|
10
|
+
|
|
11
|
+
- In a terminal:
|
|
12
|
+
|
|
13
|
+
.. code-block:: bash
|
|
14
|
+
|
|
15
|
+
cd /dls_sw/work/R3.14.12.7/ioc/BL03I/BL03I-PY-IOC-02
|
|
16
|
+
source venv/bin/activate
|
|
17
|
+
pip freeze | grep pandablocks-ioc
|
|
18
|
+
|
|
19
|
+
Note that the IOC location will soon be moving to ``prod`` instead of ``work``.
|
|
20
|
+
|
|
21
|
+
- Compare the version from step one
|
|
22
|
+
|
|
23
|
+
Updating the IOC
|
|
24
|
+
""""""""""""""""""""""""""
|
|
25
|
+
|
|
26
|
+
- Update the Python IOC repo in the venv:
|
|
27
|
+
|
|
28
|
+
.. code-block:: bash
|
|
29
|
+
|
|
30
|
+
cd /dls_sw/work/R3.14.12.7/ioc/BL03I/BL03I-PY-IOC-02
|
|
31
|
+
source venv/bin/activate
|
|
32
|
+
pip install --upgrade pandablocks-ioc=={desired version}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
- After making sure the beamline isn't in use, restart the IOC:
|
|
36
|
+
|
|
37
|
+
.. code-block:: bash
|
|
38
|
+
|
|
39
|
+
module load controls-tools
|
|
40
|
+
|
|
41
|
+
console BL03I-PY-IOC-02
|
|
42
|
+
|
|
43
|
+
- Press ``ctrl+x``
|
|
44
|
+
- Disconnect by pressing ``ctrl+e``, then press ``c``, then press ``.``
|
|
@@ -15,7 +15,20 @@ Documentation specific for the Hyperion module within MX-Bluesky
|
|
|
15
15
|
reference/param-hierarchy
|
|
16
16
|
reference/readme
|
|
17
17
|
deploying-hyperion
|
|
18
|
+
system-tests
|
|
18
19
|
|
|
19
20
|
+++
|
|
20
21
|
|
|
21
22
|
Technical reference material on standards in use.
|
|
23
|
+
|
|
24
|
+
.. grid-item-card:: :material-regular:`task;3em`
|
|
25
|
+
|
|
26
|
+
.. toctree::
|
|
27
|
+
:caption: How-to Guides
|
|
28
|
+
:maxdepth: 1
|
|
29
|
+
|
|
30
|
+
how-to/update-panda-ioc
|
|
31
|
+
|
|
32
|
+
+++
|
|
33
|
+
|
|
34
|
+
Practical step-by-step guides for day-to-day dev tasks.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
System Tests
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
The system tests are run by a project hosted in a GitLab private repository, `Hyperion System Testing`_.
|
|
5
|
+
|
|
6
|
+
This contains a ``.gitlab-ci`` pipeline that defines a job that runs the tests.
|
|
7
|
+
|
|
8
|
+
System Test Images
|
|
9
|
+
------------------
|
|
10
|
+
|
|
11
|
+
The system tests require a number of container images to run:
|
|
12
|
+
|
|
13
|
+
* The test runner image
|
|
14
|
+
* An ISPyB MariaDB database server image
|
|
15
|
+
* An ExpEye image
|
|
16
|
+
|
|
17
|
+
It is expected that these images should need to change only infrequently and builds are triggered
|
|
18
|
+
manually as needed - see the Hyperion System Testing project for how to rebuild them and how to trigger the tests.
|
|
19
|
+
|
|
20
|
+
.. _`Hyperion System Testing`: https://gitlab.diamond.ac.uk/MX-GDA/hyperion-system-testing
|
{mx_bluesky-1.4.5/helmchart → mx_bluesky-1.4.7/helmcharts/hyperion}/templates/deployment.yaml
RENAMED
|
@@ -14,13 +14,13 @@ spec:
|
|
|
14
14
|
spec:
|
|
15
15
|
securityContext:
|
|
16
16
|
# gda2
|
|
17
|
-
runAsUser: {{ .Values.
|
|
18
|
-
runAsGroup: {{ .Values.
|
|
19
|
-
supplementalGroups: {{ .Values.
|
|
17
|
+
runAsUser: {{ .Values.application.runAsUser }}
|
|
18
|
+
runAsGroup: {{ .Values.application.runAsGroup }}
|
|
19
|
+
supplementalGroups: {{ .Values.application.supplementalGroups }}
|
|
20
20
|
volumes:
|
|
21
21
|
- name: dls-sw-bl
|
|
22
22
|
hostPath:
|
|
23
|
-
path: "/dls_sw/{{ .Values.
|
|
23
|
+
path: "/dls_sw/{{ .Values.application.beamline }}"
|
|
24
24
|
type: Directory
|
|
25
25
|
- name: dls-sw-apps
|
|
26
26
|
hostPath:
|
|
@@ -33,15 +33,15 @@ spec:
|
|
|
33
33
|
# Bind some source folders for easier debugging
|
|
34
34
|
- name: src
|
|
35
35
|
hostPath:
|
|
36
|
-
path: "{{ .Values.
|
|
36
|
+
path: "{{ .Values.application.projectDir }}/src"
|
|
37
37
|
type: Directory
|
|
38
38
|
- name: tests
|
|
39
39
|
hostPath:
|
|
40
|
-
path: "{{ .Values.
|
|
40
|
+
path: "{{ .Values.application.projectDir }}/tests"
|
|
41
41
|
type: Directory
|
|
42
42
|
- name: utility-scripts
|
|
43
43
|
hostPath:
|
|
44
|
-
path: "{{ .Values.
|
|
44
|
+
path: "{{ .Values.application.projectDir }}/utility_scripts"
|
|
45
45
|
type: Directory
|
|
46
46
|
- name: dodal
|
|
47
47
|
hostPath:
|
|
@@ -50,14 +50,14 @@ spec:
|
|
|
50
50
|
- name: logs
|
|
51
51
|
hostPath:
|
|
52
52
|
type: Directory
|
|
53
|
-
path: "{{ .Values.
|
|
53
|
+
path: "{{ .Values.application.logDir }}"
|
|
54
54
|
- name: data
|
|
55
55
|
hostPath:
|
|
56
56
|
type: Directory
|
|
57
|
-
path: "{{ .Values.
|
|
57
|
+
path: "{{ .Values.application.dataDir }}"
|
|
58
58
|
containers:
|
|
59
59
|
- name: hyperion
|
|
60
|
-
image: {{ .Values.
|
|
60
|
+
image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
|
|
61
61
|
securityContext:
|
|
62
62
|
capabilities:
|
|
63
63
|
# Required for hostNetwork
|
|
@@ -103,29 +103,29 @@ spec:
|
|
|
103
103
|
memory: "1Gi"
|
|
104
104
|
ports:
|
|
105
105
|
- name: hyperion-api
|
|
106
|
-
containerPort: {{ .Values.
|
|
106
|
+
containerPort: {{ .Values.application.containerPort }}
|
|
107
107
|
protocol: TCP
|
|
108
108
|
env:
|
|
109
109
|
- name: LOG_DIR
|
|
110
110
|
value: /var/log/bluesky
|
|
111
111
|
- name: BEAMLINE
|
|
112
|
-
value: "{{ .Values.
|
|
113
|
-
{{- if not .Values.
|
|
112
|
+
value: "{{ .Values.application.beamline }}"
|
|
113
|
+
{{- if not .Values.application.dev }}
|
|
114
114
|
- name: ZOCALO_GO_USER
|
|
115
115
|
value: "gda2"
|
|
116
116
|
- name: ZOCALO_GO_HOSTNAME
|
|
117
|
-
value: "{{ .Values.
|
|
117
|
+
value: "{{ .Values.application.beamline }}-control"
|
|
118
118
|
- name: ZOCALO_CONFIG
|
|
119
119
|
value: "/dls_sw/apps/zocalo/live/configuration.yaml"
|
|
120
120
|
- name: ISPYB_CONFIG_PATH
|
|
121
|
-
value: "/dls_sw/dasc/mariadb/credentials/ispyb-hyperion-{{ .Values.
|
|
121
|
+
value: "/dls_sw/dasc/mariadb/credentials/ispyb-hyperion-{{ .Values.application.beamline }}.cfg"
|
|
122
122
|
{{- end }}
|
|
123
123
|
readinessProbe:
|
|
124
124
|
exec:
|
|
125
125
|
command: [ "/app/hyperion/utility_scripts/docker/healthcheck.sh" ]
|
|
126
126
|
periodSeconds: 5
|
|
127
127
|
volumeMounts:
|
|
128
|
-
- mountPath: "/dls_sw/{{ .Values.
|
|
128
|
+
- mountPath: "/dls_sw/{{ .Values.application.beamline }}"
|
|
129
129
|
name: dls-sw-bl
|
|
130
130
|
readOnly: true
|
|
131
131
|
mountPropagation: HostToContainer
|
|
@@ -147,6 +147,6 @@ spec:
|
|
|
147
147
|
name: dodal
|
|
148
148
|
- mountPath: "/var/log/bluesky"
|
|
149
149
|
name: logs
|
|
150
|
-
- mountPath: "/dls/{{ .Values.
|
|
150
|
+
- mountPath: "/dls/{{ .Values.application.beamline }}/data"
|
|
151
151
|
name: data
|
|
152
152
|
hostNetwork: true
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{{- if not .Values.
|
|
1
|
+
{{- if not .Values.application.dev }}
|
|
2
2
|
apiVersion: networking.k8s.io/v1
|
|
3
3
|
kind: Ingress
|
|
4
4
|
metadata:
|
|
@@ -7,9 +7,9 @@ spec:
|
|
|
7
7
|
ingressClassName: nginx
|
|
8
8
|
tls:
|
|
9
9
|
- hosts:
|
|
10
|
-
- {{ .Values.
|
|
10
|
+
- {{ .Values.application.externalHostname }}
|
|
11
11
|
rules:
|
|
12
|
-
- host: {{ .Values.
|
|
12
|
+
- host: {{ .Values.application.externalHostname }}
|
|
13
13
|
http:
|
|
14
14
|
paths:
|
|
15
15
|
- path: /
|
|
@@ -18,6 +18,6 @@ spec:
|
|
|
18
18
|
service:
|
|
19
19
|
name: hyperion-svc # this must match the name of the service you want to target
|
|
20
20
|
port:
|
|
21
|
-
number: {{ .Values.
|
|
21
|
+
number: {{ .Values.application.containerPort }}
|
|
22
22
|
{{- end }}
|
|
23
23
|
|
|
@@ -3,15 +3,15 @@ kind: Service
|
|
|
3
3
|
metadata:
|
|
4
4
|
name: hyperion-svc
|
|
5
5
|
spec:
|
|
6
|
-
{{- if .Values.
|
|
6
|
+
{{- if .Values.application.dev }}
|
|
7
7
|
type: LoadBalancer
|
|
8
8
|
{{- else }}
|
|
9
9
|
type: ClusterIP
|
|
10
10
|
{{- end }}
|
|
11
11
|
ports:
|
|
12
12
|
- name: hyperion-api
|
|
13
|
-
port: {{ .Values.
|
|
13
|
+
port: {{ .Values.application.servicePort }}
|
|
14
14
|
protocol: TCP
|
|
15
|
-
targetPort: {{ .Values.
|
|
15
|
+
targetPort: {{ .Values.application.containerPort }}
|
|
16
16
|
selector:
|
|
17
17
|
app: hyperion
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
apiVersion: apps/v1
|
|
2
|
+
kind: Deployment
|
|
3
|
+
metadata:
|
|
4
|
+
name: {{ .Values.application.name }}-deployment
|
|
5
|
+
spec:
|
|
6
|
+
selector:
|
|
7
|
+
matchLabels:
|
|
8
|
+
app: {{ .Values.application.name }}
|
|
9
|
+
replicas: 1
|
|
10
|
+
template:
|
|
11
|
+
metadata:
|
|
12
|
+
labels:
|
|
13
|
+
app: {{ .Values.application.name }}
|
|
14
|
+
project: murko
|
|
15
|
+
spec:
|
|
16
|
+
securityContext:
|
|
17
|
+
runAsUser: {{ .Values.application.runAsUser }}
|
|
18
|
+
runAsGroup: {{ .Values.application.runAsGroup }}
|
|
19
|
+
supplementalGroups: {{ .Values.application.supplementalGroups }}
|
|
20
|
+
volumes:
|
|
21
|
+
- name: dls-sw-bl
|
|
22
|
+
hostPath:
|
|
23
|
+
path: "/dls_sw/{{ .Values.application.beamline }}"
|
|
24
|
+
type: Directory
|
|
25
|
+
# Bind some source folders for easier debugging
|
|
26
|
+
- name: src
|
|
27
|
+
hostPath:
|
|
28
|
+
path: "{{ .Values.application.projectDir }}/src"
|
|
29
|
+
type: Directory
|
|
30
|
+
- name: tests
|
|
31
|
+
hostPath:
|
|
32
|
+
path: "{{ .Values.application.projectDir }}/tests"
|
|
33
|
+
type: Directory
|
|
34
|
+
- name: utility-scripts
|
|
35
|
+
hostPath:
|
|
36
|
+
path: "{{ .Values.application.projectDir }}/utility_scripts"
|
|
37
|
+
type: Directory
|
|
38
|
+
- name: dodal
|
|
39
|
+
hostPath:
|
|
40
|
+
path: "{{ .Values.dodal.projectDir | clean }}"
|
|
41
|
+
type: Directory
|
|
42
|
+
containers:
|
|
43
|
+
- name: {{ .Values.application.name }}
|
|
44
|
+
image: {{ .Values.application.imageRepository}}/mx-bluesky:{{ .Values.application.appVersion }}
|
|
45
|
+
command: ["redis_to_murko"]
|
|
46
|
+
resources:
|
|
47
|
+
limits:
|
|
48
|
+
cpu: "1"
|
|
49
|
+
memory: "1Gi"
|
|
50
|
+
env:
|
|
51
|
+
- name: LOG_DIR
|
|
52
|
+
value: /var/log/bluesky
|
|
53
|
+
- name: BEAMLINE
|
|
54
|
+
value: "{{ .Values.application.beamline }}"
|
|
55
|
+
- name: VALKEY_PASSWORD
|
|
56
|
+
valueFrom:
|
|
57
|
+
secretKeyRef:
|
|
58
|
+
name: valkey-secret
|
|
59
|
+
key: requirepass
|
|
60
|
+
volumeMounts:
|
|
61
|
+
- mountPath: "/dls_sw/{{ .Values.application.beamline }}"
|
|
62
|
+
name: dls-sw-bl
|
|
63
|
+
readOnly: true
|
|
64
|
+
mountPropagation: HostToContainer
|
|
65
|
+
- mountPath: "/app/hyperion/src"
|
|
66
|
+
name: src
|
|
67
|
+
- mountPath: "/app/hyperion/tests"
|
|
68
|
+
name: tests
|
|
69
|
+
- mountPath: "/app/hyperion/utility_scripts"
|
|
70
|
+
name: utility-scripts
|
|
71
|
+
- mountPath: "/app/dodal"
|
|
72
|
+
name: dodal
|
|
73
|
+
hostNetwork: false
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
podSecurityContext: {}
|
|
2
|
+
|
|
3
|
+
application:
|
|
4
|
+
name: redis-to-murko
|
|
5
|
+
imageRepository: ghcr.io/diamondlightsource
|
|
6
|
+
beamline: i04
|
|
7
|
+
# i03-hyperion user and group
|
|
8
|
+
runAsUser: 36101
|
|
9
|
+
runAsGroup: 36101
|
|
10
|
+
supplementalGroups: []
|
|
11
|
+
# These should be overridden at install time
|
|
12
|
+
projectDir: SET_ON_INSTALL
|
|
13
|
+
appVersion: SET_ON_INSTALL
|
|
14
|
+
dodal:
|
|
15
|
+
projectDir: SET_ON_INSTALL
|
|
16
|
+
service:
|
|
17
|
+
type: NodePort
|
{mx_bluesky-1.4.5/.github/PULL_REQUEST_TEMPLATE → mx_bluesky-1.4.7}/pull_request_template.md
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Fixes #ISSUE
|
|
2
2
|
|
|
3
3
|
Link to dodal PR (if required): #XXX
|
|
4
|
-
(remember to update `
|
|
4
|
+
(remember to update `pyproject.toml` with the dodal commit tag if you need it for tests to pass!)
|
|
5
5
|
|
|
6
6
|
### Instructions to reviewer on how to test:
|
|
7
7
|
|
|
@@ -45,8 +45,8 @@ dependencies = [
|
|
|
45
45
|
"daq-config-server >= 0.1.1",
|
|
46
46
|
"ophyd == 1.9.0",
|
|
47
47
|
"ophyd-async >= 0.9.0a2",
|
|
48
|
-
"bluesky >= 1.13",
|
|
49
|
-
"dls-dodal == 1.
|
|
48
|
+
"bluesky >= 1.13.1",
|
|
49
|
+
"dls-dodal == 1.44.0",
|
|
50
50
|
]
|
|
51
51
|
|
|
52
52
|
|
|
@@ -94,6 +94,7 @@ hyperion = "mx_bluesky.hyperion.__main__:main"
|
|
|
94
94
|
hyperion-callbacks = "mx_bluesky.hyperion.external_interaction.callbacks.__main__:main"
|
|
95
95
|
hyperion-generate-test-nexus = "mx_bluesky.hyperion.utils.validation:generate_test_nexus"
|
|
96
96
|
hyperion-populate-test-and-meta-files = "mx_bluesky.hyperion.utils.validation:copy_test_meta_data_files"
|
|
97
|
+
redis_to_murko = "mx_bluesky.beamlines.i04.redis_to_murko_forwarder:main"
|
|
97
98
|
|
|
98
99
|
[project.urls]
|
|
99
100
|
GitHub = "https://github.com/DiamondLightSource/mx-bluesky"
|
|
@@ -119,6 +120,7 @@ markers = [
|
|
|
119
120
|
"dlstbx: marks tests as requiring dlstbx (deselect with '-m \"not dlstbx\"')",
|
|
120
121
|
"skip_log_setup: marks tests so that loggers are not setup before the test.",
|
|
121
122
|
"skip_in_pycharm: marks test as not working in pycharm testrunner",
|
|
123
|
+
"system_test: marks tests as a system test",
|
|
122
124
|
]
|
|
123
125
|
addopts = """
|
|
124
126
|
--tb=native -vv --doctest-modules --doctest-glob="*.rst" --durations=10
|
|
@@ -128,6 +130,8 @@ filterwarnings = [
|
|
|
128
130
|
"error",
|
|
129
131
|
# Ignore deprecation warning from sqlalchemy
|
|
130
132
|
"ignore::sqlalchemy.exc.MovedIn20Warning",
|
|
133
|
+
# Remove when there's a fix for https://github.com/DiamondLightSource/ispyb-api/issues/233
|
|
134
|
+
"ignore::sqlalchemy.exc.SADeprecationWarning",
|
|
131
135
|
# Ignore deprecation warning from setuptools_dso (remove when https://github.com/epics-base/setuptools_dso/issues/36 is released)
|
|
132
136
|
"ignore::DeprecationWarning:wheel",
|
|
133
137
|
# Ophyd status objects in tests
|
|
@@ -147,6 +151,11 @@ filterwarnings = [
|
|
|
147
151
|
"ignore:.*custom tp_new.*:DeprecationWarning",
|
|
148
152
|
# Ignore warning about deprecated throw() call https://github.com/bluesky/bluesky/issues/1817
|
|
149
153
|
"ignore:.*signature of throw\\(\\) is deprecated.*:DeprecationWarning",
|
|
154
|
+
# Ignore warning about deprecations in python-workflows encountered during system tests
|
|
155
|
+
# https://github.com/DiamondLightSource/python-workflows/issues/188
|
|
156
|
+
"ignore:.*`Field` should not be instantiated.*:marshmallow.warnings.ChangedInMarshmallow4Warning",
|
|
157
|
+
# https://github.com/bluesky/ophyd-async/issues/838 and https://github.com/seperman/deepdiff/issues/536
|
|
158
|
+
"ignore:Accessing this attribute on the instance is deprecated",
|
|
150
159
|
]
|
|
151
160
|
# Doctest python code in docs, python code in src docstrings, test functions in tests
|
|
152
161
|
testpaths = "docs src tests/unit_tests"
|
|
@@ -165,10 +174,12 @@ legacy_tox_ini = """
|
|
|
165
174
|
[tox]
|
|
166
175
|
skipsdist=True
|
|
167
176
|
|
|
168
|
-
[testenv:{pre-commit,type-checking,tests,docs}]
|
|
177
|
+
[testenv:{pre-commit,type-checking,tests,docs,systemtests}]
|
|
169
178
|
# Don't create a virtualenv for the command, requires tox-direct plugin
|
|
170
179
|
direct = True
|
|
171
180
|
passenv = *
|
|
181
|
+
setenv =
|
|
182
|
+
systemtests: DODAL_TEST_MODE=true
|
|
172
183
|
allowlist_externals =
|
|
173
184
|
pytest
|
|
174
185
|
pre-commit
|
|
@@ -180,6 +191,7 @@ commands =
|
|
|
180
191
|
type-checking: pyright src tests {posargs}
|
|
181
192
|
tests: pytest --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml {posargs}
|
|
182
193
|
docs: sphinx-{posargs:build -EW --keep-going} -T docs build/html
|
|
194
|
+
systemtests: pytest --junit-xml=systemtests_output.xml -m system_test tests/system_tests
|
|
183
195
|
commands_pre =
|
|
184
196
|
docs: /usr/bin/bash -c "{toxinidir}/utility_scripts/generate_plantuml.py > \
|
|
185
197
|
docs/developer/hyperion/reference/param_hierarchy.puml"
|
|
@@ -189,14 +201,17 @@ commands_pre =
|
|
|
189
201
|
src = ["src", "tests"]
|
|
190
202
|
line-length = 88
|
|
191
203
|
lint.select = [
|
|
192
|
-
"B",
|
|
193
|
-
"C4",
|
|
194
|
-
"E",
|
|
195
|
-
"F",
|
|
196
|
-
"W",
|
|
197
|
-
"I",
|
|
198
|
-
"UP",
|
|
199
|
-
"SLF",
|
|
204
|
+
"B", # flake8-bugbear - https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
|
|
205
|
+
"C4", # flake8-comprehensions - https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
|
|
206
|
+
"E", # pycodestyle errors - https://docs.astral.sh/ruff/rules/#error-e
|
|
207
|
+
"F", # pyflakes rules - https://docs.astral.sh/ruff/rules/#pyflakes-f
|
|
208
|
+
"W", # pycodestyle warnings - https://docs.astral.sh/ruff/rules/#warning-w
|
|
209
|
+
"I", # isort - https://docs.astral.sh/ruff/rules/#isort-i
|
|
210
|
+
"UP", # pyupgrade - https://docs.astral.sh/ruff/rules/#pyupgrade-up
|
|
211
|
+
"SLF", # self - https://docs.astral.sh/ruff/settings/#lintflake8-self
|
|
212
|
+
"PT012", # flake8-pytest-style rules - https://docs.astral.sh/ruff/rules/pytest-raises-with-multiple-statements/#pytest-raises-with-multiple-statements-pt012
|
|
213
|
+
"RUF018", # walrus operators in asserts - https://docs.astral.sh/ruff/rules/assignment-in-assert/
|
|
214
|
+
"TID251", # banned api - https://docs.astral.sh/ruff/rules/banned-api/
|
|
200
215
|
]
|
|
201
216
|
lint.extend-ignore = [
|
|
202
217
|
"E501", # Line too long
|
|
@@ -205,8 +220,11 @@ lint.extend-ignore = [
|
|
|
205
220
|
[tool.ruff.lint.per-file-ignores]
|
|
206
221
|
# By default, private member access is allowed in tests
|
|
207
222
|
# See https://github.com/DiamondLightSource/python-copier-template/issues/154
|
|
208
|
-
# Remove this line to forbid private member access in tests
|
|
209
|
-
"tests/**/*" = ["SLF001", "B023"]
|
|
223
|
+
# Remove this line to forbid private member access, walrys operators in asserts, banned api in tests
|
|
224
|
+
"tests/**/*" = ["SLF001", "B023", "RUF018", "TID251"]
|
|
225
|
+
|
|
226
|
+
[tool.ruff.lint.flake8-tidy-imports.banned-api]
|
|
227
|
+
"time.sleep".msg = "Use bps.sleep instead. # noqa will disable this rule for that line. See https://github.com/DiamondLightSource/mx-bluesky/issues/925"
|
|
210
228
|
|
|
211
229
|
[tool.mypy]
|
|
212
230
|
plugins = ["pydantic.mypy"]
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '1.4.
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 4,
|
|
20
|
+
__version__ = version = '1.4.7'
|
|
21
|
+
__version_tuple__ = version_tuple = (1, 4, 7)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from mx_bluesky.beamlines.aithre_lasershaping.check_goniometer_performance import (
|
|
2
|
+
check_omega_performance,
|
|
3
|
+
)
|
|
4
|
+
from mx_bluesky.beamlines.aithre_lasershaping.goniometer_controls import (
|
|
5
|
+
change_goniometer_turn_speed,
|
|
6
|
+
rotate_goniometer_relative,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"check_omega_performance",
|
|
11
|
+
"change_goniometer_turn_speed",
|
|
12
|
+
"rotate_goniometer_relative",
|
|
13
|
+
]
|