mx-bluesky 1.5.5__tar.gz → 1.5.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mx_bluesky-1.5.7/.devcontainer/devcontainer.json +75 -0
- mx_bluesky-1.5.7/.vscode/mx-bluesky-dev-container.code-workspace +23 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/mx-bluesky.code-workspace +3 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/PKG-INFO +2 -2
- mx_bluesky-1.5.7/docs/developer/general/how-to/get-started.md +33 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/index.rst +1 -0
- mx_bluesky-1.5.7/docs/developer/hyperion/reference/baton.rst +22 -0
- mx_bluesky-1.5.7/docs/developer/hyperion/reference/gda-baton.puml +192 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/gridscan.puml +3 -3
- mx_bluesky-1.5.7/docs/developer/murko-integration/explanations/DrawioImages.rst +13 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/murko-integration/explanations/architecture.rst +1 -1
- mx_bluesky-1.5.7/docs/developer/murko-integration/images/Murko.drawio.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/murko-integration/index.rst +1 -0
- mx_bluesky-1.5.7/docs/images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/user/hyperion/configuration.rst +29 -0
- mx_bluesky-1.5.7/docs/user/hyperion/index.rst +57 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/user/hyperion/pvs.rst +9 -0
- mx_bluesky-1.5.7/docs/user/hyperion/troubleshooting.rst +143 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/pyproject.toml +1 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/_version.py +3 -3
- mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i02_1/parameters/gridscan.py +35 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +6 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +3 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/thawing_plan.py +15 -8
- mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/do_external_acquisition.py +44 -0
- mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/do_internal_acquisition.py +46 -0
- mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_utils.py +73 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +2 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +29 -5
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +7 -8
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +6 -6
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +30 -22
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +73 -15
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -20
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/components.py +1 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/device_composites.py +2 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/gridscan.py +67 -49
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/__main__.py +16 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/baton_handler.py +39 -9
- mx_bluesky-1.5.7/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +25 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +19 -8
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +6 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +10 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +37 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/constants.py +1 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/device_composites.py +2 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/gridscan.py +3 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/plan_runner.py +2 -4
- mx_bluesky-1.5.7/src/mx_bluesky/hyperion/plan_runner_api.py +43 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/SOURCES.txt +19 -4
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/requires.txt +1 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/conftest.py +64 -72
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/conftest.py +2 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +18 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/conftest.py +28 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +4 -4
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +1 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +11 -8
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +150 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +12 -2
- mx_bluesky-1.5.7/tests/system_tests/hyperion/test_main_udc.py +60 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +2 -2
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +6 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/test_thawing.py +29 -0
- mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_do_external_acquisition.py +59 -0
- mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_do_internal_acquisition.py +51 -0
- mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/jungfrau_commissioning/test_plan_utils.py +81 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +22 -32
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +67 -18
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +77 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +75 -6
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +22 -10
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +3 -3
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/conftest.py +47 -38
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/conftest.py +41 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +36 -7
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +28 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +8 -5
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +4 -1
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +4 -4
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_baton_handler.py +289 -108
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_main_system.py +56 -7
- mx_bluesky-1.5.7/tests/unit_tests/hyperion/test_plan_runner_api.py +35 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_runner.py +12 -6
- mx_bluesky-1.5.7/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/t01.py +12 -0
- mx_bluesky-1.5.5/.devcontainer/devcontainer.json +0 -46
- mx_bluesky-1.5.5/docs/developer/general/how-to/get-started.rst +0 -26
- mx_bluesky-1.5.5/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- mx_bluesky-1.5.5/docs/user/hyperion/index.rst +0 -27
- mx_bluesky-1.5.5/docs/user/hyperion/logging.rst +0 -41
- mx_bluesky-1.5.5/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -20
- mx_bluesky-1.5.5/utility_scripts/beam_off_trickery.sh +0 -11
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.copier-answers.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.coveragerc +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.dockerignore +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/CONTRIBUTING.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/pages/index.html +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_container.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_helm.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_test.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.gitignore +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.pre-commit-config.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/launch.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/settings.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/Dockerfile +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/Dockerfile.blueapi +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/Dockerfile.hyperion +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/LICENSE +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/README.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/catalog-info.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/codecov.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/_api.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/conf.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/index.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/motor coordinate systems.odg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/motor-coords-omega-0.svg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/images/motor-coords-omega-alpha.svg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/index.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/user/hyperion/alerts.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/docs/user/hyperion/running.rst +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/hyperion/values.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/mx-bluesky-blueapi/values.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/helm/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/pull_request_template.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/run_hyperion.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/setup.cfg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i04/experiment_plans → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i02_1/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i24 → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i04/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i24/serial/extruder → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/dcid.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i24/serial/web_gui_plans → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common → mx_bluesky-1.5.7/src/mx_bluesky/beamlines/i24/serial/web_gui_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction → mx_bluesky-1.5.7/src/mx_bluesky/common}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction/callbacks/common → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction/callbacks/sample_handling → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction/callbacks/xray_centre → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction/ispyb → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/external_interaction/nexus → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/parameters → mx_bluesky-1.5.7/src/mx_bluesky/common/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/preprocessors → mx_bluesky-1.5.7/src/mx_bluesky/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/parameters/constants.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/protocols → mx_bluesky-1.5.7/src/mx_bluesky/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/common/utils → mx_bluesky-1.5.7/src/mx_bluesky/common/protocols}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.7/src/mx_bluesky/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/log.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/hyperion/external_interaction/alerting → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.5/src/mx_bluesky/phase1_zebra/device_setup_plans → mx_bluesky-1.5.7/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/runner.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/hyperion/utils/context.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests → mx_bluesky-1.5.7/src/mx_bluesky/phase1_zebra/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/start_jupyter.sh +0 -0
- {mx_bluesky-1.5.5/tests/system_tests → mx_bluesky-1.5.7/tests}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/system_tests/hyperion → mx_bluesky-1.5.7/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.5/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.7/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/system_tests/hyperion/external_interaction/alerting → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests → mx_bluesky-1.5.7/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_native.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/agamemnon/example_wait.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_domain_properties_with_panda +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines → mx_bluesky-1.5.7/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.7/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/conftest.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common → mx_bluesky-1.5.7/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.7/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/experiment_plans/inner_plans → mx_bluesky-1.5.7/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.7/tests/unit_tests/common/experiment_plans/inner_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction/alerting → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction}/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/alerting/alerting}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/parameters → mx_bluesky-1.5.7/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/preprocessors → mx_bluesky-1.5.7/tests/unit_tests/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/parameters/test_components.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/parameters/test_constants.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/common/utils → mx_bluesky-1.5.7/tests/unit_tests/common/preprocessors}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion → mx_bluesky-1.5.7/tests/unit_tests/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.5.7/tests/unit_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.5.7/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.5.7/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/parameters → mx_bluesky-1.5.7/tests/unit_tests/hyperion/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
- {mx_bluesky-1.5.5/tests/unit_tests/hyperion/utils → mx_bluesky-1.5.7/tests/unit_tests/hyperion/parameters}/__init__.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/request_baton.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.5.5 → mx_bluesky-1.5.7}/utility_scripts/strip_metafile.py +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// For format details, see https://containers.dev/implementors/json_reference/
|
|
2
|
+
{
|
|
3
|
+
"name": "Python 3 Developer Container",
|
|
4
|
+
"build": {
|
|
5
|
+
"dockerfile": "../Dockerfile",
|
|
6
|
+
"target": "developer"
|
|
7
|
+
},
|
|
8
|
+
"remoteEnv": {
|
|
9
|
+
// Allow X11 apps to run inside the container
|
|
10
|
+
"DISPLAY": "${localEnv:DISPLAY}"
|
|
11
|
+
},
|
|
12
|
+
"customizations": {
|
|
13
|
+
"vscode": {
|
|
14
|
+
// Set *default* container specific settings.json values on container create.
|
|
15
|
+
"settings": {
|
|
16
|
+
"python.defaultInterpreterPath": "/venv/bin/python"
|
|
17
|
+
},
|
|
18
|
+
// Add the IDs of extensions you want installed when the container is created.
|
|
19
|
+
"extensions": [
|
|
20
|
+
"ms-python.python",
|
|
21
|
+
"github.vscode-github-actions",
|
|
22
|
+
"tamasfe.even-better-toml",
|
|
23
|
+
"redhat.vscode-yaml",
|
|
24
|
+
"ryanluker.vscode-coverage-gutters",
|
|
25
|
+
"charliermarsh.ruff",
|
|
26
|
+
"ms-azuretools.vscode-docker"
|
|
27
|
+
],
|
|
28
|
+
"python.testing.pytestArgs": [
|
|
29
|
+
"--cov=mx_bluesky",
|
|
30
|
+
"--cov-report",
|
|
31
|
+
"xml:cov.xml"
|
|
32
|
+
],
|
|
33
|
+
"python.testing.unittestEnabled": false,
|
|
34
|
+
"python.testing.pytestEnabled": true,
|
|
35
|
+
"python.defaultInterpreterPath": "/venv/bin/python",
|
|
36
|
+
"editor.formatOnSave": true,
|
|
37
|
+
"editor.codeActionsOnSave": {
|
|
38
|
+
"source.organizeImports": "explicit"
|
|
39
|
+
},
|
|
40
|
+
"files.insertFinalNewline": true,
|
|
41
|
+
"[python]": {
|
|
42
|
+
"editor.rulers": [
|
|
43
|
+
88
|
|
44
|
+
],
|
|
45
|
+
"editor.codeActionsOnSave": {
|
|
46
|
+
"source.fixAll.ruff": "explicit",
|
|
47
|
+
"source.organizeImports.ruff": "explicit"
|
|
48
|
+
},
|
|
49
|
+
"editor.defaultFormatter": "charliermarsh.ruff"
|
|
50
|
+
},
|
|
51
|
+
"terminal.integrated.gpuAcceleration": "off",
|
|
52
|
+
"python.analysis.typeCheckingMode": "basic"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"features": {
|
|
56
|
+
// Some default things like git config
|
|
57
|
+
// add in eternal history and other bash features
|
|
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",
|
|
62
|
+
"runArgs": [
|
|
63
|
+
// Allow the container to access the host X11 display and EPICS CA
|
|
64
|
+
"--net=host",
|
|
65
|
+
// Make sure SELinux does not disable with access to host filesystems like tmp
|
|
66
|
+
"--security-opt=label=disable"
|
|
67
|
+
],
|
|
68
|
+
// Mount the parent as /workspaces so we can pip install peers as editable
|
|
69
|
+
"workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
|
|
70
|
+
"mounts": [
|
|
71
|
+
"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
|
+
],
|
|
73
|
+
// After the container is created, install the python project in editable form
|
|
74
|
+
"postCreateCommand": "pip install $([ -f dev-requirements.txt ] && echo '-c dev-requirements.txt') -e '.[dev]' && pip install -e /workspaces/dodal[dev] && pre-commit install && ln -s /dls_sw/apps/dials/latest/latest/modules/dlstbx/src/dlstbx/ /venv/lib/python3.12/site-packages/dlstbx"
|
|
75
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"folders": [
|
|
3
|
+
{
|
|
4
|
+
"path": ".."
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"path": "../../dodal"
|
|
8
|
+
},
|
|
9
|
+
],
|
|
10
|
+
"settings": {
|
|
11
|
+
"python.languageServer": "Pylance",
|
|
12
|
+
"[python]": {
|
|
13
|
+
"editor.defaultFormatter": "ms-python.black-formatter"
|
|
14
|
+
},
|
|
15
|
+
"python.defaultInterpreterPath": "venv/bin/python",
|
|
16
|
+
"python.analysis.extraPaths": [
|
|
17
|
+
"../dodal"
|
|
18
|
+
],
|
|
19
|
+
"python.analysis.autoImportCompletions": true,
|
|
20
|
+
"terminal.integrated.gpuAcceleration": "off",
|
|
21
|
+
"esbonio.sphinx.confDir": ""
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
"editor.defaultFormatter": "ms-python.black-formatter"
|
|
14
14
|
},
|
|
15
15
|
"python.defaultInterpreterPath": ".venv/bin/python",
|
|
16
|
-
"python.analysis.extraPaths": [
|
|
16
|
+
"python.analysis.extraPaths": [
|
|
17
|
+
"../dodal"
|
|
18
|
+
],
|
|
17
19
|
"python.analysis.autoImportCompletions": true,
|
|
18
20
|
"terminal.integrated.gpuAcceleration": "off",
|
|
19
21
|
"esbonio.sphinx.confDir": ""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.7
|
|
4
4
|
Summary: Bluesky tools for MX Beamlines at DLS
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -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.59.1
|
|
245
245
|
Provides-Extra: dev
|
|
246
246
|
Requires-Dist: black; extra == "dev"
|
|
247
247
|
Requires-Dist: build; extra == "dev"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Get Started with mx-bluesky
|
|
2
|
+
|
|
3
|
+
## Development Environment
|
|
4
|
+
|
|
5
|
+
We recommend using devcontainers with vscode as the IDE when developing using a DLS machine. Here's how you can set this up:
|
|
6
|
+
|
|
7
|
+
- Clone this repo using SSH: `git clone git@github.com:DiamondLightSource/mx-bluesky.git`.
|
|
8
|
+
- At the same directory level as you were in for step 1, clone dodal using SSH: `git clone git@github.com:DiamondLightSource/dodal.git`.
|
|
9
|
+
You should now have a directory structure looking like`/some_path/mx-bluesky` and `/some_path/dodal`.
|
|
10
|
+
- In a terminal, move to the mx-bluesky directory and open vscode:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
cd /some_path/mx-bluesky
|
|
14
|
+
module load vscode
|
|
15
|
+
code .
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
- Make sure you have the [devcontainers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed in vscode.
|
|
19
|
+
- In vscode, press `shift+ctrl+p`, and type "Dev Containers: Open Folder in Container", then select the mx-bluesky folder.
|
|
20
|
+
- Once this has built, in vscode at the top right, click `File -> Open workspace from file`, then select `mx-bluesky/.vscode/mx-bluesky-dev-container.code-workspace`.
|
|
21
|
+
- This should get dodal and mx-bluesky opened up in your workspace with all the correct settings. To prove to yourself that the environment is correct, type `tox -e tests` in a terminal in your devcontainer while inside the dodal and inside the mx-bluesky directory.
|
|
22
|
+
|
|
23
|
+
### Notes
|
|
24
|
+
- The devcontainer initially takes quite a long time to build. It will be much faster every other time, and only needs to be rebuild if we change the container environment.
|
|
25
|
+
- The first time you make a commit after building, you will need to follow some git prompts to set your git name and email.
|
|
26
|
+
- The old `dls_dev_env.sh` script creates a virtual environment in `mx-bluesky/.venv`, while the devcontainer creates one in `mx-bluesky/venv`. This is the only reason why we need separate code-workspace files.
|
|
27
|
+
|
|
28
|
+
## Supported Python versions
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
As a standard for the python versions to support, we are using the [numpy deprecation policy](https://numpy.org/neps/nep-0029-deprecation_policy.html)
|
|
32
|
+
|
|
33
|
+
Currently supported versions are: 3.11, 3.12.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Hyperion Baton
|
|
2
|
+
==============
|
|
3
|
+
|
|
4
|
+
The Hyperion baton is controlled by two PVs; these are described under `Special PVs`_
|
|
5
|
+
|
|
6
|
+
An approximate outline of how the various baton workflows operates is outlined in the flowcharts below:
|
|
7
|
+
|
|
8
|
+
.. image:: ../../../images/417717258-afbd813c-8941-445c-9fdf-255c167453cf.png
|
|
9
|
+
|
|
10
|
+
.. _Special PVs: ../../../user/hyperion/pvs.html
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
GDA-side Baton Integration
|
|
14
|
+
--------------------------
|
|
15
|
+
|
|
16
|
+
Below is a diagram showing how baton-handling in GDA integrates the GDA baton with the Hyperion Baton PV, using the
|
|
17
|
+
``HyperionUDCRunner``.
|
|
18
|
+
|
|
19
|
+
The diagram represents an interim stage; at some point ``GDAUDCRunner`` can be eliminated and the baton management
|
|
20
|
+
simplified.
|
|
21
|
+
|
|
22
|
+
.. uml:: gda-baton.puml
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
@startuml
|
|
2
|
+
title GDA Baton Management
|
|
3
|
+
|
|
4
|
+
package Server {
|
|
5
|
+
class Thread
|
|
6
|
+
class JythonServerThread extends Thread {
|
|
7
|
+
authorisationLevel: int
|
|
8
|
+
int getAuthorisationLevel()
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface IBatonManager {
|
|
12
|
+
ClientDetails getClientInformation((myJSFIdentifier)
|
|
13
|
+
boolean requestBaton(uniqueIdentifier)
|
|
14
|
+
void returnBaton((uniqueIdentifier)
|
|
15
|
+
void assignBaton(myJSFIdentifier, indexOfReceiver, indexOfPasser)
|
|
16
|
+
boolean isBatonHeld()
|
|
17
|
+
boolean amIBatonHolder(myJSFIdentifier)
|
|
18
|
+
int effectiveAuthorisationLevelOf(uniqueId)
|
|
19
|
+
void addFacade(uniqueId, info: ClientDetails)
|
|
20
|
+
void removeFacade(uniqueId)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
class BatonManager implements IBatonManager {
|
|
24
|
+
useBaton = true
|
|
25
|
+
useRBAC = true
|
|
26
|
+
firstClientTakesBaton = true
|
|
27
|
+
batonHolder: String
|
|
28
|
+
facadeNames: Map<String, ClientInfo>
|
|
29
|
+
leaseHolders: Map<String, Long>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
note "Each client has a facade name aka uniqueId aka jsfIdentifier\n\
|
|
33
|
+
There is a LeaseRefresher that periodically sends a BatonLeaseRenewRequest\n\
|
|
34
|
+
to all clients, any interaction with the BatonManager extends the lease.\n\n\
|
|
35
|
+
On first client registration, if firstClientTakesBaton is true then it will\n\
|
|
36
|
+
assume the baton if it is not the server or an automated client." as batonManagerNote
|
|
37
|
+
|
|
38
|
+
BatonManager .. batonManagerNote
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
interface IJythonServerNotifier {
|
|
42
|
+
void notifyServer(source, data)
|
|
43
|
+
}
|
|
44
|
+
interface LocalJython
|
|
45
|
+
class JythonServer implements LocalJython {
|
|
46
|
+
batonManager: BatonManager
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
note "JythonServer registers a client with the BatonManager via forwarding of addFacade()\n\
|
|
50
|
+
The authorisationLevel is determined by asking the Authoriser" as jythonServerNote
|
|
51
|
+
|
|
52
|
+
JythonServer .. jythonServerNote
|
|
53
|
+
|
|
54
|
+
interface Authoriser {
|
|
55
|
+
int getAuthorisationLevel(username)
|
|
56
|
+
int getDefaultPermissions(username)
|
|
57
|
+
isLocalStaff(username)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
class FileAuthoriser implements Authoriser
|
|
61
|
+
note "Gets the permissions from user_permissions.xml" as fileAuthoriserNote
|
|
62
|
+
FileAuthoriser .. fileAuthoriserNote
|
|
63
|
+
class LdapAuthoriser extends FileAuthoriser
|
|
64
|
+
class SingleFileAuthoriser implements Authoriser
|
|
65
|
+
note "Authorisation method is determined by gda.gui.AcquisitionGUI.authorisationMethod" as authoriserNote
|
|
66
|
+
|
|
67
|
+
Authoriser .. authoriserNote
|
|
68
|
+
|
|
69
|
+
together {
|
|
70
|
+
class UDCBatonHandler {
|
|
71
|
+
runner: IUDCRunner
|
|
72
|
+
}
|
|
73
|
+
interface IUDCRunner
|
|
74
|
+
class GDAUDCRunner implements IUDCRunner
|
|
75
|
+
class HyperionUDCRunner implements IUDCRunner
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
note "\
|
|
79
|
+
Creates the UDC Client by calling getUnattendedClientFacade() during configuration.\n\
|
|
80
|
+
Creates the UDC Runner according to the gda.mx.udc.hyperion.enable property.\
|
|
81
|
+
" as udcBatonHandlerNote
|
|
82
|
+
UDCBatonHandler .. udcBatonHandlerNote
|
|
83
|
+
|
|
84
|
+
class Device {
|
|
85
|
+
protectionLevel: int
|
|
86
|
+
}
|
|
87
|
+
class DeviceInterceptor
|
|
88
|
+
note "DeviceInterceptor is an interceptor on specific methods of Device, if the current thread\n\
|
|
89
|
+
has an authorisationLevel below the protectionLevel of the device, and\n\
|
|
90
|
+
the call is made from Jython the method call throws AccessDeniedException." as deviceNote
|
|
91
|
+
Device .. deviceNote
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class UDCCompleteEvent
|
|
96
|
+
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
package Common {
|
|
100
|
+
together {
|
|
101
|
+
class BatonChanged
|
|
102
|
+
class BatonRequested
|
|
103
|
+
class BatonLeaseRenewRequest
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
interface Jython {
|
|
107
|
+
boolean amIBatonHolder(myJSFIdentifier)
|
|
108
|
+
int addFacade(jsfIdentifier, hostname, username, fullName, visitId)
|
|
109
|
+
boolean isBatonHeld()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
class ClientInfo {
|
|
113
|
+
index: int
|
|
114
|
+
userId: String
|
|
115
|
+
fullName: String
|
|
116
|
+
hostname: String
|
|
117
|
+
authorisationLevel: int
|
|
118
|
+
visitID: String
|
|
119
|
+
|
|
120
|
+
boolean isServer()
|
|
121
|
+
boolean isAutomatedUser()
|
|
122
|
+
}
|
|
123
|
+
note "isServer and isAutomatedUser are determined by the authorisationLevel" as clientInfoNote
|
|
124
|
+
ClientInfo .. clientInfoNote
|
|
125
|
+
|
|
126
|
+
class ClientDetails extends ClientInfo {
|
|
127
|
+
hasBaton: boolean
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface IAuthorisationHolder {
|
|
131
|
+
int getAuthorisationLevel()
|
|
132
|
+
int getAuthorisationLevelAtRegistration()
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
interface IBatonStateProvider {
|
|
136
|
+
boolean amIBatonHolder()
|
|
137
|
+
boolean isBatonHeld()
|
|
138
|
+
void addBatonChangedObserver(observer)
|
|
139
|
+
void deleteBatonChangedObserver(observer)
|
|
140
|
+
}
|
|
141
|
+
note "Access is enforced in the client via calls to amIBatonHolder()" as iBatonStateProviderNote
|
|
142
|
+
|
|
143
|
+
class JythonServerFacade implements IBatonStateProvider, IAuthorisationHolder {
|
|
144
|
+
commandServer: Jython
|
|
145
|
+
visitID: String
|
|
146
|
+
{static} JythonServerFacade getUnattendedClientFacade()
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
package Client {
|
|
151
|
+
class ApplicationWorkbenchAdvisor
|
|
152
|
+
note "ApplicationWorkbenchAdvisor receives the BatonLeaseRenewRequest and uses IBatonStateProvider\n\
|
|
153
|
+
to renew the lease by calling amIBatonHolder()" as applicationWorkbenchAdvisorNote
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
'Server -up-> Common
|
|
157
|
+
'Common -up[hidden]-> Client
|
|
158
|
+
ApplicationWorkbenchAdvisor ..[norank] applicationWorkbenchAdvisorNote
|
|
159
|
+
|
|
160
|
+
ApplicationWorkbenchAdvisor --down> IBatonStateProvider
|
|
161
|
+
|
|
162
|
+
IBatonStateProvider .. iBatonStateProviderNote
|
|
163
|
+
LocalJython -up-|> Jython
|
|
164
|
+
LocalJython --|> IJythonServerNotifier
|
|
165
|
+
|
|
166
|
+
JythonServerFacade o-> Jython
|
|
167
|
+
JythonServer o->BatonManager
|
|
168
|
+
JythonServer --> Authoriser
|
|
169
|
+
|
|
170
|
+
JythonServer --> JythonServerThread
|
|
171
|
+
|
|
172
|
+
BatonChanged --> UDCBatonHandler : handles
|
|
173
|
+
BatonRequested --> UDCBatonHandler : handles
|
|
174
|
+
UDCCompleteEvent --> UDCBatonHandler : handles
|
|
175
|
+
|
|
176
|
+
UDCBatonHandler -[norank]-> JythonServerFacade
|
|
177
|
+
UDCBatonHandler o-> IUDCRunner
|
|
178
|
+
BatonManager -up-> BatonChanged : fires
|
|
179
|
+
BatonManager -up-> BatonRequested : fires
|
|
180
|
+
BatonManager -up-> BatonLeaseRenewRequest : fires
|
|
181
|
+
GDAUDCRunner -[norank]-> UDCCompleteEvent : fires
|
|
182
|
+
BatonManager *-[norank]-> ClientInfo
|
|
183
|
+
|
|
184
|
+
UDCCompleteEvent --> GDAUDCRunner : handles
|
|
185
|
+
HyperionUDCRunner --> UDCCompleteEvent : fires
|
|
186
|
+
|
|
187
|
+
DeviceInterceptor --> Device
|
|
188
|
+
DeviceInterceptor --> JythonServerThread
|
|
189
|
+
|
|
190
|
+
BatonManager -up-> IJythonServerNotifier
|
|
191
|
+
|
|
192
|
+
@enduml
|
|
@@ -97,13 +97,13 @@ class GridScanParamsCommon {
|
|
|
97
97
|
z2_start_mm
|
|
98
98
|
}
|
|
99
99
|
class PandAGridScanParams
|
|
100
|
-
class
|
|
100
|
+
class ZebraGridScanParamsThreeD
|
|
101
101
|
|
|
102
102
|
AbstractExperimentBase <|-- AbstractExperimentWithBeamParams
|
|
103
103
|
AbstractExperimentWithBeamParams <|-- GridScanParamsCommon
|
|
104
104
|
GridScanParamsCommon <|-- PandAGridScanParams
|
|
105
|
-
GridScanParamsCommon <|--
|
|
105
|
+
GridScanParamsCommon <|-- ZebraGridScanParamsThreeD
|
|
106
106
|
|
|
107
|
-
HyperionThreeDGridScan -->
|
|
107
|
+
HyperionThreeDGridScan --> ZebraGridScanParamsThreeD : generates
|
|
108
108
|
HyperionThreeDGridScan --> PandAGridScanParams : generates
|
|
109
109
|
@enduml
|
|
@@ -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.5 → mx_bluesky-1.5.7}/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
|
|
|
@@ -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/
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Hyperion User Guide
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
The Hyperion User Guide describes how to run, configure and troubleshoot Hyperion. For installation instructions, see
|
|
5
|
+
the `Developer Guide`_.
|
|
6
|
+
|
|
7
|
+
What is Hyperion?
|
|
8
|
+
-----------------
|
|
9
|
+
|
|
10
|
+
Hyperion is a service for running high throughput unattended data collection (UDC). It does not provide a user
|
|
11
|
+
interface, instead instructions are pulled from Agamemnon which is controlled by information obtained in ISPyB.
|
|
12
|
+
|
|
13
|
+
The software supports two modes of operation:
|
|
14
|
+
|
|
15
|
+
* UDC mode (experimental) where Hyperion automatically fetches instructions from Agamemnon.
|
|
16
|
+
* GDA mode (where GDA fetches and decodes the Agamemnon
|
|
17
|
+
instructions). GDA mode will be removed in a future release.
|
|
18
|
+
|
|
19
|
+
The mode of operation is determined by configuration using the ``gda.mx.udc.hyperion.enable`` parameter inside
|
|
20
|
+
GDA properties. See `configuration`_ for other properties that control Hyperions behavior.
|
|
21
|
+
|
|
22
|
+
Once Hyperion has received a request, either from GDA or directly from Agamemnon, it will do the following tasks:
|
|
23
|
+
|
|
24
|
+
- Robot Load (if the requested sample has not yet been loaded)
|
|
25
|
+
- Pin tip centring using the OAV
|
|
26
|
+
- Xray Centring using 2 2D gridscans
|
|
27
|
+
- A number of data collections, depending on the number of centres returned from Zocalo and the applied selection criteria
|
|
28
|
+
|
|
29
|
+
During this it will generate the following outputs:
|
|
30
|
+
|
|
31
|
+
- Snapshots on robot load, XRC and rotations
|
|
32
|
+
- Data collections in ISPyB for the gridscans and rotations as well as entries for robot load/unload
|
|
33
|
+
- NeXus files for each data collection
|
|
34
|
+
- Alert notifications on loading a new container and on beamline error conditions when intervention is required.
|
|
35
|
+
|
|
36
|
+
To increase throughput, the behavior of Hyperion differs in many ways from UDC under GDA. The main ways this manifests
|
|
37
|
+
to a user is:
|
|
38
|
+
|
|
39
|
+
- Xray Centring is 2 2D gridscans (rather than the one gridscan and one line scan in GDA). For speed, the eiger is only
|
|
40
|
+
armed once for both of these and the data is split up after the fact. This means on the filesystem there is one set of
|
|
41
|
+
hdf files for both gridscans but two NeXus files. The two grid scans are stored in ISPyB under one data collection
|
|
42
|
+
group so at first glance it may look like one gridscan in synchweb but you can click through to see both scans.
|
|
43
|
+
- If an xray centre cannot be done on a pin (because it is too long/short or bent), or if no diffraction is found in the
|
|
44
|
+
xray centring data, the sample will be immediately unloaded without a rotation scan being done and the next sample loaded.
|
|
45
|
+
|
|
46
|
+
For a more detailed breakdown of the operation, it may be helpful to browse the `Code Map`_
|
|
47
|
+
|
|
48
|
+
.. _Code Map: ../../developer/code-map
|
|
49
|
+
.. _Developer Guide: ../../developer/hyperion/deploying-hyperion
|
|
50
|
+
.. _configuration: ./configuration
|
|
51
|
+
|
|
52
|
+
.. toctree::
|
|
53
|
+
:caption: Topics
|
|
54
|
+
:maxdepth: 1
|
|
55
|
+
:glob:
|
|
56
|
+
|
|
57
|
+
*
|
|
@@ -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.
|