mx-bluesky 1.5.4__tar.gz → 1.5.6__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.4 → mx_bluesky-1.5.6}/.github/workflows/_test.yml +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/PKG-INFO +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/dev-ops/run-tests.rst +1 -1
- mx_bluesky-1.5.6/docs/developer/murko-integration/explanations/DrawioImages.rst +13 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/murko-integration/explanations/architecture.rst +4 -2
- mx_bluesky-1.5.6/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/murko-integration/index.rst +1 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +3 -4
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/user/hyperion/alerts.rst +14 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/user/hyperion/configuration.rst +29 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/user/hyperion/index.rst +17 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/user/hyperion/pvs.rst +9 -0
- mx_bluesky-1.5.6/docs/user/hyperion/troubleshooting.rst +137 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/pyproject.toml +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/_version.py +3 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/__init__.py +6 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +2 -3
- mx_bluesky-1.5.6/src/mx_bluesky/beamlines/i04/thawing_plan.py +248 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/dcid.py +4 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +4 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +5 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -107
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +1 -4
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +13 -13
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +8 -8
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +7 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -92
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +2 -18
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +1 -6
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +15 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +17 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +1 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +1 -30
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -94
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +4 -10
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +12 -20
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +4 -13
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +34 -9
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +25 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/parameters/components.py +1 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/__main__.py +16 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/baton_handler.py +78 -11
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +19 -8
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +6 -2
- mx_bluesky-1.5.6/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +7 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/constants.py +1 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/plan_runner.py +2 -4
- mx_bluesky-1.5.6/src/mx_bluesky/hyperion/plan_runner_api.py +43 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/SOURCES.txt +6 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/requires.txt +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/conftest.py +30 -35
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +26 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/conftest.py +2 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +4 -4
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +2 -0
- mx_bluesky-1.5.6/tests/system_tests/hyperion/test_main_udc.py +60 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i04/test_thawing.py +128 -34
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i23/test_serial.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/conftest.py +5 -50
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +11 -134
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +5 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -87
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +1 -6
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -11
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -29
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +1 -65
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +49 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -9
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +35 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/conftest.py +5 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/conftest.py +41 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +36 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +21 -10
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/test_baton_handler.py +391 -106
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/test_main_system.py +56 -7
- mx_bluesky-1.5.6/tests/unit_tests/hyperion/test_plan_runner_api.py +35 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/test_runner.py +12 -6
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/t01.py +12 -0
- mx_bluesky-1.5.4/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- mx_bluesky-1.5.4/docs/user/hyperion/logging.rst +0 -41
- mx_bluesky-1.5.4/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -134
- mx_bluesky-1.5.4/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -12
- mx_bluesky-1.5.4/utility_scripts/beam_off_trickery.sh +0 -11
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.copier-answers.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.coveragerc +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.dockerignore +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/CONTRIBUTING.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/pages/index.html +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_container.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_helm.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.gitignore +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.pre-commit-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/launch.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/settings.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/Dockerfile.blueapi +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/Dockerfile.hyperion +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/LICENSE +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/README.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/catalog-info.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/codecov.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/_api.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/conf.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/how-to/get-started.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/motor coordinate systems.odg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/motor-coords-omega-0.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/images/motor-coords-omega-alpha.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/user/hyperion/running.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/hyperion/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/mx-bluesky-blueapi/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/helm/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/pull_request_template.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/run_hyperion.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/setup.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/parameters/constants.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/parameters/device_composites.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/protocols/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/device_composites.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/runner.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/hyperion/utils/context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/phase1_zebra/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/start_jupyter.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/agamemnon/example_native.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/agamemnon/example_wait.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_domain_properties +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_domain_properties_with_panda +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/beamlines/i24/serial/web_gui/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/inner_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/alerting/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/parameters/test_components.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/parameters/test_constants.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/request_baton.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/utility_scripts/strip_metafile.py +0 -0
|
@@ -53,7 +53,7 @@ jobs:
|
|
|
53
53
|
- name: Run tests
|
|
54
54
|
# Longer timeout for CI due to likelihood of cold caches,
|
|
55
55
|
# cloud infra hw contention etc.
|
|
56
|
-
run: tox -e tests -- -m "not dlstbx" --timeout=2
|
|
56
|
+
run: tox -e tests -- -m "not dlstbx" --timeout=2 --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml
|
|
57
57
|
|
|
58
58
|
- name: Upload coverage to Codecov
|
|
59
59
|
uses: codecov/codecov-action@v4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.6
|
|
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
|
|
@@ -241,7 +241,7 @@ Requires-Dist: blueapi>=0.15.0
|
|
|
241
241
|
Requires-Dist: ophyd>=1.10.5
|
|
242
242
|
Requires-Dist: ophyd-async>=0.10.0a2
|
|
243
243
|
Requires-Dist: bluesky>=1.13.1
|
|
244
|
-
Requires-Dist: dls-dodal==1.
|
|
244
|
+
Requires-Dist: dls-dodal==1.58.0
|
|
245
245
|
Provides-Extra: dev
|
|
246
246
|
Requires-Dist: black; extra == "dev"
|
|
247
247
|
Requires-Dist: build; extra == "dev"
|
|
@@ -6,7 +6,7 @@ like tests`_, and run them to check for errors. You can run it with::
|
|
|
6
6
|
|
|
7
7
|
$ tox -e tests
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
When the tests are run in GitHub CI it will also report coverage to ``codecov.io``.
|
|
10
10
|
|
|
11
11
|
.. _pytest: https://pytest.org/
|
|
12
12
|
.. _look like tests: https://docs.pytest.org/explanation/goodpractices.html#test-discovery
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Draw.io Images
|
|
2
|
+
--------------
|
|
3
|
+
|
|
4
|
+
When working with diagrams created using Draw.io, it's important to ensure that the images retain their embedded metadata. This metadata allows the diagrams to be re-uploaded to Draw.io later for editing.
|
|
5
|
+
|
|
6
|
+
To preserve this metadata:
|
|
7
|
+
|
|
8
|
+
- When exporting from Draw.io, use the "File > Export As > PNG (with embedded XML)" or SVG (with embedded content) option.
|
|
9
|
+
- Make sure the "Include a copy of my diagram" or similar checkbox is selected during export.
|
|
10
|
+
|
|
11
|
+
This ensures that the image isn't just a flat graphic—it includes the necessary data for Draw.io to reconstruct and edit the diagram later.
|
|
12
|
+
|
|
13
|
+
Tip: There is a chance of losing the metadata though if not handled properly. Sharing the image through Slack for example will delete the metadata associated with the image. Instead, use something like e-mail.
|
{mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/docs/developer/murko-integration/explanations/architecture.rst
RENAMED
|
@@ -3,7 +3,7 @@ Murko Architecture
|
|
|
3
3
|
|
|
4
4
|
The architecture of how Murko is integrated is still in flux but as of 07/08 the following has been tried on the beamline.
|
|
5
5
|
|
|
6
|
-
.. image:: ../images/
|
|
6
|
+
.. image:: ../images/Murko.drawio.png
|
|
7
7
|
|
|
8
8
|
The mx-bluesky code is deployed into the `beamline kubernetes cluster <https://k8s-i04.diamond.ac.uk/>`_ behind a `blueAPI <https://github.com/DiamondLightSource/blueapi>`_ REST interface. Alongside this an instance of murko is also deployed to the k8s cluster.
|
|
9
9
|
|
|
@@ -15,4 +15,6 @@ It will then trigger the ``OAVToRedisForwarder`` device in ``dodal`` that will s
|
|
|
15
15
|
|
|
16
16
|
The image streaming must be done with an ophyd device as there is too much data for it all to be emitted in bluesky documents.
|
|
17
17
|
|
|
18
|
-
When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `
|
|
18
|
+
When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `redis_to_murko_forwarder <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py>`_, which will forward the data to murko.
|
|
19
|
+
|
|
20
|
+
Murko will then enter the results back into redis where they are retrieved by the `MurkoResultsDevice <https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/i04/murko_results.py>`_ in ``dodal``. This device uses these results to calculate where the sample should be moved to and carry out these movements.
|
|
@@ -24,7 +24,7 @@ detector name from the list and clicking the ``Move Stage`` button,
|
|
|
24
24
|
which will move the detector stage to the correct height and update the
|
|
25
25
|
relative PVs.
|
|
26
26
|
|
|
27
|
-
Detectors available for serial:
|
|
27
|
+
Detectors available for serial: Eiger CdTe 9M.
|
|
28
28
|
|
|
29
29
|
Extruder (Serial Jet)
|
|
30
30
|
=====================
|
|
@@ -58,9 +58,8 @@ in the ``Pump Probe`` panel.
|
|
|
58
58
|
|
|
59
59
|
**WARNING** This setting requires a
|
|
60
60
|
hardware change, as there are only 4 outputs on the zebra and they are
|
|
61
|
-
all in use. When using the Eiger the Pilatus trigger cable should be
|
|
62
|
-
used to trigger the light source.
|
|
63
|
-
trigger cable should be used.
|
|
61
|
+
all in use. When using the Eiger the ex-Pilatus trigger cable should be
|
|
62
|
+
used to trigger the light source.
|
|
64
63
|
|
|
65
64
|
III - **Run collection**
|
|
66
65
|
|
|
@@ -6,6 +6,14 @@ itself.
|
|
|
6
6
|
|
|
7
7
|
The currently supported alerting backend uses graylog alerting to send email alert notifications.
|
|
8
8
|
|
|
9
|
+
The currently supported events that will generate alerts are:
|
|
10
|
+
|
|
11
|
+
- On encountering a beamline error that requires user intervention.
|
|
12
|
+
- When Hyperion starts UDC collection.
|
|
13
|
+
- When Hyperion finishes UDC collection (there are no more Agamemnon instructions).
|
|
14
|
+
- When Hyperion releases the baton.
|
|
15
|
+
- When Hyperion moves on to a new container (puck).
|
|
16
|
+
|
|
9
17
|
Graylog Alert Configuration
|
|
10
18
|
===========================
|
|
11
19
|
|
|
@@ -54,6 +62,12 @@ expand to the event timestamp.
|
|
|
54
62
|
|
|
55
63
|
All the fields that are available in the event are available under the ``event.fields`` object, e.g. ``${event.fields.alert_summary}``
|
|
56
64
|
|
|
65
|
+
The email subject and body use the JMTE templating engine, to generate more complex templates and for more
|
|
66
|
+
information see the `JMTE Project Documentation`_
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
.. _JMTE Project Documentation: https://github.com/DJCordhose/jmte
|
|
70
|
+
|
|
57
71
|
Event Definitions
|
|
58
72
|
-----------------
|
|
59
73
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
Configuration
|
|
2
2
|
-------------
|
|
3
3
|
|
|
4
|
+
Hyperion main configuration
|
|
5
|
+
===========================
|
|
6
|
+
|
|
4
7
|
Configuration of several properties that control Hyperion execution are available. These can be edited in the
|
|
5
8
|
``domain.properties`` file typically found in
|
|
6
9
|
|
|
@@ -8,6 +11,8 @@ Configuration of several properties that control Hyperion execution are availabl
|
|
|
8
11
|
|
|
9
12
|
/dls_sw/<beamline>/software/daq_configuration/domain.properties
|
|
10
13
|
|
|
14
|
+
Note that making a change to these properties generally requires a restart of the GDA server.
|
|
15
|
+
|
|
11
16
|
|
|
12
17
|
.. csv-table:: Configuration properties
|
|
13
18
|
:widths: auto
|
|
@@ -23,3 +28,27 @@ Configuration of several properties that control Hyperion execution are availabl
|
|
|
23
28
|
"gda.mx.hyperion.xrc.use_gpu_results", "boolean", "If true, then zocalo gridscan processing uses the GPU results"
|
|
24
29
|
"gda.mx.hyperion.xrc.use_roi_mode", "boolean", "If true then ROI mode is used."
|
|
25
30
|
"gda.mx.udc.hyperion.enable", "boolean", "Enables Hyperion UDC mode."
|
|
31
|
+
|
|
32
|
+
Beamline configuration/calibration files
|
|
33
|
+
========================================
|
|
34
|
+
|
|
35
|
+
Hyperion makes use of other beamline configuration and calibration files which are also currently stored in
|
|
36
|
+
|
|
37
|
+
::
|
|
38
|
+
|
|
39
|
+
/dls_sw/<beamline>/software/daq_configuration
|
|
40
|
+
|
|
41
|
+
These are currently shared with GDA, so changes to these files will affect both applications.
|
|
42
|
+
|
|
43
|
+
Config Server
|
|
44
|
+
=============
|
|
45
|
+
|
|
46
|
+
If the `Config Server`_ is deployed and running, Hyperion is configured to use it in preference to reading the
|
|
47
|
+
``domain.properties`` file directly. However in the event of the config server being unavailable Hyperion will fall
|
|
48
|
+
back to reading it from the filesystem.
|
|
49
|
+
|
|
50
|
+
Note that currently the rest of the configuration files are not read from the config server, but the intention is that
|
|
51
|
+
ultimately it will be the source of all configuration and the remainder of the files in ``daq_configuration`` will be
|
|
52
|
+
moved over to it.
|
|
53
|
+
|
|
54
|
+
.. _Config Server: https://github.com/DiamondLightSource/daq-config-server/
|
|
@@ -18,6 +18,23 @@ The software supports two modes of operation:
|
|
|
18
18
|
|
|
19
19
|
The mode of operation is determined by configuration using the ``gda.mx.udc.hyperion.enable`` parameter
|
|
20
20
|
|
|
21
|
+
Once Hyperion has received a request, either from GDA or directly from Agamemnon, it will do the following tasks:
|
|
22
|
+
|
|
23
|
+
- Robot Load (if necessary)
|
|
24
|
+
- Pin tip detection using the OAV
|
|
25
|
+
- Xray Centring
|
|
26
|
+
- A number of data collections, depending on the number of centres returned from Zocalo and the applied selection criteria
|
|
27
|
+
|
|
28
|
+
During this it will generate the following outputs:
|
|
29
|
+
|
|
30
|
+
- Snapshots on robot load, XRC and rotations
|
|
31
|
+
- Data collections in ISPyB for the gridscans and rotations as well as entries for robot load/unload
|
|
32
|
+
- Nexus files for each data collection
|
|
33
|
+
- Alert notifications on loading a new container and on beamline error conditions when intervention is required.
|
|
34
|
+
|
|
35
|
+
For a more detailed breakdown of the operation, it may be helpful to browse the `Code Map`_
|
|
36
|
+
|
|
37
|
+
.. _Code Map: ../../developer/code-map
|
|
21
38
|
|
|
22
39
|
.. toctree::
|
|
23
40
|
:caption: Topics
|
|
@@ -10,3 +10,12 @@ CURRENT_USER.
|
|
|
10
10
|
Hyperion will only start operating once REQUESTED_USER has been set to Hyperion, at which point it will set
|
|
11
11
|
CURRENT_USER. To request the baton from Hyperion, set REQUESTED_USER to some other value, when Hyperion completes the
|
|
12
12
|
current action, it will relinquish CURRENT_USER.
|
|
13
|
+
|
|
14
|
+
Commissioning Mode
|
|
15
|
+
~~~~~~~~~~~~~~~~~~
|
|
16
|
+
|
|
17
|
+
The baton device also has a COMMISSIONING PV, which when the PV is set to 1, indicates that commissioning mode is
|
|
18
|
+
enabled.
|
|
19
|
+
|
|
20
|
+
Commissioning mode enables testing of Hyperion when there is no beam. Beamline scientists should ensure that the
|
|
21
|
+
COMMISSIONING PV is set to 0 before running Hyperion in production.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
Troubleshooting
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
.. contents::
|
|
5
|
+
|
|
6
|
+
Logging
|
|
7
|
+
-------
|
|
8
|
+
|
|
9
|
+
Hyperion logs to a number of different locations. The sections below describe the locations that are configured via
|
|
10
|
+
environment variables for a standard server install.
|
|
11
|
+
|
|
12
|
+
Graylog
|
|
13
|
+
~~~~~~~
|
|
14
|
+
|
|
15
|
+
Graylog is the recommended way to view logs. It is used for more centralised logging which is also more easily
|
|
16
|
+
searched and archived. Log messages are sent to the `Hyperion graylog stream <https://graylog.diamond.ac.uk/streams/66264f5519ccca6d1c9e4e03/search>`_.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Startup Log
|
|
20
|
+
~~~~~~~~~~~
|
|
21
|
+
|
|
22
|
+
When ``hyperion_restart()`` is called by GDA, it will log the initial console output to a log file. This log file
|
|
23
|
+
location is
|
|
24
|
+
controlled by the ``gda.logs.dir`` property and is typically ``/dls_sw/<beamline>/logs/bluesky``.
|
|
25
|
+
|
|
26
|
+
Log files
|
|
27
|
+
~~~~~~~~~
|
|
28
|
+
|
|
29
|
+
By default, Hyperion logs to the filesystem.
|
|
30
|
+
|
|
31
|
+
The log file location is controlled by the ``LOG_DIR`` environment value. Typically this can be found in
|
|
32
|
+
``/dls_sw/<beamline>/logs/bluesky``
|
|
33
|
+
|
|
34
|
+
Debug Log
|
|
35
|
+
~~~~~~~~~
|
|
36
|
+
|
|
37
|
+
The standard logs files do not record all messages, only those at INFO level or higher, in order to keep storage
|
|
38
|
+
requirements to a minimum.
|
|
39
|
+
In the event of an error occurring, then trace-level logging for the most recent events (by default 5000) is flushed
|
|
40
|
+
to a separate set of log files. Due to the size of these files, they are stored separately from the main log files
|
|
41
|
+
. These logs are located in ``/dls/tmp/<beamline>/logs/bluesky`` by default, or
|
|
42
|
+
otherwise as specified by the ``DEBUG_LOG_DIR`` environment variable.
|
|
43
|
+
|
|
44
|
+
Server Install
|
|
45
|
+
--------------
|
|
46
|
+
|
|
47
|
+
Install Location
|
|
48
|
+
~~~~~~~~~~~~~~~~
|
|
49
|
+
|
|
50
|
+
Hyperion is generally installed in the beamline software directory:
|
|
51
|
+
|
|
52
|
+
``/dls_sw/<beamline>/software/bluesky``
|
|
53
|
+
|
|
54
|
+
This directory contains versioned installation folders ``mx-bluesky_vx.y.z`` for each installed version. Within the
|
|
55
|
+
directory there is a symlink ``hyperion`` to the currently active version. This is generally a symlink to either
|
|
56
|
+
``hyperion_stable`` or ``hyperion_latest`` symlinks which then point to the latest stable and development releases
|
|
57
|
+
respectively.
|
|
58
|
+
|
|
59
|
+
Switching Versions
|
|
60
|
+
~~~~~~~~~~~~~~~~~~
|
|
61
|
+
|
|
62
|
+
For example to switch from the development to the stable release simply:
|
|
63
|
+
|
|
64
|
+
::
|
|
65
|
+
|
|
66
|
+
rm hyperion
|
|
67
|
+
ln -s hyperion_latest hyperion
|
|
68
|
+
|
|
69
|
+
After this you will need to run ``hyperion_restart()`` in the GDA jython console to restart hyperion
|
|
70
|
+
|
|
71
|
+
Verifying that Hyperion is running
|
|
72
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
73
|
+
|
|
74
|
+
To verify that the correct version of Hyperion is running, you should be able to view the process on the control
|
|
75
|
+
server, ssh into the control server, the output of ``ps ax`` should be something like the following, showing which
|
|
76
|
+
deployment is currently running. You should see two processes, the main process and also the external callback process.
|
|
77
|
+
|
|
78
|
+
::
|
|
79
|
+
|
|
80
|
+
$ ps ax | grep hyperion
|
|
81
|
+
1181420 ? Sl 2:36 /dls_sw/i03/software/bluesky/mx-bluesky_v1.5.0/mx-bluesky/.venv/bin/python /dls_sw/i03/software/bluesky/mx-bluesky_v1.5.0/mx-bluesky/.venv/bin/hyperion
|
|
82
|
+
1181422 ? Sl 1:54 /dls_sw/i03/software/bluesky/mx-bluesky_v1.5.0/mx-bluesky/.venv/bin/python /dls_sw/i03/software/bluesky/mx-bluesky_v1.5.0/mx-bluesky/.venv/bin/hyperion-callbacks
|
|
83
|
+
|
|
84
|
+
Kubernetes Install
|
|
85
|
+
------------------
|
|
86
|
+
|
|
87
|
+
If Hyperion is deployed on Kubernetes (currently experimental) then it can be managed from the beamline kubernetes
|
|
88
|
+
dashboard, e.g.
|
|
89
|
+
https://k8s-i03-dashboard.diamond.ac.uk
|
|
90
|
+
|
|
91
|
+
In the beamline namespace there will be a deployment ``hyperion-deployment``, a ``hyperion-svc`` service and associated
|
|
92
|
+
pods, ingress etc. through which the current state may be observed / managed.
|
|
93
|
+
|
|
94
|
+
Logging
|
|
95
|
+
~~~~~~~
|
|
96
|
+
|
|
97
|
+
On kubernetes deployments, the initial startup is sent to standard IO and is captured as part of the standard
|
|
98
|
+
kubernetes logging facility.
|
|
99
|
+
|
|
100
|
+
The configured logging locations are defined in the ``values.yaml`` for the specific deployment Helm chart.
|
|
101
|
+
|
|
102
|
+
Known Issues
|
|
103
|
+
------------
|
|
104
|
+
|
|
105
|
+
Odin Errors when there are filesystem issues
|
|
106
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
107
|
+
|
|
108
|
+
https://github.com/DiamondLightSource/mx-bluesky/issues/1199
|
|
109
|
+
|
|
110
|
+
On occasions where there are issues with the filesystem you may see errors similar to
|
|
111
|
+
|
|
112
|
+
::
|
|
113
|
+
|
|
114
|
+
ophyd.utils.errors.UnknownStatusFailure: The status (Status(obj=EpicsSignalWithRBV
|
|
115
|
+
(read_pv='BL03I-EA-EIGER-01:OD:Capture_RBV', name='eiger_odin_file_writer_capture', parent='eiger_odin_file_writer',
|
|
116
|
+
value=0, timestamp=1754488753.208739, auto_monitor=False, string=False, write_pv='BL03I-EA-EIGER-01:OD:Capture',
|
|
117
|
+
limits=False, put_complete=False), done=True, success=False) & SubscriptionStatus(device=eiger_odin_meta_ready,
|
|
118
|
+
done=False, success=False)) has failed. To obtain more specific, helpful errors in the future, update the Device
|
|
119
|
+
to use set_exception(...) instead of _finished(success=False).
|
|
120
|
+
|
|
121
|
+
hyperion_restart() sometimes times out
|
|
122
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
123
|
+
|
|
124
|
+
Sometimes hyperion_restart() will time out waiting for Hyperion to start, in the Jython console you may see the
|
|
125
|
+
following
|
|
126
|
+
|
|
127
|
+
::
|
|
128
|
+
|
|
129
|
+
InteractiveConsole exception: hyperion_utils.exceptions.HyperionFailedException: Hyperion failed to start, see /dls_sw/i03/logs/bluesky/start_log.log for log
|
|
130
|
+
org.python.core.PyException: hyperion_utils.exceptions.HyperionFailedException: Hyperion failed to start, see /dls_sw/i03/logs/bluesky/start_log.log for log
|
|
131
|
+
at org.python.core.PyException.doRaise(PyException.java:239)
|
|
132
|
+
at org.python.core.Py.makeException(Py.java:1654)
|
|
133
|
+
at org.python.core.Py.makeException(Py.java:1658)
|
|
134
|
+
at org.python.core.Py.makeException(Py.java:1662)
|
|
135
|
+
|
|
136
|
+
However on inspection the start log will not show any errors. Hyperion running can be verified as above `Verifying
|
|
137
|
+
that Hyperion is running`_
|
|
@@ -48,7 +48,7 @@ dependencies = [
|
|
|
48
48
|
"ophyd >= 1.10.5",
|
|
49
49
|
"ophyd-async >= 0.10.0a2",
|
|
50
50
|
"bluesky >= 1.13.1",
|
|
51
|
-
"dls-dodal == 1.
|
|
51
|
+
"dls-dodal == 1.58.0",
|
|
52
52
|
]
|
|
53
53
|
|
|
54
54
|
|
|
@@ -179,7 +179,7 @@ allowlist_externals =
|
|
|
179
179
|
commands =
|
|
180
180
|
pre-commit: pre-commit run --all-files --show-diff-on-failure {posargs}
|
|
181
181
|
type-checking: pyright src tests {posargs}
|
|
182
|
-
tests: pytest
|
|
182
|
+
tests: pytest {posargs}
|
|
183
183
|
docs: sphinx-{posargs:build -EW --keep-going} -T docs build/html
|
|
184
184
|
commands_pre =
|
|
185
185
|
docs: /usr/bin/bash -c "{toxinidir}/utility_scripts/generate_plantuml.py > \
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.5.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 5,
|
|
31
|
+
__version__ = version = '1.5.6'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 5, 6)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g6a9297fcb'
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_plan import (
|
|
2
2
|
i04_grid_detect_then_xray_centre,
|
|
3
3
|
)
|
|
4
|
-
from mx_bluesky.beamlines.i04.thawing_plan import
|
|
4
|
+
from mx_bluesky.beamlines.i04.thawing_plan import (
|
|
5
|
+
thaw,
|
|
6
|
+
thaw_and_murko_centre,
|
|
7
|
+
thaw_and_stream_to_redis,
|
|
8
|
+
)
|
|
5
9
|
|
|
6
10
|
__all__ = [
|
|
7
11
|
"thaw",
|
|
8
12
|
"thaw_and_stream_to_redis",
|
|
9
13
|
"i04_grid_detect_then_xray_centre",
|
|
14
|
+
"thaw_and_murko_centre",
|
|
10
15
|
]
|
{mx_bluesky-1.5.4 → mx_bluesky-1.5.6}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py
RENAMED
|
@@ -7,6 +7,7 @@ from typing import TypedDict
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
import zmq
|
|
9
9
|
from dodal.devices.i04.constants import RedisConstants
|
|
10
|
+
from dodal.devices.i04.murko_results import FullMurkoResults, MurkoResult
|
|
10
11
|
from numpy.typing import NDArray
|
|
11
12
|
from PIL import Image
|
|
12
13
|
from redis import StrictRedis
|
|
@@ -15,9 +16,6 @@ from mx_bluesky.common.utils.log import LOGGER
|
|
|
15
16
|
|
|
16
17
|
MURKO_ADDRESS = "tcp://i04-murko-prod.diamond.ac.uk:8008"
|
|
17
18
|
|
|
18
|
-
MurkoResult = dict
|
|
19
|
-
FullMurkoResults = dict[str, list[MurkoResult]]
|
|
20
|
-
|
|
21
19
|
|
|
22
20
|
class MurkoRequest(TypedDict):
|
|
23
21
|
"""See https://github.com/MartinSavko/murko#usage for more information."""
|
|
@@ -96,6 +94,7 @@ class BatchMurkoForwarder:
|
|
|
96
94
|
],
|
|
97
95
|
"prefix": uuids,
|
|
98
96
|
}
|
|
97
|
+
|
|
99
98
|
results = send_to_murko_and_get_results(request_arguments)
|
|
100
99
|
results_with_uuids = _correlate_results_to_uuids(request_arguments, results)
|
|
101
100
|
self._send_murko_results_to_redis(sample_id, results_with_uuids)
|