mx-bluesky 1.5.15__tar.gz → 1.6.3__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.15 → mx_bluesky-1.6.3}/.copier-answers.yml +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.devcontainer/devcontainer.json +36 -10
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/CONTRIBUTING.md +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_container.yml +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_dist.yml +7 -6
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_docs.yml +4 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_helm.yml +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_pypi.yml +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_release.yml +2 -2
- mx_bluesky-1.6.3/.github/workflows/_test.yml +45 -0
- mx_bluesky-1.6.3/.github/workflows/_tox.yml +28 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/ci.yml +6 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/periodic.yml +1 -1
- mx_bluesky-1.6.3/.gitleaks.toml +19 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.pre-commit-config.yaml +27 -1
- mx_bluesky-1.6.3/Dockerfile +71 -0
- mx_bluesky-1.6.3/Dockerfile.blueapi +24 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/PKG-INFO +3 -31
- mx_bluesky-1.6.3/collection_info.json +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/tutorials/profile-tests.rst +3 -3
- mx_bluesky-1.6.3/docs/developer/hyperion/hyperion-blueapi.rst +65 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/index.rst +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/templates/zocalo-config.yaml +0 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/pyproject.toml +135 -48
- mx_bluesky-1.6.3/renovate.json +41 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/run_hyperion.sh +62 -22
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/Getting started.ipynb +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/_version.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/__init__.py +4 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +18 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +5 -4
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +329 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +5 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/thawing_plan.py +3 -2
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/__init__.py +13 -0
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/callbacks/metadata_writer.py +86 -0
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/composites.py +35 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/do_darks.py +19 -20
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans/rotation_scan_plan.py +292 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_external_acquisition.py +4 -9
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/do_internal_acquisition.py +4 -5
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/plan_utils.py +15 -19
- mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/parameters/constants.py +9 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/dcid.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_extruder_collect_py3v2.py +7 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_collect_py3v1.py +7 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_manager_py3v1.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +5 -5
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +7 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/oav_plans.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +2 -24
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/setup_zebra_and_shutter.py +5 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +2 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/pin_tip_centring_plan.py +2 -2
- mx_bluesky-1.6.3/src/mx_bluesky/common/experiment_plans/rotation/rotation_utils.py +127 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +13 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/parameters/components.py +17 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/parameters/constants.py +6 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/hyperion → mx_bluesky-1.6.3/src/mx_bluesky/common}/parameters/rotation.py +10 -8
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/preprocessors/preprocessors.py +98 -36
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/__main__.py +55 -22
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/baton_handler.py +24 -64
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/blueapi_config.yaml +17 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/blueapi_dev_config.yaml +16 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/blueapi_plans/__init__.py +96 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +9 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +2 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +17 -6
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +2 -5
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +14 -128
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +4 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/udc_default_state.py +19 -6
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +3 -8
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +121 -47
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +6 -3
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/external_interaction/callbacks/stomp/dispatcher.py +33 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/in_process_runner.py +132 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/parameters/cli.py +96 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/parameters/components.py +23 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/constants.py +2 -9
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/device_composites.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +3 -1
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/plan_runner.py +86 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/plan_runner_api.py +3 -4
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/supervisor/__init__.py +3 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/supervisor/_supervisor.py +116 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/supervisor/client_config.yaml +6 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/supervisor/supervisor_config.yaml +10 -0
- mx_bluesky-1.6.3/src/mx_bluesky/hyperion/supervisor/supervisor_dev_config.yaml +9 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/PKG-INFO +3 -31
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/SOURCES.txt +52 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/requires.txt +2 -31
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/conftest.py +71 -76
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/conftest.py +0 -4
- mx_bluesky-1.6.3/tests/system_tests/hyperion/external_interaction/callbacks/stomp_callback_wrapper/__main__.py +70 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +118 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/conftest.py +20 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +6 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +3 -1
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/client_config.yaml +7 -0
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/dummy_devices.py +4 -0
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/dummy_plans.py +35 -0
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/supervisor_config.yaml +18 -0
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/system_test_blueapi.yaml +20 -0
- mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor/test_supervisor.py +245 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/test_main_udc.py +1 -1
- mx_bluesky-1.6.3/tests/test_data/hyperion_blueapi/move_to_udc_default_state.json +5 -0
- mx_bluesky-1.6.3/tests/test_data/hyperion_blueapi/robot_unload.json +7 -0
- mx_bluesky-1.6.3/tests/test_data/hyperion_blueapi/test_load_centre_collect.json +56 -0
- mx_bluesky-1.6.3/tests/test_data/stomp_callback_test_config.yaml +11 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +24 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i04/conftest.py +1 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +19 -65
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i04/test_oav_imaging.py +917 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i04/test_thawing.py +62 -22
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/callbacks/test_metadata_writer.py +117 -0
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/conftest.py +57 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans/test_do_darks.py +8 -22
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_external_acquisition.py +10 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_do_internal_acquisition.py +10 -3
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_plan_utils.py +90 -0
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_data/test_good_rotation_params.json +13 -0
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_do_darks.py +113 -0
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_rotation_scan.py +260 -0
- mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/utils.py +11 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/conftest.py +37 -37
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +20 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +13 -10
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +4 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +3 -3
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +3 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +11 -21
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/device_setup_plans/test_setup_zebra_and_shutter.py +5 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +22 -14
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +9 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_pin_tip_centring.py +2 -3
- mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/callbacks/common/test_ispyb_callback_base.py +60 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +2 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/preprocessors/test_preprocessors.py +110 -14
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/conftest.py +43 -17
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/conftest.py +4 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +4 -12
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/conftest.py +9 -83
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +2 -6
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +6 -7
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +5 -12
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +101 -16
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +3 -56
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +14 -14
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_udc_default_state.py +31 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +3 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/__init__.py +0 -0
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +1 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +77 -11
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +3 -1
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/conftest.py +3 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +3 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/stomp/__init__.py +0 -0
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/external_interaction/stomp/test_dispatcher.py +49 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +2 -2
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +3 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +3 -1
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/supervisor/__init__.py +0 -0
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/supervisor/test_supervisor.py +284 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_baton_handler.py +70 -37
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/test_blueapi_plans.py +73 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_main_system.py +82 -14
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_plan_runner.py +5 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_plan_runner_api.py +2 -2
- mx_bluesky-1.6.3/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/deploy/deploy_mx_bluesky.py +7 -20
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +4 -4
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/dls_dev_env.sh +8 -13
- mx_bluesky-1.6.3/utility_scripts/generate_plantuml.py +127 -0
- mx_bluesky-1.6.3/uv.lock +4648 -0
- mx_bluesky-1.5.15/.devcontainer/Dockerfile +0 -37
- mx_bluesky-1.5.15/.github/actions/install_requirements/action.yml +0 -35
- mx_bluesky-1.5.15/.github/dependabot.yml +0 -26
- mx_bluesky-1.5.15/.github/workflows/_test.yml +0 -64
- mx_bluesky-1.5.15/.github/workflows/_tox.yml +0 -22
- mx_bluesky-1.5.15/Dockerfile +0 -55
- mx_bluesky-1.5.15/Dockerfile.blueapi +0 -18
- mx_bluesky-1.5.15/src/mx_bluesky/beamlines/i04/oav_centering_plans/oav_imaging.py +0 -115
- mx_bluesky-1.5.15/src/mx_bluesky/hyperion/parameters/cli.py +0 -57
- mx_bluesky-1.5.15/src/mx_bluesky/hyperion/parameters/components.py +0 -10
- mx_bluesky-1.5.15/src/mx_bluesky/hyperion/plan_runner.py +0 -107
- mx_bluesky-1.5.15/tests/unit_tests/beamlines/i04/test_oav_imaging.py +0 -253
- mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs/test_plan_utils.py +0 -60
- mx_bluesky-1.5.15/utility_scripts/generate_plantuml.py +0 -95
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.coveragerc +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.dockerignore +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/pages/index.html +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/release.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_debug_container.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.github/workflows/_label.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.gitignore +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/launch.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/mx-bluesky-dev-container.code-workspace +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/settings.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/Dockerfile.hyperion +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/LICENSE +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/README.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/catalog-info.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/codecov.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/conftest.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/_api.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/conf.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/get-started.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/how-to/setup-blueapi-for-mx.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/baton.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/gda-baton.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/murko-integration/explanations/DrawioImages.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/motor coordinate systems.odg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/motor-coords-omega-0.svg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/images/motor-coords-omega-alpha.svg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/alerts.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/concurrent_operations.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/concurrent_operations_rotation.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/concurrent_operations_set_energy.puml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/install.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/operations.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/advanced/pvs.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/configuration.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/index.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/logging.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/running.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/docs/user/hyperion/troubleshooting.rst +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/hyperion/values.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/mx-bluesky-blueapi/values.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/helm/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/pull_request_template.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/setup.cfg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/experiment_plans/robot_load_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/constants.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/parameters/robot_load_parameters.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/pin_tip_centring.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/aithre_lasershaping/robot_load.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i02_1/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/oav_centering_plans/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i04/parameters/constants.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_stubs/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_chip_startup_py3v1.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/device_setup_plans → mx_bluesky-1.6.3/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/experiment_plans/inner_plans → mx_bluesky-1.6.3/src/mx_bluesky/common}/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction → mx_bluesky-1.6.3/src/mx_bluesky/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/gonio.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/beamstop_check.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.6.3/src/mx_bluesky/common/experiment_plans/inner_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.6.3/src/mx_bluesky/common/experiment_plans/rotation}/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/parameters → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/preprocessors → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/protocols → mx_bluesky-1.6.3/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/common/utils → mx_bluesky-1.6.3/src/mx_bluesky/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/parameters/device_composites.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.6.3/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/hyperion/external_interaction/alerting → mx_bluesky-1.6.3/src/mx_bluesky/common/protocols}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions → mx_bluesky-1.6.3/src/mx_bluesky/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/utils/log.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.6.3/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.15/src/mx_bluesky/phase1_zebra/device_setup_plans → mx_bluesky-1.6.3/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.15/tests → mx_bluesky-1.6.3/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.15/tests/system_tests → mx_bluesky-1.6.3/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.5.15/tests/system_tests/common/device_setup_plans → mx_bluesky-1.6.3/src/mx_bluesky/hyperion/external_interaction/callbacks/stomp}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/runner.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/hyperion/utils/context.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/system_tests/hyperion → mx_bluesky-1.6.3/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/start_jupyter.sh +0 -0
- {mx_bluesky-1.5.15/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.6.3/tests}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/expeye_helpers.py +0 -0
- {mx_bluesky-1.5.15/tests/system_tests/hyperion/external_interaction/alerting → mx_bluesky-1.6.3/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.6.3/tests/system_tests/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests → mx_bluesky-1.6.3/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines → mx_bluesky-1.6.3/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/aithre_lasershaping → mx_bluesky-1.6.3/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i04 → mx_bluesky-1.6.3/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i04/callbacks → mx_bluesky-1.6.3/tests/system_tests/hyperion/external_interaction/callbacks/stomp_callback_wrapper}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i23 → mx_bluesky-1.6.3/tests/system_tests/hyperion/supervisor}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/agamemnon/example_native.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/agamemnon/example_wait.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_domain_properties +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_domain_properties_with_panda +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24 → mx_bluesky-1.6.3/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/jungfrau_commissioning → mx_bluesky-1.6.3/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans → mx_bluesky-1.6.3/tests/unit_tests/beamlines/aithre_lasershaping}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_aithre_pin_tip_centre.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/aithre_lasershaping/test_robot_load.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i04}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i04/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i23}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial/parameters → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/jungfrau_commissioning/plan_stubs}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/device_setup_plans → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/experiment_plans → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/alerting/alerting → mx_bluesky-1.6.3/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/beamlines/i24/serial/web_gui/test_oav_plans.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.6.3/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.6.3/tests/unit_tests/common/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.6.3/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.6.3/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_beamstop_check.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/external_interaction/nexus → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/parameters → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/preprocessors → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/common/utils → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/experiment_plans/common → mx_bluesky-1.6.3/tests/unit_tests/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.6.3/tests/unit_tests/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/parameters/test_components.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/parameters/test_constants.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.6.3/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load → mx_bluesky-1.6.3/tests/unit_tests/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/common/utils/test_utils.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.6.3/tests/unit_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.6.3/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/parameters → mx_bluesky-1.6.3/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.15/tests/unit_tests/hyperion/utils → mx_bluesky-1.6.3/tests/unit_tests/hyperion/experiment_plans/common}/__init__.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_runner.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/t01.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/request_baton.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.5.15 → mx_bluesky-1.6.3}/utility_scripts/strip_metafile.py +0 -0
|
@@ -7,13 +7,29 @@
|
|
|
7
7
|
},
|
|
8
8
|
"remoteEnv": {
|
|
9
9
|
// Allow X11 apps to run inside the container
|
|
10
|
-
"DISPLAY": "${localEnv:DISPLAY}"
|
|
10
|
+
"DISPLAY": "${localEnv:DISPLAY}",
|
|
11
|
+
// Put things that allow it in the persistent cache
|
|
12
|
+
"PRE_COMMIT_HOME": "/cache/pre-commit",
|
|
13
|
+
"UV_CACHE_DIR": "/cache/uv",
|
|
14
|
+
"UV_PYTHON_CACHE_DIR": "/cache/uv-python",
|
|
15
|
+
// Make a venv that is specific for this workspace path as the cache is shared
|
|
16
|
+
"UV_PROJECT_ENVIRONMENT": "/cache/venv-for${localWorkspaceFolder}",
|
|
17
|
+
// Do the equivalent of "activate" the venv so we don't have to "uv run" everything
|
|
18
|
+
"VIRTUAL_ENV": "/cache/venv-for${localWorkspaceFolder}",
|
|
19
|
+
"PATH": "/cache/venv-for${localWorkspaceFolder}/bin:${containerEnv:PATH}"
|
|
11
20
|
},
|
|
12
21
|
"customizations": {
|
|
13
22
|
"vscode": {
|
|
14
23
|
// Set *default* container specific settings.json values on container create.
|
|
15
24
|
"settings": {
|
|
16
|
-
|
|
25
|
+
// Use the container's python by default
|
|
26
|
+
"python.defaultInterpreterPath": "/cache/venv-for${localWorkspaceFolder}/bin/python",
|
|
27
|
+
// Don't activate the venv as it is already in the PATH
|
|
28
|
+
"python.terminal.activateEnvInCurrentTerminal": false,
|
|
29
|
+
"python.terminal.activateEnvironment": false,
|
|
30
|
+
// Workaround to prevent garbled python REPL in the terminal
|
|
31
|
+
// https://github.com/microsoft/vscode-python/issues/25505
|
|
32
|
+
"python.terminal.shellIntegration.enabled": false
|
|
17
33
|
},
|
|
18
34
|
// Add the IDs of extensions you want installed when the container is created.
|
|
19
35
|
"extensions": [
|
|
@@ -53,23 +69,33 @@
|
|
|
53
69
|
"python.analysis.typeCheckingMode": "basic"
|
|
54
70
|
}
|
|
55
71
|
},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"ghcr.io/diamondlightsource/devcontainer-features/bash-config:1": {}
|
|
59
|
-
},
|
|
60
|
-
// Create the config folder for the bash-config feature
|
|
61
|
-
"initializeCommand": "mkdir -p ${localEnv:HOME}/.config/bash-config",
|
|
72
|
+
// Create the config folder for the bash-config feature and uv cache
|
|
73
|
+
"initializeCommand": "mkdir -p ${localEnv:HOME}/.config/terminal-config",
|
|
62
74
|
"runArgs": [
|
|
63
75
|
// Allow the container to access the host X11 display and EPICS CA
|
|
64
76
|
"--net=host",
|
|
65
77
|
// Make sure SELinux does not disable with access to host filesystems like tmp
|
|
66
78
|
"--security-opt=label=disable"
|
|
67
79
|
],
|
|
80
|
+
"mounts": [
|
|
81
|
+
// Mount in the user terminal config folder so it can be edited
|
|
82
|
+
{
|
|
83
|
+
"source": "${localEnv:HOME}/.config/terminal-config",
|
|
84
|
+
"target": "/user-terminal-config",
|
|
85
|
+
"type": "bind"
|
|
86
|
+
},
|
|
87
|
+
// Keep a persistent cross container cache for uv, pre-commit, and the venvs
|
|
88
|
+
{
|
|
89
|
+
"source": "devcontainer-shared-cache",
|
|
90
|
+
"target": "/cache",
|
|
91
|
+
"type": "volume"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
68
94
|
// Mount the parent as /workspaces so we can pip install peers as editable
|
|
69
95
|
"workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
|
|
70
96
|
"mounts": [
|
|
71
97
|
"source=/dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/,target=/dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/,type=bind,consistency=cached"
|
|
72
98
|
],
|
|
73
|
-
// After the container is created,
|
|
74
|
-
"postCreateCommand": "
|
|
99
|
+
// After the container is created, recreate the venv then make pre-commit first run faster
|
|
100
|
+
"postCreateCommand": "uv venv --clear && uv sync && pre-commit install --install-hooks"
|
|
75
101
|
}
|
|
@@ -73,4 +73,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua
|
|
|
73
73
|
|
|
74
74
|
This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
|
|
75
75
|
|
|
76
|
-
For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/
|
|
76
|
+
For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/5.0.1/how-to.html).
|
|
@@ -7,15 +7,18 @@ jobs:
|
|
|
7
7
|
|
|
8
8
|
steps:
|
|
9
9
|
- name: Checkout
|
|
10
|
-
uses: actions/checkout@
|
|
10
|
+
uses: actions/checkout@v5
|
|
11
11
|
with:
|
|
12
12
|
# Need this to get version number from last tag
|
|
13
13
|
fetch-depth: 0
|
|
14
14
|
|
|
15
|
+
- name: Install uv
|
|
16
|
+
uses: astral-sh/setup-uv@v7
|
|
17
|
+
|
|
15
18
|
- name: Build sdist and wheel
|
|
16
19
|
run: >
|
|
17
20
|
export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) &&
|
|
18
|
-
|
|
21
|
+
uvx --from build pyproject-build
|
|
19
22
|
|
|
20
23
|
- name: Upload sdist and wheel as artifacts
|
|
21
24
|
uses: actions/upload-artifact@v4
|
|
@@ -24,12 +27,10 @@ jobs:
|
|
|
24
27
|
path: dist
|
|
25
28
|
|
|
26
29
|
- name: Check for packaging errors
|
|
27
|
-
run:
|
|
30
|
+
run: uvx twine check --strict dist/*
|
|
28
31
|
|
|
29
32
|
- name: Install produced wheel
|
|
30
|
-
|
|
31
|
-
with:
|
|
32
|
-
pip-install: dist/*.whl
|
|
33
|
+
run: python -m pip install dist/*.whl
|
|
33
34
|
|
|
34
35
|
- name: Test module --version works using the installed wheel
|
|
35
36
|
# If more than one module in src/ replace with module name to test
|
|
@@ -12,7 +12,7 @@ jobs:
|
|
|
12
12
|
run: sleep 60
|
|
13
13
|
|
|
14
14
|
- name: Checkout
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v5
|
|
16
16
|
with:
|
|
17
17
|
# Need this to get version number from last tag
|
|
18
18
|
fetch-depth: 0
|
|
@@ -20,11 +20,11 @@ jobs:
|
|
|
20
20
|
- name: Install system packages
|
|
21
21
|
run: sudo apt-get install graphviz
|
|
22
22
|
|
|
23
|
-
- name: Install
|
|
24
|
-
uses:
|
|
23
|
+
- name: Install uv
|
|
24
|
+
uses: astral-sh/setup-uv@v7
|
|
25
25
|
|
|
26
26
|
- name: Build docs
|
|
27
|
-
run: tox -e docs
|
|
27
|
+
run: uv run --locked tox -e docs
|
|
28
28
|
|
|
29
29
|
- name: Remove environment.pickle
|
|
30
30
|
run: rm build/html/.doctrees/environment.pickle
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
- name: Helm login to GHCR
|
|
20
20
|
if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }}
|
|
21
21
|
run: |
|
|
22
|
-
echo ${{ secrets.GITHUB_TOKEN }} | helm registry login ghcr.io
|
|
22
|
+
echo ${{ secrets.GITHUB_TOKEN }} | helm registry login ghcr.io --username DiamondLightSource --password-stdin
|
|
23
23
|
|
|
24
24
|
- name: Get version from Git tag
|
|
25
25
|
id: meta
|
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
|
|
8
8
|
steps:
|
|
9
9
|
- name: Download artifacts
|
|
10
|
-
uses: actions/download-artifact@
|
|
10
|
+
uses: actions/download-artifact@v5
|
|
11
11
|
with:
|
|
12
12
|
merge-multiple: true
|
|
13
13
|
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
- name: Create GitHub Release
|
|
24
24
|
# We pin to the SHA, not the tag, for security reasons.
|
|
25
25
|
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
|
|
26
|
-
uses: softprops/action-gh-release@
|
|
26
|
+
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
|
|
27
27
|
with:
|
|
28
28
|
prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
|
|
29
29
|
files: "*"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
inputs:
|
|
4
|
+
python-version:
|
|
5
|
+
type: string
|
|
6
|
+
description: The version of python to install, default is from .python-version file
|
|
7
|
+
default: ""
|
|
8
|
+
runs-on:
|
|
9
|
+
type: string
|
|
10
|
+
description: The runner to run this job on
|
|
11
|
+
required: true
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
# https://github.com/pytest-dev/pytest/issues/2042
|
|
15
|
+
PY_IGNORE_IMPORTMISMATCH: "1"
|
|
16
|
+
UV_PYTHON: ${{ inputs.python-version }}
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
run:
|
|
20
|
+
runs-on: ${{ inputs.runs-on }}
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@v5
|
|
25
|
+
with:
|
|
26
|
+
# Need this to get version number from last tag
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- name: Install uv
|
|
30
|
+
uses: astral-sh/setup-uv@v7
|
|
31
|
+
|
|
32
|
+
- name: Run tests
|
|
33
|
+
# Longer timeout for CI due to likelihood of cold caches,
|
|
34
|
+
# cloud infra hw contention etc.
|
|
35
|
+
run: uv run --locked tox -e tests -- -m "not dlstbx" --timeout=2 --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml
|
|
36
|
+
|
|
37
|
+
- name: Print dependency versions
|
|
38
|
+
if: always()
|
|
39
|
+
run: uv pip list
|
|
40
|
+
|
|
41
|
+
- name: Upload coverage to Codecov
|
|
42
|
+
uses: codecov/codecov-action@v5
|
|
43
|
+
with:
|
|
44
|
+
name: ${{ inputs.python-version }}/${{ inputs.runs-on }}
|
|
45
|
+
files: cov.xml
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
inputs:
|
|
4
|
+
tox:
|
|
5
|
+
type: string
|
|
6
|
+
description: What to run under tox
|
|
7
|
+
required: true
|
|
8
|
+
skip_hooks:
|
|
9
|
+
description: "Comma-separated pre-commit hook IDs to skip"
|
|
10
|
+
required: false
|
|
11
|
+
type: string
|
|
12
|
+
default: "" # important so the context always exists
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
run:
|
|
16
|
+
runs-on: "ubuntu-latest"
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v5
|
|
21
|
+
|
|
22
|
+
- name: Install uv
|
|
23
|
+
uses: astral-sh/setup-uv@v7
|
|
24
|
+
|
|
25
|
+
- name: Run tox
|
|
26
|
+
env:
|
|
27
|
+
SKIP: ${{ inputs.skip_hooks }}
|
|
28
|
+
run: uv run --locked tox -e ${{ inputs.tox }}
|
|
@@ -5,11 +5,10 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
7
|
tags:
|
|
8
|
-
-
|
|
8
|
+
- "*"
|
|
9
9
|
pull_request:
|
|
10
10
|
|
|
11
11
|
jobs:
|
|
12
|
-
|
|
13
12
|
require-label:
|
|
14
13
|
if: github.event_name == 'pull_request'
|
|
15
14
|
uses: ./.github/workflows/_label.yml
|
|
@@ -18,23 +17,18 @@ jobs:
|
|
|
18
17
|
uses: ./.github/workflows/_tox.yml
|
|
19
18
|
with:
|
|
20
19
|
tox: pre-commit,type-checking
|
|
20
|
+
skip_hooks: local-install-dodal
|
|
21
21
|
|
|
22
22
|
test:
|
|
23
23
|
strategy:
|
|
24
24
|
matrix:
|
|
25
25
|
runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
|
|
26
26
|
python-version: ["3.11", "3.12", "3.13"]
|
|
27
|
-
include:
|
|
28
|
-
# Include one that runs in the dev environment
|
|
29
|
-
- runs-on: "ubuntu-latest"
|
|
30
|
-
python-version: "dev"
|
|
31
27
|
fail-fast: false
|
|
32
28
|
uses: ./.github/workflows/_test.yml
|
|
33
29
|
with:
|
|
34
30
|
runs-on: ${{ matrix.runs-on }}
|
|
35
31
|
python-version: ${{ matrix.python-version }}
|
|
36
|
-
secrets:
|
|
37
|
-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
38
32
|
|
|
39
33
|
container:
|
|
40
34
|
needs: test
|
|
@@ -65,18 +59,19 @@ jobs:
|
|
|
65
59
|
|
|
66
60
|
docs:
|
|
67
61
|
uses: ./.github/workflows/_docs.yml
|
|
68
|
-
|
|
62
|
+
permissions:
|
|
63
|
+
contents: write
|
|
69
64
|
|
|
70
65
|
dist:
|
|
71
66
|
uses: ./.github/workflows/_dist.yml
|
|
72
|
-
|
|
67
|
+
|
|
73
68
|
pypi:
|
|
74
69
|
needs: [dist, test]
|
|
75
70
|
if: github.ref_type == 'tag'
|
|
76
71
|
uses: ./.github/workflows/_pypi.yml
|
|
77
72
|
permissions:
|
|
78
73
|
id-token: write
|
|
79
|
-
|
|
74
|
+
|
|
80
75
|
release:
|
|
81
76
|
needs: [dist, test, docs]
|
|
82
77
|
if: github.ref_type == 'tag'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This allow-list is limited to YAML/YML files to cut down SealedSecrets false positives.
|
|
2
|
+
# All gitleaks default rules still apply everywhere (useDefault = true).
|
|
3
|
+
# To broaden this allow-list to all files, comment out the 'paths' line below.
|
|
4
|
+
|
|
5
|
+
[extend]
|
|
6
|
+
useDefault = true
|
|
7
|
+
|
|
8
|
+
[[rules]]
|
|
9
|
+
id = "generic-api-key"
|
|
10
|
+
|
|
11
|
+
# Pattern-only allowlist for long Ag… tokens in YAML
|
|
12
|
+
[[rules.allowlists]]
|
|
13
|
+
condition = "AND"
|
|
14
|
+
regexes = [
|
|
15
|
+
# Boundary-safe Ag… token without lookarounds (RE2-safe)
|
|
16
|
+
'''(?:^|[^A-Za-z0-9+/=])(Ag[A-Za-z0-9+/]{500,}={0,2})(?:[^A-Za-z0-9+/=]|$)'''
|
|
17
|
+
]
|
|
18
|
+
# Limit to YAML only for now. Comment this out if you want it to apply everywhere.
|
|
19
|
+
paths = ['''(?i).*\.ya?ml$''']
|
|
@@ -4,6 +4,7 @@ repos:
|
|
|
4
4
|
hooks:
|
|
5
5
|
- id: check-added-large-files
|
|
6
6
|
args: ["--maxkb=500"]
|
|
7
|
+
exclude: ^uv.lock
|
|
7
8
|
- id: check-yaml
|
|
8
9
|
args: ["--allow-multiple-documents"]
|
|
9
10
|
exclude: ^helm/
|
|
@@ -34,11 +35,36 @@ repos:
|
|
|
34
35
|
types: [python]
|
|
35
36
|
require_serial: false
|
|
36
37
|
|
|
38
|
+
- id: lock dodal
|
|
39
|
+
name: keep dodal up to date in lockfile
|
|
40
|
+
pass_filenames: false
|
|
41
|
+
language: system
|
|
42
|
+
entry: uv lock --upgrade-package dls-dodal
|
|
43
|
+
|
|
44
|
+
- id: uv-sync
|
|
45
|
+
name: update uv.lock and venv
|
|
46
|
+
pass_filenames: false
|
|
47
|
+
language: system
|
|
48
|
+
entry: uv sync
|
|
49
|
+
files: ^(uv\.lock|pyproject\.toml)$
|
|
50
|
+
|
|
51
|
+
- id: local-install-dodal
|
|
52
|
+
name: editable install of dodal
|
|
53
|
+
language: system
|
|
54
|
+
pass_filenames: false
|
|
55
|
+
entry: uv pip install -e ../dodal
|
|
56
|
+
files: ^(uv\.lock|pyproject\.toml)$
|
|
57
|
+
|
|
37
58
|
# Type checking
|
|
38
59
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
39
|
-
rev: v1.
|
|
60
|
+
rev: v1.19.1
|
|
40
61
|
hooks:
|
|
41
62
|
- id: mypy
|
|
42
63
|
files: 'src/.*\.py$'
|
|
43
64
|
additional_dependencies: [types-requests, types-redis, pydantic]
|
|
44
65
|
args: ["--ignore-missing-imports", "--no-strict-optional"]
|
|
66
|
+
|
|
67
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
68
|
+
rev: v8.28.0
|
|
69
|
+
hooks:
|
|
70
|
+
- id: gitleaks
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# The devcontainer should use the developer target and run as root with podman
|
|
2
|
+
# or docker with user namespaces.
|
|
3
|
+
FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:noble AS developer
|
|
4
|
+
|
|
5
|
+
ENV CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
6
|
+
|
|
7
|
+
# Add any system dependencies for the developer/build environment here
|
|
8
|
+
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
|
9
|
+
graphviz \
|
|
10
|
+
ffmpeg \
|
|
11
|
+
libsm6 \
|
|
12
|
+
libxext6 \
|
|
13
|
+
&& apt-get dist-clean
|
|
14
|
+
|
|
15
|
+
# The build stage installs the context into the venv
|
|
16
|
+
FROM developer AS build
|
|
17
|
+
|
|
18
|
+
# Change the working directory to the `app` directory
|
|
19
|
+
# and copy in the project
|
|
20
|
+
WORKDIR /app
|
|
21
|
+
COPY . /app
|
|
22
|
+
RUN chmod o+wrX .
|
|
23
|
+
|
|
24
|
+
# Tell uv sync to install python in a known location so we can copy it out later
|
|
25
|
+
ENV UV_PYTHON_INSTALL_DIR=/python
|
|
26
|
+
|
|
27
|
+
# Sync the project without its dev dependencies
|
|
28
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
29
|
+
uv sync --locked --no-editable --no-dev
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
FROM build AS debug
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# Set origin to use ssh
|
|
36
|
+
RUN git remote set-url origin git@github.com:DiamondLightSource/mx-bluesky.git
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# For this pod to understand finding user information from LDAP
|
|
40
|
+
RUN apt update
|
|
41
|
+
RUN DEBIAN_FRONTEND=noninteractive apt install libnss-ldapd -y
|
|
42
|
+
RUN sed -i 's/files/ldap files/g' /etc/nsswitch.conf
|
|
43
|
+
|
|
44
|
+
# Make editable and debuggable
|
|
45
|
+
RUN uv pip install debugpy
|
|
46
|
+
RUN uv pip install -e .
|
|
47
|
+
ENV PATH=/app/.venv/bin:$PATH
|
|
48
|
+
|
|
49
|
+
# Alternate entrypoint to allow devcontainer to attach
|
|
50
|
+
ENTRYPOINT [ "/bin/bash", "-c", "--" ]
|
|
51
|
+
CMD [ "while true; do sleep 30; done;" ]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# The runtime stage copies the built venv into a runtime container
|
|
55
|
+
FROM ubuntu:noble AS runtime
|
|
56
|
+
|
|
57
|
+
# Add apt-get system dependecies for runtime here if needed
|
|
58
|
+
# RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
|
59
|
+
# some-library \
|
|
60
|
+
# && apt-get dist-clean
|
|
61
|
+
|
|
62
|
+
# Copy the python installation from the build stage
|
|
63
|
+
COPY --from=build /python /python
|
|
64
|
+
|
|
65
|
+
# Copy the environment, but not the source code
|
|
66
|
+
COPY --from=build /app/.venv /app/.venv
|
|
67
|
+
ENV PATH=/app/.venv/bin:$PATH
|
|
68
|
+
|
|
69
|
+
# change this entrypoint if it is not the same as the repo
|
|
70
|
+
ENTRYPOINT ["mx-bluesky"]
|
|
71
|
+
CMD ["--version"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Before changing this BlueAPI version number, you should check that
|
|
2
|
+
# the BlueAPI pin in pyproject.toml is compatible, else the version will
|
|
3
|
+
# be overridden
|
|
4
|
+
FROM ghcr.io/diamondlightsource/blueapi:latest
|
|
5
|
+
USER root
|
|
6
|
+
|
|
7
|
+
ARG DEBIAN_FRONTEND=noninteractive
|
|
8
|
+
|
|
9
|
+
# Need:
|
|
10
|
+
# libgl, libglib2.0 for python cv2 dependency
|
|
11
|
+
RUN apt update -y && \
|
|
12
|
+
apt upgrade -y && \
|
|
13
|
+
apt install -y libgl1 libglib2.0-0
|
|
14
|
+
|
|
15
|
+
RUN uv pip install --no-cache-dir --no-compile mx-bluesky
|
|
16
|
+
|
|
17
|
+
# Create and set permissions for uv venv, root cache
|
|
18
|
+
# and user cache. Allows Blueapi's setup-scratch
|
|
19
|
+
# to change dependencies without permission errors
|
|
20
|
+
RUN mkdir -p /app/.venv /root/.cache/uv /home/app/.cache/uv \
|
|
21
|
+
&& chmod -R 777 /app/.venv /root/.cache/uv /home/app/.cache/uv
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
USER ubuntu
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.3
|
|
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
|
|
@@ -236,41 +236,13 @@ Requires-Dist: semver
|
|
|
236
236
|
Requires-Dist: deepdiff
|
|
237
237
|
Requires-Dist: matplotlib
|
|
238
238
|
Requires-Dist: cachetools
|
|
239
|
+
Requires-Dist: bluesky-stomp>=0.2.0
|
|
239
240
|
Requires-Dist: daq-config-server>=v1.0.0-rc.2
|
|
240
241
|
Requires-Dist: blueapi>=1.8.0
|
|
241
242
|
Requires-Dist: ophyd>=1.10.5
|
|
242
243
|
Requires-Dist: ophyd-async>=0.14.0
|
|
243
244
|
Requires-Dist: bluesky>=1.14.6
|
|
244
|
-
Requires-Dist: dls-dodal==
|
|
245
|
-
Provides-Extra: dev
|
|
246
|
-
Requires-Dist: black; extra == "dev"
|
|
247
|
-
Requires-Dist: build; extra == "dev"
|
|
248
|
-
Requires-Dist: diff-cover; extra == "dev"
|
|
249
|
-
Requires-Dist: GitPython; extra == "dev"
|
|
250
|
-
Requires-Dist: import-linter; extra == "dev"
|
|
251
|
-
Requires-Dist: ispyb; extra == "dev"
|
|
252
|
-
Requires-Dist: ipython; extra == "dev"
|
|
253
|
-
Requires-Dist: mypy; extra == "dev"
|
|
254
|
-
Requires-Dist: myst-parser; extra == "dev"
|
|
255
|
-
Requires-Dist: pipdeptree; extra == "dev"
|
|
256
|
-
Requires-Dist: plantweb; extra == "dev"
|
|
257
|
-
Requires-Dist: pre-commit; extra == "dev"
|
|
258
|
-
Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
|
|
259
|
-
Requires-Dist: pyright==1.1.406; extra == "dev"
|
|
260
|
-
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
261
|
-
Requires-Dist: pytest-cov; extra == "dev"
|
|
262
|
-
Requires-Dist: pytest-random-order; extra == "dev"
|
|
263
|
-
Requires-Dist: pytest-timeout; extra == "dev"
|
|
264
|
-
Requires-Dist: pytest; extra == "dev"
|
|
265
|
-
Requires-Dist: responses; extra == "dev"
|
|
266
|
-
Requires-Dist: ruff; extra == "dev"
|
|
267
|
-
Requires-Dist: sphinx-autobuild; extra == "dev"
|
|
268
|
-
Requires-Dist: sphinx-copybutton; extra == "dev"
|
|
269
|
-
Requires-Dist: sphinx-design; extra == "dev"
|
|
270
|
-
Requires-Dist: tox-direct; extra == "dev"
|
|
271
|
-
Requires-Dist: tox; extra == "dev"
|
|
272
|
-
Requires-Dist: types-mock; extra == "dev"
|
|
273
|
-
Requires-Dist: types-requests; extra == "dev"
|
|
245
|
+
Requires-Dist: dls-dodal==2.0.0
|
|
274
246
|
Dynamic: license-file
|
|
275
247
|
|
|
276
248
|
mx-bluesky
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"wavelength_in_a": null, "energy_kev": null, "angular_increment_deg": 0.1, "detector_distance_mm": null}
|
|
@@ -48,7 +48,7 @@ e.g.
|
|
|
48
48
|
|
|
49
49
|
.. code-block:: bash
|
|
50
50
|
|
|
51
|
-
pip install pytest-profiling
|
|
51
|
+
uv pip install pytest-profiling
|
|
52
52
|
pytest --profile tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py::test_given_detector_bit_depth_changes_then_vds_datatype_as_expected
|
|
53
53
|
|
|
54
54
|
|
|
@@ -59,7 +59,7 @@ To browse these files you need something useful. Snakeviz is a tool that can be
|
|
|
59
59
|
.. code-block:: bash
|
|
60
60
|
|
|
61
61
|
cd prof
|
|
62
|
-
pip install snakeviz
|
|
62
|
+
uv pip install snakeviz
|
|
63
63
|
snakeviz combined.prof
|
|
64
64
|
|
|
65
65
|
An alternative tool is py-spy.
|
|
@@ -68,7 +68,7 @@ e.g.
|
|
|
68
68
|
|
|
69
69
|
.. code-block:: bash
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
uv add --frozen py-spy
|
|
72
72
|
py-spy record -o profile.svg -- pytest -s tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py::test_given_no_energy_supplied_when_robot_load_then_centre_current_energy_set_on_eiger
|
|
73
73
|
|
|
74
74
|
This will generator an interactive SVG flamechart that can be opened in a browser to see hot methods.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Hyperion on BlueAPI
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
This document describes the migration of Hyperion from a monolithic service that contains its own application server
|
|
5
|
+
and is only partially dependent on BlueAPI,
|
|
6
|
+
to a standard BlueAPI application deployment.
|
|
7
|
+
|
|
8
|
+
Architecture
|
|
9
|
+
------------
|
|
10
|
+
|
|
11
|
+
Hyperion on BlueAPI consists of two components:
|
|
12
|
+
|
|
13
|
+
* hyperion-blueapi: This is intended to ultimately be a standard blueapi installation, consisting of a beamline
|
|
14
|
+
module and a dodal plan module. In the interim, deployment may vary from the standard method until such time as
|
|
15
|
+
monolithic operation can be desupported. ``hyperion-blueapi`` exposes a minimal set of bluesky plans for UDC data
|
|
16
|
+
collection.
|
|
17
|
+
|
|
18
|
+
* hyperion-supervisor: This will be a separate service that is responsible for fetching instructions from
|
|
19
|
+
Agamemnon, decoding them and sending corresponding requests to ``hyperion-blueapi`` for execution. The supervisor
|
|
20
|
+
also monitors the state of ``hyperion-blueapi``, manages the Hyperion baton and provides endpoints for status
|
|
21
|
+
monitoring.
|
|
22
|
+
|
|
23
|
+
Deployment
|
|
24
|
+
----------
|
|
25
|
+
|
|
26
|
+
``hyperion-blueapi`` and ``hyperion-supervisor`` are automatically available in a standard Hyperion deployment.
|
|
27
|
+
|
|
28
|
+
Launching
|
|
29
|
+
---------
|
|
30
|
+
|
|
31
|
+
``hyperion-blueapi`` can be launched in using the ``run_hyperion.sh`` script, using the ``--blueapi`` option:
|
|
32
|
+
|
|
33
|
+
::
|
|
34
|
+
|
|
35
|
+
./run_hyperion.sh --beamline=i03 --dev --blueapi
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
``hyperion-supervisor`` can be launched using the ``run_hyperion.sh`` script, using the ``--supervisor`` option:
|
|
39
|
+
|
|
40
|
+
::
|
|
41
|
+
|
|
42
|
+
./run_hyperion.sh --beamline=i03 --dev --supervisor
|
|
43
|
+
|
|
44
|
+
Configuration
|
|
45
|
+
-------------
|
|
46
|
+
|
|
47
|
+
Configuration of ``hyperion-blueapi`` and ``hyperion-supervisor`` is done via standard BlueAPI .yaml configuration files.
|
|
48
|
+
Basic configuration files for i03 are supplied as follows in ``src/mx_bluesky/hyperion``.
|
|
49
|
+
|
|
50
|
+
.. csv-table:: hyperion-blueapi configuration files
|
|
51
|
+
:widths: auto
|
|
52
|
+
:header: "File", "Description"
|
|
53
|
+
|
|
54
|
+
"blueapi_config.yaml", "Defines beamline device module and blueapi plans to be exported, BlueAPI REST to listen on, Stomp and graylog servers."
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
.. csv-table:: hyperion-supervisor configuration files
|
|
58
|
+
:widths: auto
|
|
59
|
+
:header: "File", "Description"
|
|
60
|
+
|
|
61
|
+
"supervisor/client_config.yaml", "Tells the supervisor how to communicate with hyperion-blueapi, specifying the REST endpoint and stomp server."
|
|
62
|
+
"supervisor/supervisor_config.yaml", "Configures the internal blueapi context with a minimal beamline module containing the baton device and the graylog endpoint."
|
|
63
|
+
|
|
64
|
+
When these are deployed in kubernetes it is anticipated that these will be provided by specifying
|
|
65
|
+
directly in the values.yaml which will be expanded by the base helmcharts at deployment time.
|