mx-bluesky 1.2.0__tar.gz → 1.4.1__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.2.0 → mx_bluesky-1.4.1}/.copier-answers.yml +3 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.devcontainer/Dockerfile +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/CONTRIBUTING.md +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/pages/make_switcher.py +8 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_container.yml +1 -5
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_pypi.yml +2 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_release.yml +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/ci.yml +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.gitignore +1 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.pre-commit-config.yaml +8 -0
- mx_bluesky-1.4.1/.vscode/mxb-with-core-dependencies.code-workspace +23 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/Dockerfile +4 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/Dockerfile.release +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/PKG-INFO +5 -3
- mx_bluesky-1.4.1/docs/_api.rst +16 -0
- mx_bluesky-1.4.1/docs/_templates/custom-module-template.rst +37 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/conf.py +15 -5
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +1 -1
- mx_bluesky-1.4.1/docs/developer/general/how-to/deploy-a-release.rst +57 -0
- mx_bluesky-1.4.1/docs/developer/general/how-to/dev-ops/dev-ops.rst +8 -0
- {mx_bluesky-1.2.0/docs/developer/general/how-to → mx_bluesky-1.4.1/docs/developer/general/how-to/dev-ops}/lint.rst +5 -5
- {mx_bluesky-1.2.0/docs/developer/general/how-to → mx_bluesky-1.4.1/docs/developer/general/how-to/dev-ops}/run-tests.rst +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/index.rst +2 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/reference/standards.rst +2 -2
- mx_bluesky-1.4.1/docs/developer/general/tutorials/profile-tests.rst +84 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/deploying-hyperion.rst +10 -10
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/index.rst +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/reference/param_hierarchy.puml +4 -4
- mx_bluesky-1.4.1/docs/index.rst +22 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/helmchart/templates/deployment.yaml +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/code.yml +6 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/test_data/setup.cfg +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/pyproject.toml +39 -10
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/run_hyperion.sh +8 -8
- mx_bluesky-1.4.1/src/mx_bluesky/__init__.py +11 -0
- mx_bluesky-1.4.1/src/mx_bluesky/__main__.py +24 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/_version.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +14 -4
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +178 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i04/thawing_plan.py +49 -11
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/__init__.py +3 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/dcid.py +143 -171
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +121 -110
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +3 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +164 -169
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +149 -225
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +119 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +18 -17
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/log.py +58 -49
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +4 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +6 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +42 -15
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +44 -0
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +47 -0
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i24/serial/run_serial.py +52 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +2 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +104 -82
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +9 -20
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +26 -28
- mx_bluesky-1.4.1/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +107 -0
- mx_bluesky-1.4.1/src/mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py +14 -0
- mx_bluesky-1.4.1/src/mx_bluesky/common/external_interaction/config_server.py +46 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1/src/mx_bluesky/common}/parameters/components.py +54 -50
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1/src/mx_bluesky/common}/parameters/constants.py +52 -67
- mx_bluesky-1.4.1/src/mx_bluesky/common/parameters/gridscan.py +94 -0
- mx_bluesky-1.4.1/src/mx_bluesky/common/parameters/robot_load.py +16 -0
- mx_bluesky-1.4.1/src/mx_bluesky/common/plans/__init__.py +1 -0
- mx_bluesky-1.4.1/src/mx_bluesky/common/plans/do_fgs.py +121 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1/src/mx_bluesky/common/utils}/log.py +39 -20
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion → mx_bluesky-1.4.1/src/mx_bluesky/common/utils}/tracing.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/__main__.py +13 -10
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +47 -52
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py +6 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/setup_oav.py +6 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +5 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +49 -18
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +25 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py +4 -4
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/exceptions.py +13 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +4 -0
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +83 -0
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/experiment_plans/common/xrc_result.py +47 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +9 -9
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +147 -169
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +48 -22
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +112 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +21 -20
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +9 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +40 -21
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +22 -22
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +43 -39
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +69 -18
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +17 -7
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +13 -13
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -4
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +5 -2
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/common/abstract_event.py +66 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py +5 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/common/ispyb_mapping.py +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py +30 -25
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/ispyb_callback_base.py +29 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/log_uid_tag_callback.py +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +19 -11
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +7 -4
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +5 -3
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling/sample_handling_callback.py +84 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py +38 -27
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py +5 -4
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/config_server.py +18 -0
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/exceptions.py +4 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py +65 -15
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_store.py +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/nexus/nexus_utils.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/nexus/write_nexus.py +1 -1
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/log.py +15 -0
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/parameters/components.py +7 -0
- mx_bluesky-1.4.1/src/mx_bluesky/hyperion/parameters/constants.py +61 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/parameters/gridscan.py +35 -74
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +16 -11
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/parameters/rotation.py +23 -10
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/utils/utils.py +17 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/utils/validation.py +5 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/PKG-INFO +5 -3
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/SOURCES.txt +43 -23
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/requires.txt +4 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/conftest.py +120 -79
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/conftest.py +23 -60
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/experiment_plans/test_fgs_plan.py +11 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/experiment_plans/test_plan_system.py +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +24 -30
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/conftest.py +105 -19
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/test_config_service.py +2 -2
- mx_bluesky-1.4.1/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +83 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +15 -9
- mx_bluesky-1.4.1/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +477 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +11 -7
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/test_aperturescatterguard_system.py +4 -3
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +1 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_parameters.json +3 -4
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters_nomove.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -2
- mx_bluesky-1.4.1/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +56 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_beamline_vfm_lat_converter.txt +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +1 -1
- mx_bluesky-1.4.1/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +189 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i04/test_thawing.py +139 -30
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/conftest.py +77 -10
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +95 -27
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +1 -19
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +115 -64
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +148 -12
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +34 -11
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +45 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -2
- mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/test_dcid.py +116 -0
- mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/test_log.py +104 -0
- mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +47 -0
- mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +37 -0
- mx_bluesky-1.4.1/tests/unit_tests/common/device_setup_plans/test_read_hardware_for_setup.py +36 -0
- mx_bluesky-1.4.1/tests/unit_tests/common/plan_stubs/test_do_fgs.py +169 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/test_log → mx_bluesky-1.4.1/tests/unit_tests/common/utils}/test_log.py +77 -21
- mx_bluesky-1.4.1/tests/unit_tests/conftest.py +44 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/conftest.py +24 -20
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +179 -0
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +78 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +1 -1
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +20 -17
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +9 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +34 -18
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +26 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/conftest.py +100 -30
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/experiment_plans/test_change_aperture_then_move_plan.py +78 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +7 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_flyscan_xray_centre_plan.py +137 -226
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +122 -114
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_grid_detection_plan.py +115 -146
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +505 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +6 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_oav_snapshot_plan.py +14 -15
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +80 -28
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +58 -20
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +12 -42
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +201 -35
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +17 -8
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +18 -3
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/common/test_abstract_event.py +44 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +20 -11
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +186 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +5 -1
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +81 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +1 -1
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +299 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_callback.py +21 -26
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_mapping.py +3 -3
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/conftest.py +4 -13
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/ispyb/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/ispyb/conftest.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/ispyb/test_expeye_interaction.py +18 -4
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +28 -17
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +48 -14
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/test_main_system.py +15 -9
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/test_utils.py +19 -0
- mx_bluesky-1.4.1/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/utils/test_context.py +2 -2
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/deploy/create_venv.py +10 -6
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/deploy/deploy_hyperion_to_k8s.sh +10 -10
- mx_bluesky-1.2.0/utility_scripts/deploy/deploy_hyperion.py → mx_bluesky-1.4.1/utility_scripts/deploy/deploy_mx_bluesky.py +151 -84
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/docker/entrypoint.sh +4 -4
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/docker/i03-compose.yml +2 -2
- mx_bluesky-1.4.1/utility_scripts/procserv_ioc_start.sh +19 -0
- mx_bluesky-1.2.0/.github/workflows/publish_docker_image.yml +0 -50
- mx_bluesky-1.2.0/docs/developer/general/how-to/deploy-a-release.rst +0 -84
- mx_bluesky-1.2.0/docs/developer/general/how-to/static-analysis.rst +0 -8
- mx_bluesky-1.2.0/docs/developer/general/tutorials/dev-install.rst +0 -60
- mx_bluesky-1.2.0/docs/genindex.rst +0 -5
- mx_bluesky-1.2.0/docs/index.rst +0 -29
- mx_bluesky-1.2.0/docs/user/explanations/docs-structure.rst +0 -18
- mx_bluesky-1.2.0/docs/user/how-to/run-container.rst +0 -15
- mx_bluesky-1.2.0/docs/user/index.rst +0 -57
- mx_bluesky-1.2.0/docs/user/reference/api.rst +0 -14
- mx_bluesky-1.2.0/docs/user/tutorials/installation.rst +0 -38
- mx_bluesky-1.2.0/src/mx_bluesky/__init__.py +0 -6
- mx_bluesky-1.2.0/src/mx_bluesky/__main__.py +0 -19
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +0 -161
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -328
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -19
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -22
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -36
- mx_bluesky-1.2.0/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -105
- mx_bluesky-1.2.0/src/mx_bluesky/example.py +0 -19
- mx_bluesky-1.2.0/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -25
- mx_bluesky-1.2.0/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -46
- mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -35
- mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/exceptions.py +0 -13
- mx_bluesky-1.2.0/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -16
- mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -52
- mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +0 -254
- mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial/test_dcid.py +0 -34
- mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -68
- mx_bluesky-1.2.0/tests/unit_tests/conftest.py +0 -31
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -244
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -38
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -224
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -139
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -420
- mx_bluesky-1.2.0/tests/unit_tests/hyperion/test_log/conftest.py +0 -13
- mx_bluesky-1.2.0/tests/unit_tests/test_example.py +0 -16
- mx_bluesky-1.2.0/utility_scripts/deploy/deploy_mxbluesky.py +0 -189
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.coveragerc +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.dockerignore +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/pages/index.html +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_test.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.vscode/launch.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.vscode/settings.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/LICENSE +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/README.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/catalog-info.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/codecov.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/conftest.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.2.0/docs/developer/general/how-to → mx_bluesky-1.4.1/docs/developer/general/how-to/dev-ops}/build-docs.rst +0 -0
- {mx_bluesky-1.2.0/docs/developer/general/how-to → mx_bluesky-1.4.1/docs/developer/general/how-to/dev-ops}/update-tools.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/general/how-to/get-started.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/how-to/stage-pmac-moves.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/helmchart/Chart.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/helmchart/templates/ingress.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/helmchart/templates/service.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/helmchart/values.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/container_tests.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/linkcheck.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/pin_versions.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/hyperion_other/workflows/test_pin_versions.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/setup.cfg +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.4.1/src/mx_bluesky/common}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/callbacks/common → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/aperture_change_callback.py +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/logging_callback.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/plan_reactive_callback.py +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/ispyb → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/sample_handling}/__init__.py +0 -0
- {mx_bluesky-1.2.0/src/mx_bluesky/hyperion/external_interaction/nexus → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/callbacks/zocalo_callback.py +0 -0
- {mx_bluesky-1.2.0/tests → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/ispyb/data_model.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.2.0/tests/system_tests → mx_bluesky-1.4.1/src/mx_bluesky/hyperion/external_interaction/nexus}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/hyperion/utils/context.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/start_jupyter.sh +0 -0
- {mx_bluesky-1.2.0/tests/system_tests/hyperion → mx_bluesky-1.4.1/tests}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/system_tests/hyperion/experiment_plans → mx_bluesky-1.4.1/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.4.1/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.1/tests/system_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests → mx_bluesky-1.4.1/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/beamlines → mx_bluesky-1.4.1/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/system_tests/hyperion/test_device_setups_and_cleanups.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.4.1/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.4.1/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion → mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/device_setup_plans → mx_bluesky-1.4.1/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/experiment_plans → mx_bluesky-1.4.1/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction → mx_bluesky-1.4.1/tests/unit_tests/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.4.1/tests/unit_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.4.1/tests/unit_tests/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/device_setup_plans/test_xbpm_feedback.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/ispyb → mx_bluesky-1.4.1/tests/unit_tests/hyperion/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/external_interaction/nexus → mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/parameters → mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/test_log → mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.2.0/tests/unit_tests/hyperion/utils → mx_bluesky-1.4.1/tests/unit_tests/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/test_zocalo_handler.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/conftest.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_ispyb_handler.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/callbacks/xray_centre/test_nexus_handler.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/ispyb/test_rotation_ispyb_store.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/beam_off_trickery.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/utility_scripts/strip_metafile.py +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier
|
|
2
|
-
_commit: 2.
|
|
2
|
+
_commit: 2.5.0
|
|
3
3
|
_src_path: gh:DiamondLightSource/python-copier-template
|
|
4
4
|
author_email: dominic.oram@diamond.ac.uk
|
|
5
5
|
author_name: Dominic Oram
|
|
6
|
+
component_lifecycle: production
|
|
6
7
|
component_owner: group:data-acquisition
|
|
8
|
+
component_type: library
|
|
7
9
|
description: Bluesky tools for MX Beamlines at DLS
|
|
8
10
|
distribution_name: mx-bluesky
|
|
9
11
|
docker: true
|
|
@@ -54,4 +54,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua
|
|
|
54
54
|
|
|
55
55
|
This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
|
|
56
56
|
|
|
57
|
-
For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.
|
|
57
|
+
For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/2.5.0/how-to.html).
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"""Make switcher.json to allow docs to switch between different versions."""
|
|
2
|
+
|
|
1
3
|
import json
|
|
2
4
|
import logging
|
|
3
5
|
from argparse import ArgumentParser
|
|
@@ -6,6 +8,7 @@ from subprocess import CalledProcessError, check_output
|
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
def report_output(stdout: bytes, label: str) -> list[str]:
|
|
11
|
+
"""Print and return something received frm stdout."""
|
|
9
12
|
ret = stdout.decode().strip().split("\n")
|
|
10
13
|
print(f"{label}: {ret}")
|
|
11
14
|
return ret
|
|
@@ -52,14 +55,12 @@ def get_versions(ref: str, add: str | None) -> list[str]:
|
|
|
52
55
|
return versions
|
|
53
56
|
|
|
54
57
|
|
|
55
|
-
def write_json(path: Path, repository: str, versions: str):
|
|
58
|
+
def write_json(path: Path, repository: str, versions: list[str]):
|
|
59
|
+
"""Write the JSON switcher to path."""
|
|
56
60
|
org, repo_name = repository.split("/")
|
|
57
|
-
pages_url = f"https://{org}.github.io"
|
|
58
|
-
if repo_name != f"{org}.github.io":
|
|
59
|
-
# Only add the repo name if it isn't the source for the org pages site
|
|
60
|
-
pages_url += f"/{repo_name}"
|
|
61
61
|
struct = [
|
|
62
|
-
{"version": version, "url": f"{
|
|
62
|
+
{"version": version, "url": f"https://{org}.github.io/{repo_name}/{version}/"}
|
|
63
|
+
for version in versions
|
|
63
64
|
]
|
|
64
65
|
text = json.dumps(struct, indent=2)
|
|
65
66
|
print(f"JSON switcher:\n{text}")
|
|
@@ -67,6 +68,7 @@ def write_json(path: Path, repository: str, versions: str):
|
|
|
67
68
|
|
|
68
69
|
|
|
69
70
|
def main(args=None):
|
|
71
|
+
"""Parse args and write switcher."""
|
|
70
72
|
parser = ArgumentParser(
|
|
71
73
|
description="Make a versions.json file from gh-pages directories"
|
|
72
74
|
)
|
|
@@ -30,12 +30,8 @@ jobs:
|
|
|
30
30
|
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
31
31
|
with:
|
|
32
32
|
context: .
|
|
33
|
-
|
|
33
|
+
file: Dockerfile.release
|
|
34
34
|
load: true
|
|
35
|
-
tags: tag_for_testing
|
|
36
|
-
|
|
37
|
-
- name: Test cli works in cached runtime image
|
|
38
|
-
run: docker run --rm tag_for_testing --version
|
|
39
35
|
|
|
40
36
|
- name: Create tags for publishing image
|
|
41
37
|
id: meta
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
- name: Create GitHub Release
|
|
24
24
|
# We pin to the SHA, not the tag, for security reasons.
|
|
25
25
|
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
|
|
26
|
-
uses: softprops/action-gh-release@
|
|
26
|
+
uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9
|
|
27
27
|
with:
|
|
28
28
|
prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
|
|
29
29
|
files: "*"
|
|
@@ -21,7 +21,7 @@ jobs:
|
|
|
21
21
|
strategy:
|
|
22
22
|
matrix:
|
|
23
23
|
runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
|
|
24
|
-
python-version: ["3.11"
|
|
24
|
+
python-version: ["3.11", "3.12"]
|
|
25
25
|
fail-fast: false
|
|
26
26
|
uses: ./.github/workflows/_test.yml
|
|
27
27
|
with:
|
|
@@ -26,6 +26,14 @@ repos:
|
|
|
26
26
|
types: [python]
|
|
27
27
|
require_serial: true
|
|
28
28
|
|
|
29
|
+
- id: import-contracts
|
|
30
|
+
name: Ensure import directionality
|
|
31
|
+
pass_filenames: false
|
|
32
|
+
language: system
|
|
33
|
+
entry: lint-imports
|
|
34
|
+
types: [python]
|
|
35
|
+
require_serial: false
|
|
36
|
+
|
|
29
37
|
# Type checking
|
|
30
38
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
31
39
|
rev: v1.4.1
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// To use this you should obviously have these all in the parent directory
|
|
2
|
+
{
|
|
3
|
+
"folders": [
|
|
4
|
+
{
|
|
5
|
+
"path": ".."
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"path": "../../dodal"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"path": "../../bluesky"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "../../ophyd"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"path": "../../ophyd-async"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"settings": {
|
|
21
|
+
"terminal.integrated.gpuAcceleration": "off"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
# The devcontainer should use the developer target and run as root with podman
|
|
2
2
|
# or docker with user namespaces.
|
|
3
|
-
ARG PYTHON_VERSION=3.
|
|
3
|
+
ARG PYTHON_VERSION=3.12
|
|
4
4
|
FROM python:${PYTHON_VERSION} AS developer
|
|
5
5
|
|
|
6
6
|
# Add any system dependencies for the developer/build environment here
|
|
7
7
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
8
8
|
graphviz \
|
|
9
|
+
ffmpeg \
|
|
10
|
+
libsm6 \
|
|
11
|
+
libxext6 \
|
|
9
12
|
&& rm -rf /var/lib/apt/lists/*
|
|
10
13
|
|
|
11
14
|
# Set up a virtual environment and put it in PATH
|
|
@@ -33,6 +33,6 @@ RUN git restore .
|
|
|
33
33
|
RUN rm src/mx_bluesky/_version.py
|
|
34
34
|
RUN pip install --no-cache-dir --no-compile --no-deps -e .
|
|
35
35
|
|
|
36
|
-
ENTRYPOINT /app/hyperion/utility_scripts/docker/entrypoint.sh
|
|
36
|
+
ENTRYPOINT ["/app/hyperion/utility_scripts/docker/entrypoint.sh"]
|
|
37
37
|
|
|
38
38
|
EXPOSE 5005
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.1
|
|
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
|
|
@@ -226,6 +226,7 @@ Requires-Dist: opencv-python
|
|
|
226
226
|
Requires-Dist: opentelemetry-distro
|
|
227
227
|
Requires-Dist: opentelemetry-exporter-otlp
|
|
228
228
|
Requires-Dist: pydantic
|
|
229
|
+
Requires-Dist: pydantic-extra-types
|
|
229
230
|
Requires-Dist: pyepics
|
|
230
231
|
Requires-Dist: pyzmq
|
|
231
232
|
Requires-Dist: requests
|
|
@@ -236,14 +237,15 @@ Requires-Dist: matplotlib
|
|
|
236
237
|
Requires-Dist: blueapi>=0.5.0
|
|
237
238
|
Requires-Dist: daq-config-server>=0.1.1
|
|
238
239
|
Requires-Dist: ophyd==1.9.0
|
|
239
|
-
Requires-Dist: ophyd-async>=0.
|
|
240
|
+
Requires-Dist: ophyd-async>=0.8a5
|
|
240
241
|
Requires-Dist: bluesky>=1.13.0a4
|
|
241
|
-
Requires-Dist: dls-dodal==1.
|
|
242
|
+
Requires-Dist: dls-dodal==1.36.2
|
|
242
243
|
Provides-Extra: dev
|
|
243
244
|
Requires-Dist: black; extra == "dev"
|
|
244
245
|
Requires-Dist: build; extra == "dev"
|
|
245
246
|
Requires-Dist: diff-cover; extra == "dev"
|
|
246
247
|
Requires-Dist: GitPython; extra == "dev"
|
|
248
|
+
Requires-Dist: import-linter; extra == "dev"
|
|
247
249
|
Requires-Dist: ipython; extra == "dev"
|
|
248
250
|
Requires-Dist: mypy; extra == "dev"
|
|
249
251
|
Requires-Dist: myst-parser; extra == "dev"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
:orphan:
|
|
2
|
+
|
|
3
|
+
..
|
|
4
|
+
This page is not included in the TOC tree, but must exist so that the
|
|
5
|
+
autosummary pages are generated for mx_bluesky and all its
|
|
6
|
+
subpackages
|
|
7
|
+
|
|
8
|
+
API
|
|
9
|
+
===
|
|
10
|
+
|
|
11
|
+
.. autosummary::
|
|
12
|
+
:toctree: _api
|
|
13
|
+
:template: custom-module-template.rst
|
|
14
|
+
:recursive:
|
|
15
|
+
|
|
16
|
+
mx_bluesky
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{{ ('``' + fullname + '``') | underline }}
|
|
2
|
+
|
|
3
|
+
{%- set filtered_members = [] %}
|
|
4
|
+
{%- for item in members %}
|
|
5
|
+
{%- if item in functions + classes + exceptions + attributes %}
|
|
6
|
+
{% set _ = filtered_members.append(item) %}
|
|
7
|
+
{%- endif %}
|
|
8
|
+
{%- endfor %}
|
|
9
|
+
|
|
10
|
+
.. automodule:: {{ fullname }}
|
|
11
|
+
:members:
|
|
12
|
+
|
|
13
|
+
{% block modules %}
|
|
14
|
+
{% if modules %}
|
|
15
|
+
.. rubric:: Submodules
|
|
16
|
+
|
|
17
|
+
.. autosummary::
|
|
18
|
+
:toctree:
|
|
19
|
+
:template: custom-module-template.rst
|
|
20
|
+
:recursive:
|
|
21
|
+
{% for item in modules %}
|
|
22
|
+
{{ item }}
|
|
23
|
+
{%- endfor %}
|
|
24
|
+
{% endif %}
|
|
25
|
+
{% endblock %}
|
|
26
|
+
|
|
27
|
+
{% block members %}
|
|
28
|
+
{% if filtered_members %}
|
|
29
|
+
.. rubric:: Members
|
|
30
|
+
|
|
31
|
+
.. autosummary::
|
|
32
|
+
:nosignatures:
|
|
33
|
+
{% for item in filtered_members %}
|
|
34
|
+
{{ item }}
|
|
35
|
+
{%- endfor %}
|
|
36
|
+
{% endif %}
|
|
37
|
+
{% endblock %}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"""Configuration file for the Sphinx documentation builder.
|
|
2
|
+
|
|
3
|
+
This file only contains a selection of the most common options. For a full
|
|
4
|
+
list see the documentation:
|
|
5
|
+
https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
6
|
+
"""
|
|
6
7
|
|
|
7
8
|
import sys
|
|
8
9
|
from pathlib import Path
|
|
@@ -32,6 +33,8 @@ else:
|
|
|
32
33
|
extensions = [
|
|
33
34
|
# Use this for generating API docs
|
|
34
35
|
"sphinx.ext.autodoc",
|
|
36
|
+
# and making summary tables at the top of API docs
|
|
37
|
+
"sphinx.ext.autosummary",
|
|
35
38
|
# This can parse google style docstrings
|
|
36
39
|
"sphinx.ext.napoleon",
|
|
37
40
|
# For linking to external sphinx documentation
|
|
@@ -93,6 +96,12 @@ autodoc_member_order = "bysource"
|
|
|
93
96
|
# Don't inherit docstrings from baseclasses
|
|
94
97
|
autodoc_inherit_docstrings = False
|
|
95
98
|
|
|
99
|
+
# Document only what is in __all__
|
|
100
|
+
autosummary_ignore_module_all = False
|
|
101
|
+
|
|
102
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
103
|
+
templates_path = ["_templates"]
|
|
104
|
+
|
|
96
105
|
# Output graphviz directive produced images in a scalable format
|
|
97
106
|
graphviz_output_format = "svg"
|
|
98
107
|
|
|
@@ -127,6 +136,7 @@ rst_epilog = """
|
|
|
127
136
|
.. _black: https://github.com/psf/black
|
|
128
137
|
.. _mypy: http://mypy-lang.org/
|
|
129
138
|
.. _pre-commit: https://pre-commit.com/
|
|
139
|
+
.. _ruff: https://github.com/astral-sh/ruff
|
|
130
140
|
"""
|
|
131
141
|
|
|
132
142
|
# Ignore localhost links for periodic check that links in docs are valid
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Deploy a New Release
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
**Remember to discuss any new deployments with the appropriate beamline scientist.**
|
|
5
|
+
|
|
6
|
+
The ``utility_scripts/deploy/deploy_mx_bluesky.py`` script will deploy the latest mx-bluesky version to a specified beamline. Deployments live in ``/dls_sw/ixx/software/bluesky/mx-bluesky_vX.X.X``. To do a new deployment you should run the deploy script from your mx-bluesky dev environment with e.g.
|
|
7
|
+
If you have just created a new release, you may need to run git fetch --tags to get the newest release.
|
|
8
|
+
|
|
9
|
+
.. code:: console
|
|
10
|
+
|
|
11
|
+
python ./utility_scripts/deploy/deploy_mx_bluesky.py i24
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
If you want to test the script for a specific beamline you can run:
|
|
15
|
+
|
|
16
|
+
.. code:: console
|
|
17
|
+
|
|
18
|
+
python ./deploy/deploy_mx_bluesky.py i03 --dev
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
which will create the beamline deployment of the new release in ``/scratch/30day_tmp/mx-bluesky_release_test``.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
.. note::
|
|
25
|
+
|
|
26
|
+
When deploying on I24, the edm screens for serial crystallography will be deployed automatically along with the mx-bluesky release.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
The script has a few additional optional arguments, which can be viewed with:
|
|
30
|
+
|
|
31
|
+
.. code:: console
|
|
32
|
+
|
|
33
|
+
python ./deploy/deploy_mx_bluesky.py -h
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
For building and deploying a Docker image please see :doc:`../../hyperion/deploying-hyperion`.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
.. note::
|
|
40
|
+
|
|
41
|
+
On i03 the installation will succeed with error messages due to RedHat7 versions of a dependency being unavailable.
|
|
42
|
+
This results in the installation being incomplete, thus requiring the following post-installation steps:
|
|
43
|
+
|
|
44
|
+
First, on a RedHat8 workstation, run
|
|
45
|
+
|
|
46
|
+
.. code:: console
|
|
47
|
+
|
|
48
|
+
. ./.venv/bin/activate
|
|
49
|
+
pip install confluent-kafka
|
|
50
|
+
|
|
51
|
+
Then, on the control machine, run
|
|
52
|
+
|
|
53
|
+
.. code:: console
|
|
54
|
+
|
|
55
|
+
. ./.venv/bin/activate
|
|
56
|
+
pip install -e .
|
|
57
|
+
pip install -e ../dodal
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Run linting using pre-commit
|
|
2
2
|
============================
|
|
3
3
|
|
|
4
|
-
Code linting is handled by
|
|
4
|
+
Code linting is handled by ruff_, run under pre-commit_.
|
|
5
5
|
|
|
6
6
|
Running pre-commit
|
|
7
7
|
------------------
|
|
@@ -18,15 +18,15 @@ commit`` on just the files that have changed::
|
|
|
18
18
|
Fixing issues
|
|
19
19
|
-------------
|
|
20
20
|
|
|
21
|
-
If
|
|
21
|
+
If ruff reports an issue you can attempt to automatically reformat all the files in the
|
|
22
22
|
repository::
|
|
23
23
|
|
|
24
|
-
$
|
|
24
|
+
$ ruff check --fix .
|
|
25
25
|
|
|
26
26
|
If you get any ruff issues you will have to fix those manually.
|
|
27
27
|
|
|
28
28
|
VSCode support
|
|
29
29
|
--------------
|
|
30
30
|
|
|
31
|
-
The ``.vscode/settings.json`` will run
|
|
32
|
-
|
|
31
|
+
The ``.vscode/settings.json`` will run linters and formatters
|
|
32
|
+
on save. Issues will be highlighted in the editor window.
|
|
@@ -4,7 +4,7 @@ Run the tests using pytest
|
|
|
4
4
|
Testing is done with pytest_. It will find functions in the project that `look
|
|
5
5
|
like tests`_, and run them to check for errors. You can run it with::
|
|
6
6
|
|
|
7
|
-
$ tox -e
|
|
7
|
+
$ tox -e tests
|
|
8
8
|
|
|
9
9
|
It will also report coverage to the commandline and to ``cov.xml``.
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ Documentation is split into four categories, and each is also accessible from li
|
|
|
12
12
|
:caption: Tutorials
|
|
13
13
|
:maxdepth: 1
|
|
14
14
|
|
|
15
|
-
tutorials/
|
|
15
|
+
tutorials/profile-tests
|
|
16
16
|
|
|
17
17
|
+++
|
|
18
18
|
|
|
@@ -26,13 +26,9 @@ Documentation is split into four categories, and each is also accessible from li
|
|
|
26
26
|
|
|
27
27
|
how-to/get-started
|
|
28
28
|
how-to/contribute
|
|
29
|
-
how-to/build-docs
|
|
30
|
-
how-to/run-tests
|
|
31
|
-
how-to/static-analysis
|
|
32
|
-
how-to/lint
|
|
33
|
-
how-to/update-tools
|
|
34
29
|
how-to/create-a-release
|
|
35
30
|
how-to/deploy-a-release
|
|
31
|
+
how-to/dev-ops/dev-ops
|
|
36
32
|
|
|
37
33
|
+++
|
|
38
34
|
|
|
@@ -15,7 +15,7 @@ The code in this repository conforms to standards set by the following tools:
|
|
|
15
15
|
|
|
16
16
|
.. seealso::
|
|
17
17
|
|
|
18
|
-
How-to guides `../how-to/
|
|
18
|
+
How-to guides `../how-to/dev-ops/lint`
|
|
19
19
|
|
|
20
20
|
.. _documentation_standards:
|
|
21
21
|
|
|
@@ -60,4 +60,4 @@ Docs follow the underlining convention::
|
|
|
60
60
|
|
|
61
61
|
.. seealso::
|
|
62
62
|
|
|
63
|
-
How-to guide `../how-to/build-docs`
|
|
63
|
+
How-to guide `../how-to/dev-ops/build-docs`
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
Unit test performance
|
|
2
|
+
=====================
|
|
3
|
+
|
|
4
|
+
Ideally we want to keep the run-time of the unit tests down so that they are quick for developers to run locally.
|
|
5
|
+
Preferably they should run in under a minute.
|
|
6
|
+
|
|
7
|
+
General Guidelines
|
|
8
|
+
------------------
|
|
9
|
+
|
|
10
|
+
Where a unit test waits for some event to happen, ``wait`` on the group to complete rather than adding a fixed
|
|
11
|
+
``sleep``.
|
|
12
|
+
|
|
13
|
+
If testing a timeout, ensure that the timeout constant is either configurable or appropriately ``patch`` ed to a short
|
|
14
|
+
value e.g.
|
|
15
|
+
0.1s
|
|
16
|
+
|
|
17
|
+
How to profile the unit tests
|
|
18
|
+
-----------------------------
|
|
19
|
+
|
|
20
|
+
Sometimes tests can exhibit slowdowns for unknown reasons, in order to diagnose the cause it can be useful to profile
|
|
21
|
+
the test code.
|
|
22
|
+
|
|
23
|
+
The simplest way to find slow tests is to run ``pytest`` with the ``--durations`` option in order to find the slowest
|
|
24
|
+
tests.
|
|
25
|
+
|
|
26
|
+
e.g.
|
|
27
|
+
|
|
28
|
+
.. code-block:: bash
|
|
29
|
+
|
|
30
|
+
pytest -m "not (s03 or dlstbx)" --durations=10
|
|
31
|
+
|
|
32
|
+
in order to find the top 10 slowest tests
|
|
33
|
+
|
|
34
|
+
You can then often step through in the debugger to find lines which execute slowly.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
More detailed profiling
|
|
38
|
+
------------------------
|
|
39
|
+
|
|
40
|
+
Occasionally this is not sufficient. In which case more detailed profiling is necessary
|
|
41
|
+
|
|
42
|
+
Generating profiler output
|
|
43
|
+
--------------------------
|
|
44
|
+
|
|
45
|
+
You can install ``pytest-profiling`` to run the tests and generate profiling output
|
|
46
|
+
|
|
47
|
+
e.g.
|
|
48
|
+
|
|
49
|
+
.. code-block:: bash
|
|
50
|
+
|
|
51
|
+
pip install pytest-profiling
|
|
52
|
+
pytest --profile tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py::test_given_detector_bit_depth_changes_then_vds_datatype_as_expected
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
The output of this is quite brief but it will generate more detailed ``.prof`` files in the ``prof`` directory
|
|
56
|
+
|
|
57
|
+
To browse these files you need something useful. Snakeviz is a tool that can be used to browse the output:
|
|
58
|
+
|
|
59
|
+
.. code-block:: bash
|
|
60
|
+
|
|
61
|
+
cd prof
|
|
62
|
+
pip install snakeviz
|
|
63
|
+
snakeviz combined.prof
|
|
64
|
+
|
|
65
|
+
An alternative tool is py-spy.
|
|
66
|
+
|
|
67
|
+
e.g.
|
|
68
|
+
|
|
69
|
+
.. code-block:: bash
|
|
70
|
+
|
|
71
|
+
pip install py-spy
|
|
72
|
+
py-spy record -o profile.svg -- pytest -s tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py::test_given_no_energy_supplied_when_robot_load_then_centre_current_energy_set_on_eiger
|
|
73
|
+
|
|
74
|
+
This will generator an interactive SVG flamechart that can be opened in a browser to see hot methods.
|
|
75
|
+
|
|
76
|
+
Alternatively something like
|
|
77
|
+
|
|
78
|
+
.. code-block:: bash
|
|
79
|
+
|
|
80
|
+
py-spy top -- pytest -s tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py::test_given_no_energy_supplied_when_robot_load_then_centre_current_energy_set_on_eiger
|
|
81
|
+
|
|
82
|
+
to view a ``top`` -like updating view of where time is being spent. You will probably need to temporarily annotate the
|
|
83
|
+
test with
|
|
84
|
+
``@pytest.mark.parametrize`` in order to make the tests loop sufficient times in order to observe.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Building a deployable Docker image
|
|
2
2
|
==================================
|
|
3
3
|
|
|
4
|
-
Release builds of container images should be built by the github CI on release, ad-hoc builds can be performed via
|
|
4
|
+
Release builds of container images should be built by the github CI on release, ad-hoc builds can be performed via
|
|
5
5
|
manual invocation of the Publish Docker Image workflow.
|
|
6
6
|
|
|
7
7
|
Development builds of container images can be made by running the ``utility_scripts/build_docker_image.sh`` script.
|
|
8
|
-
By default it will both build and push the image unless you specify ``--no-build`` or ``--no-push``. To push an image
|
|
8
|
+
By default it will both build and push the image unless you specify ``--no-build`` or ``--no-push``. To push an image
|
|
9
9
|
you will first need to create a GH personal access token and then log in with podman as described below.
|
|
10
10
|
|
|
11
11
|
Pushing the docker image
|
|
@@ -79,16 +79,16 @@ Then create and deploy the helm release
|
|
|
79
79
|
|
|
80
80
|
./utility_scripts/deploy/deploy_hyperion_to_k8s.sh --beamline=<beamline> --checkout-to-prod hyperion
|
|
81
81
|
|
|
82
|
-
This will run the ``
|
|
82
|
+
This will run the ``deploy_mx_bluesky.py`` script to deploy the latest hyperion to ``/dls_sw``.
|
|
83
83
|
You will be prompted to log into the beamline cluster, then it will create a helm release "hyperion".
|
|
84
|
-
The source folders will be mounted as bind mounts to allow the pod to pick up changes in production.
|
|
84
|
+
The source folders will be mounted as bind mounts to allow the pod to pick up changes in production.
|
|
85
85
|
For production these are expected to be in the normal place defined in ``values.yaml``.
|
|
86
86
|
|
|
87
87
|
Development deployment
|
|
88
88
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
89
89
|
|
|
90
|
-
From a development ``hyperion`` workspace, either with a release image or using a development image built with the
|
|
91
|
-
script
|
|
90
|
+
From a development ``hyperion`` workspace, either with a release image or using a development image built with the
|
|
91
|
+
script
|
|
92
92
|
above, you install a dev deployment to the cluster you are currently logged into with ``kubectl``:
|
|
93
93
|
|
|
94
94
|
::
|
|
@@ -96,12 +96,12 @@ above, you install a dev deployment to the cluster you are currently logged into
|
|
|
96
96
|
./utility_scripts/deploy/deploy_hyperion_to_k8s.sh --dev --beamline=<beamline> --repository=<your image repo> hyperion-test
|
|
97
97
|
|
|
98
98
|
|
|
99
|
-
The dev deployment bind-mounts the current ``hyperion`` workspace and ``../dodal`` into the container so that you can
|
|
100
|
-
run against your own development code. **Clusters do not allow bind mounts from arbitrary directories so
|
|
99
|
+
The dev deployment bind-mounts the current ``hyperion`` workspace and ``../dodal`` into the container so that you can
|
|
100
|
+
run against your own development code. **Clusters do not allow bind mounts from arbitrary directories so
|
|
101
101
|
your workspace will have to be in a permitted directory such as your home directory.**
|
|
102
102
|
|
|
103
|
-
By default the script will log into the ``argus`` cluster, if you want to deploy to an alternate cluster,
|
|
104
|
-
log in with ``kubectl set-context --current --namespace=<NAMESPACE>`` and then specify ``--no-login`` when running the
|
|
103
|
+
By default the script will log into the ``argus`` cluster, if you want to deploy to an alternate cluster,
|
|
104
|
+
log in with ``kubectl set-context --current --namespace=<NAMESPACE>`` and then specify ``--no-login`` when running the
|
|
105
105
|
script
|
|
106
106
|
|
|
107
107
|
Please note, the deployment script is intended to be run from a checked-out matching version of the git repository.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
Hyperion Developer Guide
|
|
2
2
|
==================================
|
|
3
3
|
|
|
4
|
-
Documentation
|
|
4
|
+
Documentation specific for the Hyperion module within MX-Bluesky
|
|
5
5
|
|
|
6
6
|
.. grid:: 2
|
|
7
7
|
:gutter: 2
|
{mx_bluesky-1.2.0 → mx_bluesky-1.4.1}/docs/developer/hyperion/reference/param_hierarchy.puml
RENAMED
|
@@ -31,7 +31,7 @@ package Experiments {
|
|
|
31
31
|
class RobotLoadAndEnergyChange
|
|
32
32
|
class RobotLoadThenCentre
|
|
33
33
|
class SpecifiedGridScan
|
|
34
|
-
class
|
|
34
|
+
class HyperionThreeDGridScan
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
class HyperionParameters
|
|
@@ -66,9 +66,9 @@ RobotLoadThenCentre *-- RobotLoadAndEnergyChange
|
|
|
66
66
|
RobotLoadThenCentre *-- PinTipCentreThenXrayCentre
|
|
67
67
|
GridCommon <|-- SpecifiedGridScan
|
|
68
68
|
WithScan <|-- SpecifiedGridScan
|
|
69
|
-
SpecifiedGridScan <|--
|
|
70
|
-
SplitScan <|--
|
|
71
|
-
WithOptionalEnergyChange <|--
|
|
69
|
+
SpecifiedGridScan <|-- HyperionThreeDGridScan
|
|
70
|
+
SplitScan <|-- HyperionThreeDGridScan
|
|
71
|
+
WithOptionalEnergyChange <|-- HyperionThreeDGridScan
|
|
72
72
|
WithOavCentring <|-- GridCommon
|
|
73
73
|
WithScan <|-- RotationScan
|
|
74
74
|
RotationScanPerSweep <|-- RotationScan
|