dls-dodal 1.50.0__tar.gz → 1.51.0__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.
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.copier-answers.yml +3 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.devcontainer/devcontainer.json +4 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/CONTRIBUTING.md +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/actions/install_requirements/action.yml +2 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/dependabot.yml +4 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_docs.yml +1 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_release.yml +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_test.yml +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/ci.yml +8 -13
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.pre-commit-config.yaml +2 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.vscode/launch.json +0 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/PKG-INFO +3 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/conftest.py +0 -20
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/create-device.md +4 -0
- dls_dodal-1.51.0/docs/how-to/run-tests.md +44 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/tutorials/installation.md +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/pyproject.toml +3 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/PKG-INFO +3 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/SOURCES.txt +15 -11
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/requires.txt +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/_version.py +2 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/adsim.py +5 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/b01_1.py +41 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/b07.py +11 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/b07_1.py +11 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/b16.py +8 -4
- dls_dodal-1.51.0/src/dodal/beamlines/b21.py +148 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i03.py +6 -11
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i04.py +5 -5
- dls_dodal-1.51.0/src/dodal/beamlines/i09.py +44 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i09_1.py +9 -1
- dls_dodal-1.50.0/src/dodal/beamlines/i09.py → dls_dodal-1.51.0/src/dodal/beamlines/i09_2.py +6 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i10.py +5 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i13_1.py +5 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i18.py +5 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i22.py +7 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i24.py +3 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/p45.py +4 -3
- dls_dodal-1.51.0/src/dodal/beamlines/p60.py +34 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/p99.py +5 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/training_rig.py +3 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/beamlines/beamline_utils.py +5 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +4 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/aperture.py +4 -7
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/aperturescatterguard.py +2 -2
- dls_dodal-1.51.0/src/dodal/devices/b07/__init__.py +3 -0
- dls_dodal-1.51.0/src/dodal/devices/b07/grating.py +9 -0
- dls_dodal-1.51.0/src/dodal/devices/b07_1/__init__.py +3 -0
- dls_dodal-1.51.0/src/dodal/devices/b07_1/grating.py +10 -0
- dls_dodal-1.51.0/src/dodal/devices/detector/detector_motion.py +44 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +24 -25
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/detector.py +3 -13
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/specs/detector.py +9 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +5 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +9 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +5 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/fast_grid_scan.py +1 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i04/constants.py +1 -1
- dls_dodal-1.51.0/src/dodal/devices/i09/__init__.py +4 -0
- dls_dodal-1.51.0/src/dodal/devices/i09/dcm.py +26 -0
- dls_dodal-1.51.0/src/dodal/devices/i09/grating.py +7 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/mirrors.py +4 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -14
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i19/beamstop.py +3 -7
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/aperture.py +4 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/beamstop.py +5 -8
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/pmac.py +4 -8
- dls_dodal-1.51.0/src/dodal/devices/motors.py +118 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/p45.py +0 -12
- dls_dodal-1.51.0/src/dodal/devices/p60/__init__.py +3 -0
- dls_dodal-1.51.0/src/dodal/devices/p60/lab_xray_source.py +21 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/pgm.py +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/robot.py +11 -7
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/smargon.py +8 -9
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zocalo/zocalo_results.py +27 -78
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +7 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/system_tests/test_adsim.py +2 -2
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/system_tests/test_cli.py +1 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/beamlines/test_beamline_utils.py +31 -3
- dls_dodal-1.51.0/tests/devices/i18/test_kb_mirror.py +50 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i19/test_shutter.py +18 -18
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i22/test_fswitch.py +9 -10
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/test_diamond_filter.py +0 -4
- dls_dodal-1.51.0/tests/devices/test_motors.py +153 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_detector.py +2 -7
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/abstract/test_base_driver_io.py +37 -17
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/conftest.py +27 -17
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/specs/test_driver_io.py +10 -14
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/util.py +2 -27
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_driver_io.py +10 -11
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py +0 -2
- dls_dodal-1.51.0/tests/devices/unit_tests/i09/test_dcm.py +53 -0
- dls_dodal-1.51.0/tests/devices/unit_tests/p60/test_lab_xray_source.py +118 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_apple2_undulator.py +18 -24
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_backlight.py +1 -5
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_bart_robot.py +13 -7
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_baton.py +0 -6
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_motors.py +0 -14
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_pressure_jump_cell.py +2 -63
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_qbpm.py +0 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_slits.py +2 -23
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_smargon.py +30 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_turbo_slit.py +15 -20
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_undulator.py +0 -20
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_watsonmarlow323_pump.py +0 -8
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_zocalo_results.py +28 -177
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_all_devices_raise_exception.py +1 -3
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/conftest.py +27 -1
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +2 -4
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/unit_tests/test_log.py +3 -3
- dls_dodal-1.50.0/.github/workflows/_check.yml +0 -27
- dls_dodal-1.50.0/docs/how-to/run-tests.md +0 -20
- dls_dodal-1.50.0/src/dodal/beamlines/p60.py +0 -17
- dls_dodal-1.50.0/src/dodal/devices/adsim.py +0 -13
- dls_dodal-1.50.0/src/dodal/devices/detector/detector_motion.py +0 -42
- dls_dodal-1.50.0/src/dodal/devices/i18/table.py +0 -14
- dls_dodal-1.50.0/src/dodal/devices/i18/thor_labs_stage.py +0 -12
- dls_dodal-1.50.0/src/dodal/devices/i24/i24_detector_motion.py +0 -12
- dls_dodal-1.50.0/src/dodal/devices/motors.py +0 -61
- dls_dodal-1.50.0/src/dodal/devices/scatterguard.py +0 -11
- dls_dodal-1.50.0/src/dodal/devices/training_rig/sample_stage.py +0 -10
- dls_dodal-1.50.0/tests/devices/i18/test_kb_mirror.py +0 -64
- dls_dodal-1.50.0/tests/devices/i18/test_table.py +0 -124
- dls_dodal-1.50.0/tests/devices/i18/test_thor_labs_stage.py +0 -62
- dls_dodal-1.50.0/tests/devices/training_rig/test_sample_stage.py +0 -30
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/pages/index.html +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/scripts/check_test_durations.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_dist.yml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/_tox.yml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.github/workflows/periodic.yml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.gitignore +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.vscode/extensions.json +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.vscode/settings.json +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/.vscode/tasks.json +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/Dockerfile +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/LICENSE +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/README.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/catalog-info.yaml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/conf.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/explanations.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/genindex.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/build-docs.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/coverage.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/create-beamline.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/dev-install.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/lint.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/lock-requirements.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/move-code.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/static-analysis.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/write-tests.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to/zocalo.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/how-to.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/index.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/reference/api.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/reference/device-standards.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/reference/standards.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/reference.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/tutorials/get_started.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/docs/tutorials.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/pull_request_template.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/setup.cfg +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamline_specific_utils/i03.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/aithre.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i02_1.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i19_1.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i19_2.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i19_optics.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i20_1.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/i23.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/beamlines/p38.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/cli.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/beamlines/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/coordination.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/crystal_metadata.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/maths.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/udc_directory_provider.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/common/visit.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/CTAB.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/apple2_undulator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/areadetector/plugins/CAM.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/areadetector/plugins/MJPG.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/attenuator/filter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/b16/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/b16/detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/bimorph_mirror.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/common_dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/cryostream.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/detector/det_resolution.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/detector/detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/diamond_filter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/eiger.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/eiger_odin.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/types.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/util.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/flux.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/focusing_mirror.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/hutch_shutter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i03/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i03/dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i03/undulator_dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i04/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i04/murko_results.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i04/transfocator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/diagnostics.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/i10_apple2.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i10/slits.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i13_1/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i13_1/merlin.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i18/KBMirror.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i18/diode.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i19/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i19/blueapi_device.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i19/hutch_access.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i19/shutter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i20_1/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i22/dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i22/fswitch.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i22/nxsas.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/beam_center.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/pilatus_metadata.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/i24/vgonio.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/ipin.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/linkam3.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/mx_phase1/beamstop.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/oav_calculations.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/oav_detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/oav_parameters.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/oav/utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/p99/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/p99/andor2_point.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/p99/sample_stage.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/qbpm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/slits.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/tetramm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/turbo_slit.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/undulator.py +0 -0
- {dls_dodal-1.50.0/src/dodal/devices/training_rig → dls_dodal-1.51.0/src/dodal/devices/util}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/util/epics_util.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/util/lookup_tables.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/util/test_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/webcam.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/xbpm_feedback.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
- {dls_dodal-1.50.0/src/dodal/devices/util → dls_dodal-1.51.0/src/dodal/devices/zebra}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zebra/zebra.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zocalo/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/log.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
- {dls_dodal-1.50.0/src/dodal/devices/zebra → dls_dodal-1.51.0/src/dodal/plan_stubs}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plan_stubs/check_topup.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plan_stubs/data_session.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plan_stubs/wrapped.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/bimorph.py +0 -0
- {dls_dodal-1.50.0/src/dodal/plan_stubs → dls_dodal-1.51.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/scanspec.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/verify_undulator_gap.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/plans/wrapped.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/src/dodal/utils.py +0 -0
- {dls_dodal-1.50.0/src/dodal/plans/preprocessors → dls_dodal-1.51.0/system_tests}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.50.0/system_tests → dls_dodal-1.51.0/tests}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests → dls_dodal-1.51.0/tests/beamlines}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests/beamlines → dls_dodal-1.51.0/tests/beamlines/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/beamlines/unit_tests/test_b16.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/beamlines/unit_tests/test_i03.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/beamlines/unit_tests/test_i24.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/beamlines/unit_tests/test_mapping.py +0 -0
- {dls_dodal-1.50.0/tests/beamlines/unit_tests → dls_dodal-1.51.0/tests/common}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests/common → dls_dodal-1.51.0/tests/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/beamlines/test_device_helpers.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/test_maths.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/conftest.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/constants.py +0 -0
- {dls_dodal-1.50.0/tests/common/beamlines → dls_dodal-1.51.0/tests/devices}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
- {dls_dodal-1.50.0/tests/devices → dls_dodal-1.51.0/tests/devices/i03}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests/devices/i03 → dls_dodal-1.51.0/tests/devices/i04}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i04/test_murko_results.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i04/test_transfocator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i10/test_i10Apple2.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i13_1/test_merlin.py +0 -0
- {dls_dodal-1.50.0/tests/devices/i04 → dls_dodal-1.51.0/tests/devices/i19}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i19/test_beamstop.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i22/test_dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/i22/test_metadataholder.py +0 -0
- {dls_dodal-1.50.0/tests/devices/i19 → dls_dodal-1.51.0/tests/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/mx_phase1/test_beamstop.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.50.0/tests/devices/mx_phase1 → dls_dodal-1.51.0/tests/devices/unit_tests}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/current_amplifier/test_femto.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/current_amplifier/test_sr570.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/detector/test_detector.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests → dls_dodal-1.51.0/tests/devices/unit_tests/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests/electron_analyser → dls_dodal-1.51.0/tests/devices/unit_tests/electron_analyser/abstract}/__init__.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests/electron_analyser/abstract → dls_dodal-1.51.0/tests/devices/unit_tests/electron_analyser/specs}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/specs/test_detector.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/specs/test_region.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/test_util.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests/electron_analyser/specs → dls_dodal-1.51.0/tests/devices/unit_tests/electron_analyser/vgscienta}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/electron_analyser/vgscienta/test_detector.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests/electron_analyser/vgscienta → dls_dodal-1.51.0/tests/devices/unit_tests/i03}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i03/test_dcm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i03/test_undulator_dcm.py +0 -0
- {dls_dodal-1.50.0/tests/devices/unit_tests/i03 → dls_dodal-1.51.0/tests/devices/unit_tests/i09}/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/test_dual_backlight.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/test_focus_mirrors.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/test_pilatus_metadata.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/test_pmac.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/i24/test_vgonio.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/conftest.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_oav.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_oav_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/oav/test_snapshots.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/p99/test_p99_stage.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_OAVCentring.json +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_aperture.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_aperture_scatterguard.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_attenuator.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_beam_converter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_bimorph_mirror.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_display.configuration +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_eiger.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_focusing_mirror.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_gridscan.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_hutch_shutter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_jCameraManZoomLevels.xml +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_linkam3.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_lookup_table.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_lookup_table_2.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_odin.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_positioner.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_status.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_synchrotron.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_tetramm.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_thawer.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_webcam.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_xbpm_feedback.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_xspress3.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_zebra.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_zebra_shutter.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/test_zocalo_interaction.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/util/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/util/test_beamline_specific_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/devices/unit_tests/util/test_save_panda.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_zocalo/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_zocalo/__main__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_compliance.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_scanspec.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/plans/test_wrapped.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/electron_analyser/specs_sequence.seq +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/electron_analyser/vgscienta_sequence.seq +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_images/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/test_images/oav_snapshot_test.png +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/test_utils.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/unit_tests/__init__.py +0 -0
- {dls_dodal-1.50.0 → dls_dodal-1.51.0}/tests/unit_tests/test_cli.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier
|
|
2
|
-
_commit:
|
|
3
|
-
_src_path:
|
|
2
|
+
_commit: 4.0.1
|
|
3
|
+
_src_path: https://github.com/DiamondLightSource/python-copier-template
|
|
4
4
|
author_email: dominic.oram@diamond.ac.uk
|
|
5
5
|
author_name: Dominic Oram
|
|
6
6
|
component_lifecycle: production
|
|
@@ -15,4 +15,5 @@ github_org: DiamondLightSource
|
|
|
15
15
|
package_name: dodal
|
|
16
16
|
pypi: true
|
|
17
17
|
repo_name: dodal
|
|
18
|
+
strict_typing: false
|
|
18
19
|
type_checker: pyright
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"features": {
|
|
31
|
-
//
|
|
32
|
-
"ghcr.io/
|
|
33
|
-
"upgradePackages": false
|
|
34
|
-
}
|
|
31
|
+
// add in eternal history and other bash features
|
|
32
|
+
"ghcr.io/diamondlightsource/devcontainer-features/bash-config:1": {}
|
|
35
33
|
},
|
|
34
|
+
// Create the config folder for the bash-config feature
|
|
35
|
+
"initializeCommand": "mkdir -p ${localEnv:HOME}/.config/bash-config",
|
|
36
36
|
"runArgs": [
|
|
37
37
|
// Allow the container to access the host X11 display and EPICS CA
|
|
38
38
|
"--net=host",
|
|
@@ -24,4 +24,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua
|
|
|
24
24
|
|
|
25
25
|
This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
|
|
26
26
|
|
|
27
|
-
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/
|
|
27
|
+
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/4.0.1/how-to.html).
|
|
@@ -15,7 +15,8 @@ runs:
|
|
|
15
15
|
run: |
|
|
16
16
|
PYTHON_VERSION="${{ inputs.python-version }}"
|
|
17
17
|
if [ $PYTHON_VERSION == "dev" ]; then
|
|
18
|
-
|
|
18
|
+
# python version from Dockerfile, removing potential pinned sha
|
|
19
|
+
PYTHON_VERSION=$(sed -Ene "s/ARG PYTHON_VERSION=([0-9\.]+).*/\1/p" Dockerfile)
|
|
19
20
|
fi
|
|
20
21
|
echo "PYTHON_VERSION=$PYTHON_VERSION" >> "$GITHUB_ENV"
|
|
21
22
|
shell: bash
|
|
@@ -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@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
|
|
27
27
|
with:
|
|
28
28
|
prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
|
|
29
29
|
files: "*"
|
|
@@ -80,7 +80,7 @@ jobs:
|
|
|
80
80
|
python .github/scripts/check_test_durations.py system-report.json 5
|
|
81
81
|
|
|
82
82
|
- name: Upload coverage to Codecov
|
|
83
|
-
uses: codecov/codecov-action@
|
|
83
|
+
uses: codecov/codecov-action@v5
|
|
84
84
|
with:
|
|
85
85
|
name: ${{ inputs.python-version }}/${{ inputs.runs-on }}
|
|
86
86
|
files: ./unit_cov.xml,./system_cov.xml
|
|
@@ -2,26 +2,24 @@ name: CI
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
5
9
|
pull_request:
|
|
6
10
|
|
|
7
11
|
jobs:
|
|
8
|
-
check:
|
|
9
|
-
uses: ./.github/workflows/_check.yml
|
|
10
12
|
|
|
11
13
|
lint:
|
|
12
|
-
needs: check
|
|
13
|
-
if: needs.check.outputs.branch-pr == ''
|
|
14
14
|
uses: ./.github/workflows/_tox.yml
|
|
15
15
|
with:
|
|
16
16
|
tox: pre-commit,type-checking
|
|
17
17
|
|
|
18
18
|
test:
|
|
19
|
-
needs: check
|
|
20
|
-
if: needs.check.outputs.branch-pr == ''
|
|
21
19
|
strategy:
|
|
22
20
|
matrix:
|
|
23
21
|
runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
|
|
24
|
-
python-version: ["3.
|
|
22
|
+
python-version: ["3.11", "3.12"]
|
|
25
23
|
include:
|
|
26
24
|
# Include one that runs in the dev environment
|
|
27
25
|
- runs-on: "ubuntu-latest"
|
|
@@ -35,25 +33,22 @@ jobs:
|
|
|
35
33
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
36
34
|
|
|
37
35
|
docs:
|
|
38
|
-
needs: check
|
|
39
|
-
if: needs.check.outputs.branch-pr == ''
|
|
40
36
|
uses: ./.github/workflows/_docs.yml
|
|
41
37
|
|
|
38
|
+
|
|
42
39
|
dist:
|
|
43
|
-
needs: check
|
|
44
|
-
if: needs.check.outputs.branch-pr == ''
|
|
45
40
|
uses: ./.github/workflows/_dist.yml
|
|
46
41
|
|
|
47
42
|
pypi:
|
|
43
|
+
needs: [dist, test]
|
|
48
44
|
if: github.ref_type == 'tag'
|
|
49
|
-
needs: dist
|
|
50
45
|
uses: ./.github/workflows/_pypi.yml
|
|
51
46
|
permissions:
|
|
52
47
|
id-token: write
|
|
53
48
|
|
|
54
49
|
release:
|
|
50
|
+
needs: [dist, test, docs]
|
|
55
51
|
if: github.ref_type == 'tag'
|
|
56
|
-
needs: [dist, docs]
|
|
57
52
|
uses: ./.github/workflows/_release.yml
|
|
58
53
|
permissions:
|
|
59
54
|
contents: write
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
-
rev:
|
|
3
|
+
rev: v5.0.0
|
|
4
4
|
hooks:
|
|
5
5
|
- id: check-added-large-files
|
|
6
6
|
- id: check-yaml
|
|
@@ -12,7 +12,7 @@ repos:
|
|
|
12
12
|
- id: ruff
|
|
13
13
|
name: lint with ruff
|
|
14
14
|
language: system
|
|
15
|
-
entry: ruff check --force-exclude
|
|
15
|
+
entry: ruff check --force-exclude --fix
|
|
16
16
|
types: [python]
|
|
17
17
|
require_serial: true
|
|
18
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.51.0
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -208,10 +208,9 @@ License: Apache License
|
|
|
208
208
|
Project-URL: GitHub, https://github.com/DiamondLightSource/dodal
|
|
209
209
|
Classifier: Development Status :: 3 - Alpha
|
|
210
210
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
212
211
|
Classifier: Programming Language :: Python :: 3.11
|
|
213
212
|
Classifier: Programming Language :: Python :: 3.12
|
|
214
|
-
Requires-Python: >=3.
|
|
213
|
+
Requires-Python: >=3.11
|
|
215
214
|
Description-Content-Type: text/markdown
|
|
216
215
|
License-File: LICENSE
|
|
217
216
|
Requires-Dist: click
|
|
@@ -232,9 +231,9 @@ Requires-Dist: numpy
|
|
|
232
231
|
Requires-Dist: aiofiles
|
|
233
232
|
Requires-Dist: aiohttp
|
|
234
233
|
Requires-Dist: redis
|
|
235
|
-
Requires-Dist: deepdiff
|
|
236
234
|
Requires-Dist: scanspec>=0.7.3
|
|
237
235
|
Requires-Dist: event-model>=1.23
|
|
236
|
+
Requires-Dist: pyzmq==26.3.0
|
|
238
237
|
Provides-Extra: dev
|
|
239
238
|
Requires-Dist: black; extra == "dev"
|
|
240
239
|
Requires-Dist: diff-cover; extra == "dev"
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import logging
|
|
3
|
-
import os
|
|
4
3
|
import sys
|
|
5
4
|
import time
|
|
6
5
|
from collections.abc import Mapping
|
|
7
6
|
from os import environ
|
|
8
7
|
from pathlib import Path
|
|
9
|
-
from typing import Any
|
|
10
8
|
from unittest.mock import MagicMock, patch
|
|
11
9
|
|
|
12
10
|
import pytest
|
|
@@ -63,24 +61,6 @@ def patch_open_to_prevent_dls_reads_in_tests():
|
|
|
63
61
|
yield []
|
|
64
62
|
|
|
65
63
|
|
|
66
|
-
# Prevent pytest from catching exceptions when debugging in vscode so that break on
|
|
67
|
-
# exception works correctly (see: https://github.com/pytest-dev/pytest/issues/7409)
|
|
68
|
-
if os.getenv("PYTEST_RAISE", "0") == "1":
|
|
69
|
-
|
|
70
|
-
@pytest.hookimpl(tryfirst=True)
|
|
71
|
-
def pytest_exception_interact(call: pytest.CallInfo[Any]):
|
|
72
|
-
if call.excinfo is not None:
|
|
73
|
-
raise call.excinfo.value
|
|
74
|
-
else:
|
|
75
|
-
raise RuntimeError(
|
|
76
|
-
f"{call} has no exception data, an unknown error has occurred"
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
@pytest.hookimpl(tryfirst=True)
|
|
80
|
-
def pytest_internalerror(excinfo: pytest.ExceptionInfo[Any]):
|
|
81
|
-
raise excinfo.value
|
|
82
|
-
|
|
83
|
-
|
|
84
64
|
def pytest_runtest_setup(item):
|
|
85
65
|
beamline_utils.clear_devices()
|
|
86
66
|
if LOGGER.handlers == []:
|
|
@@ -8,6 +8,10 @@ Reusing an existing class
|
|
|
8
8
|
|
|
9
9
|
When creating a new device, first check if there is a device class that claims to support the device: e.g. all EPICS Motor records should use the [Motor](https://github.com/bluesky/ophyd-async/blob/main/src/ophyd_async/epics/motor.py) type; for reading or monitoring signals from the storage ring the [Synchrotron](https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/synchrotron.py) device should be used; AreaDetectors should use the [StandardDetector](https://github.com/bluesky/ophyd-async/blob/main/src/ophyd_async/core/_detector.py) type- of which there are examples in ophyd_async and in dodal.
|
|
10
10
|
|
|
11
|
+
The module `dodal.devices.motors` defines a series of `Stage`s or groups of motors- a `Stage` represents a physical relationship between motors. For example, an `XYStage` is two perpendicular motors and should not be used for two motors that run parallel to each other (e.g. a coarse motor and a fine adjustment motor in the same axis) or that are unrelated (e.g. attached to different stages with no common frame of reference). Already defined are some relationships with linear and rotational stages. Any device that is a groups of motors only should be additionally defined there, if possible making re-use of the existing classes. Classes that define physical stages but also define additional signals may then extend the `Stage` class outside of the `motors` module for additional behaviour.
|
|
12
|
+
|
|
13
|
+
Device classes that take a list of devices of a type may make use of the ophyd-async `DeviceVector`, and those that use other collections (e.g. a dict of Motors) to set attributes on themselves at runtime should be avoided- these device classes may appear tempting for their genericness and extensibility, but they will be a hindrance when trying to write plans. When writing plans, the device class is all that is available to the IDE, not the instance that you "just know" has specific fields. Making use of type checking and hints should make writing plans and debugging them a much less frustrating experience, while also enabling discoverability of the devices that are in use.
|
|
14
|
+
|
|
11
15
|
If there is a compatible device class it should be used- adding it to the [the beamline](./create-beamline.rst)- this prevents reimplementing the device, and allows improvements to be shared. Improving the device to meet your use case is better than starting again.
|
|
12
16
|
|
|
13
17
|
If a device class is incompatible due to differences in PV address only, first request that an alias is added to the EPICS support module for the IOC - or request support in making that change. Only if it is not possible to add an alias, for example the support module is proprietary, add configurability to the dodal device class, taking care not to break existing devices- e.g. make new fields have a default that matches the existing pattern, and ensure that `dodal connect` is still able to connect to the device for the existing instances.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
(using-pytest)=
|
|
2
|
+
|
|
3
|
+
# Run the tests using pytest
|
|
4
|
+
|
|
5
|
+
Testing is done with [pytest]. It will find functions in the project that [look like tests][look like tests], and run them to check for errors. You can run it with:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
$ pytest
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
When you have some fully working tests then you can run it with coverage:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
$ tox -e tests
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
It will also report coverage to the commandline and to `cov.xml`.
|
|
18
|
+
|
|
19
|
+
[look like tests]: https://docs.pytest.org/explanation/goodpractices.html#test-discovery
|
|
20
|
+
[pytest]: https://pytest.org/
|
|
21
|
+
|
|
22
|
+
# Run the system tests locally
|
|
23
|
+
|
|
24
|
+
The system tests require the ``example-services`` project:
|
|
25
|
+
|
|
26
|
+
```commandline
|
|
27
|
+
git clone git@github.com:epics-containers/example-services.git
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Then you need to launch some of the example ioc containers. Please note, this requires docker-compose not
|
|
31
|
+
podman-compose:
|
|
32
|
+
|
|
33
|
+
```commandline
|
|
34
|
+
module load docker-compose
|
|
35
|
+
cd example-services
|
|
36
|
+
. ./environment.sh
|
|
37
|
+
podman compose up -d bl01t-di-cam-01 bl01t-mo-sim-01 ca-gateway
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Once this is done, then the system tests can be run:
|
|
41
|
+
|
|
42
|
+
```commandline
|
|
43
|
+
tox -e system-report
|
|
44
|
+
```
|
|
@@ -7,7 +7,6 @@ name = "dls-dodal"
|
|
|
7
7
|
classifiers = [
|
|
8
8
|
"Development Status :: 3 - Alpha",
|
|
9
9
|
"License :: OSI Approved :: Apache Software License",
|
|
10
|
-
"Programming Language :: Python :: 3.10",
|
|
11
10
|
"Programming Language :: Python :: 3.11",
|
|
12
11
|
"Programming Language :: Python :: 3.12",
|
|
13
12
|
]
|
|
@@ -31,15 +30,15 @@ dependencies = [
|
|
|
31
30
|
"aiofiles",
|
|
32
31
|
"aiohttp",
|
|
33
32
|
"redis",
|
|
34
|
-
"deepdiff",
|
|
35
33
|
"scanspec>=0.7.3",
|
|
36
|
-
"event-model>=1.23",
|
|
34
|
+
"event-model>=1.23", # Until bluesky pins it https://github.com/DiamondLightSource/dodal/issues/1278
|
|
35
|
+
"pyzmq==26.3.0", # Until we can move to RHEL 8 https://github.com/DiamondLightSource/mx-bluesky/issues/1139
|
|
37
36
|
]
|
|
38
37
|
|
|
39
38
|
dynamic = ["version"]
|
|
40
39
|
license.file = "LICENSE"
|
|
41
40
|
readme = "README.md"
|
|
42
|
-
requires-python = ">=3.
|
|
41
|
+
requires-python = ">=3.11"
|
|
43
42
|
|
|
44
43
|
[project.optional-dependencies]
|
|
45
44
|
dev = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dls-dodal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.51.0
|
|
4
4
|
Summary: Ophyd devices and other utils that could be used across DLS beamlines
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -208,10 +208,9 @@ License: Apache License
|
|
|
208
208
|
Project-URL: GitHub, https://github.com/DiamondLightSource/dodal
|
|
209
209
|
Classifier: Development Status :: 3 - Alpha
|
|
210
210
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
212
211
|
Classifier: Programming Language :: Python :: 3.11
|
|
213
212
|
Classifier: Programming Language :: Python :: 3.12
|
|
214
|
-
Requires-Python: >=3.
|
|
213
|
+
Requires-Python: >=3.11
|
|
215
214
|
Description-Content-Type: text/markdown
|
|
216
215
|
License-File: LICENSE
|
|
217
216
|
Requires-Dist: click
|
|
@@ -232,9 +231,9 @@ Requires-Dist: numpy
|
|
|
232
231
|
Requires-Dist: aiofiles
|
|
233
232
|
Requires-Dist: aiohttp
|
|
234
233
|
Requires-Dist: redis
|
|
235
|
-
Requires-Dist: deepdiff
|
|
236
234
|
Requires-Dist: scanspec>=0.7.3
|
|
237
235
|
Requires-Dist: event-model>=1.23
|
|
236
|
+
Requires-Dist: pyzmq==26.3.0
|
|
238
237
|
Provides-Extra: dev
|
|
239
238
|
Requires-Dist: black; extra == "dev"
|
|
240
239
|
Requires-Dist: diff-cover; extra == "dev"
|
|
@@ -17,7 +17,6 @@ pyproject.toml
|
|
|
17
17
|
.github/pages/index.html
|
|
18
18
|
.github/pages/make_switcher.py
|
|
19
19
|
.github/scripts/check_test_durations.py
|
|
20
|
-
.github/workflows/_check.yml
|
|
21
20
|
.github/workflows/_dist.yml
|
|
22
21
|
.github/workflows/_docs.yml
|
|
23
22
|
.github/workflows/_pypi.yml
|
|
@@ -100,11 +99,13 @@ src/dodal/beamlines/b07.py
|
|
|
100
99
|
src/dodal/beamlines/b07_1.py
|
|
101
100
|
src/dodal/beamlines/b16.py
|
|
102
101
|
src/dodal/beamlines/b18.py
|
|
102
|
+
src/dodal/beamlines/b21.py
|
|
103
103
|
src/dodal/beamlines/i02_1.py
|
|
104
104
|
src/dodal/beamlines/i03.py
|
|
105
105
|
src/dodal/beamlines/i04.py
|
|
106
106
|
src/dodal/beamlines/i09.py
|
|
107
107
|
src/dodal/beamlines/i09_1.py
|
|
108
|
+
src/dodal/beamlines/i09_2.py
|
|
108
109
|
src/dodal/beamlines/i10.py
|
|
109
110
|
src/dodal/beamlines/i13_1.py
|
|
110
111
|
src/dodal/beamlines/i18.py
|
|
@@ -135,7 +136,6 @@ src/dodal/common/beamlines/beamline_utils.py
|
|
|
135
136
|
src/dodal/common/beamlines/device_helpers.py
|
|
136
137
|
src/dodal/devices/CTAB.py
|
|
137
138
|
src/dodal/devices/__init__.py
|
|
138
|
-
src/dodal/devices/adsim.py
|
|
139
139
|
src/dodal/devices/aperture.py
|
|
140
140
|
src/dodal/devices/aperturescatterguard.py
|
|
141
141
|
src/dodal/devices/apple2_undulator.py
|
|
@@ -162,7 +162,6 @@ src/dodal/devices/pressure_jump_cell.py
|
|
|
162
162
|
src/dodal/devices/qbpm.py
|
|
163
163
|
src/dodal/devices/robot.py
|
|
164
164
|
src/dodal/devices/s4_slit_gaps.py
|
|
165
|
-
src/dodal/devices/scatterguard.py
|
|
166
165
|
src/dodal/devices/scintillator.py
|
|
167
166
|
src/dodal/devices/slits.py
|
|
168
167
|
src/dodal/devices/smargon.py
|
|
@@ -182,6 +181,10 @@ src/dodal/devices/areadetector/plugins/MJPG.py
|
|
|
182
181
|
src/dodal/devices/attenuator/attenuator.py
|
|
183
182
|
src/dodal/devices/attenuator/filter.py
|
|
184
183
|
src/dodal/devices/attenuator/filter_selections.py
|
|
184
|
+
src/dodal/devices/b07/__init__.py
|
|
185
|
+
src/dodal/devices/b07/grating.py
|
|
186
|
+
src/dodal/devices/b07_1/__init__.py
|
|
187
|
+
src/dodal/devices/b07_1/grating.py
|
|
185
188
|
src/dodal/devices/b16/__init__.py
|
|
186
189
|
src/dodal/devices/b16/detector.py
|
|
187
190
|
src/dodal/devices/current_amplifiers/__init__.py
|
|
@@ -222,6 +225,9 @@ src/dodal/devices/i04/__init__.py
|
|
|
222
225
|
src/dodal/devices/i04/constants.py
|
|
223
226
|
src/dodal/devices/i04/murko_results.py
|
|
224
227
|
src/dodal/devices/i04/transfocator.py
|
|
228
|
+
src/dodal/devices/i09/__init__.py
|
|
229
|
+
src/dodal/devices/i09/dcm.py
|
|
230
|
+
src/dodal/devices/i09/grating.py
|
|
225
231
|
src/dodal/devices/i10/__init__.py
|
|
226
232
|
src/dodal/devices/i10/diagnostics.py
|
|
227
233
|
src/dodal/devices/i10/i10_apple2.py
|
|
@@ -236,8 +242,6 @@ src/dodal/devices/i13_1/merlin.py
|
|
|
236
242
|
src/dodal/devices/i13_1/merlin_controller.py
|
|
237
243
|
src/dodal/devices/i18/KBMirror.py
|
|
238
244
|
src/dodal/devices/i18/diode.py
|
|
239
|
-
src/dodal/devices/i18/table.py
|
|
240
|
-
src/dodal/devices/i18/thor_labs_stage.py
|
|
241
245
|
src/dodal/devices/i19/__init__.py
|
|
242
246
|
src/dodal/devices/i19/beamstop.py
|
|
243
247
|
src/dodal/devices/i19/blueapi_device.py
|
|
@@ -254,7 +258,6 @@ src/dodal/devices/i24/beamstop.py
|
|
|
254
258
|
src/dodal/devices/i24/dcm.py
|
|
255
259
|
src/dodal/devices/i24/dual_backlight.py
|
|
256
260
|
src/dodal/devices/i24/focus_mirrors.py
|
|
257
|
-
src/dodal/devices/i24/i24_detector_motion.py
|
|
258
261
|
src/dodal/devices/i24/pilatus_metadata.py
|
|
259
262
|
src/dodal/devices/i24/pmac.py
|
|
260
263
|
src/dodal/devices/i24/vgonio.py
|
|
@@ -272,11 +275,11 @@ src/dodal/devices/oav/snapshots/grid_overlay.py
|
|
|
272
275
|
src/dodal/devices/oav/snapshots/snapshot.py
|
|
273
276
|
src/dodal/devices/oav/snapshots/snapshot_image_processing.py
|
|
274
277
|
src/dodal/devices/oav/snapshots/snapshot_with_grid.py
|
|
278
|
+
src/dodal/devices/p60/__init__.py
|
|
279
|
+
src/dodal/devices/p60/lab_xray_source.py
|
|
275
280
|
src/dodal/devices/p99/__init__.py
|
|
276
281
|
src/dodal/devices/p99/andor2_point.py
|
|
277
282
|
src/dodal/devices/p99/sample_stage.py
|
|
278
|
-
src/dodal/devices/training_rig/__init__.py
|
|
279
|
-
src/dodal/devices/training_rig/sample_stage.py
|
|
280
283
|
src/dodal/devices/util/__init__.py
|
|
281
284
|
src/dodal/devices/util/adjuster_plans.py
|
|
282
285
|
src/dodal/devices/util/epics_util.py
|
|
@@ -344,6 +347,7 @@ tests/common/beamlines/test_device_instantiation.py
|
|
|
344
347
|
tests/devices/__init__.py
|
|
345
348
|
tests/devices/test_common_dcm.py
|
|
346
349
|
tests/devices/test_diamond_filter.py
|
|
350
|
+
tests/devices/test_motors.py
|
|
347
351
|
tests/devices/aithre_lasershaping/test_goniometer.py
|
|
348
352
|
tests/devices/i03/__init__.py
|
|
349
353
|
tests/devices/i04/__init__.py
|
|
@@ -358,8 +362,6 @@ tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidd.pkl
|
|
|
358
362
|
tests/devices/i10/lookupTables/expectedIDEnergy2PhaseCalibrationsidu.pkl
|
|
359
363
|
tests/devices/i13_1/test_merlin.py
|
|
360
364
|
tests/devices/i18/test_kb_mirror.py
|
|
361
|
-
tests/devices/i18/test_table.py
|
|
362
|
-
tests/devices/i18/test_thor_labs_stage.py
|
|
363
365
|
tests/devices/i19/__init__.py
|
|
364
366
|
tests/devices/i19/test_beamstop.py
|
|
365
367
|
tests/devices/i19/test_shutter.py
|
|
@@ -368,7 +370,6 @@ tests/devices/i22/test_fswitch.py
|
|
|
368
370
|
tests/devices/i22/test_metadataholder.py
|
|
369
371
|
tests/devices/mx_phase1/__init__.py
|
|
370
372
|
tests/devices/mx_phase1/test_beamstop.py
|
|
371
|
-
tests/devices/training_rig/test_sample_stage.py
|
|
372
373
|
tests/devices/unit_tests/__init__.py
|
|
373
374
|
tests/devices/unit_tests/test_OAVCentring.json
|
|
374
375
|
tests/devices/unit_tests/test_aperture.py
|
|
@@ -436,6 +437,8 @@ tests/devices/unit_tests/electron_analyser/vgscienta/test_region.py
|
|
|
436
437
|
tests/devices/unit_tests/i03/__init__.py
|
|
437
438
|
tests/devices/unit_tests/i03/test_dcm.py
|
|
438
439
|
tests/devices/unit_tests/i03/test_undulator_dcm.py
|
|
440
|
+
tests/devices/unit_tests/i09/__init__.py
|
|
441
|
+
tests/devices/unit_tests/i09/test_dcm.py
|
|
439
442
|
tests/devices/unit_tests/i24/__init__.py
|
|
440
443
|
tests/devices/unit_tests/i24/test_dual_backlight.py
|
|
441
444
|
tests/devices/unit_tests/i24/test_focus_mirrors.py
|
|
@@ -453,6 +456,7 @@ tests/devices/unit_tests/oav/test_snapshot_image_processing.py
|
|
|
453
456
|
tests/devices/unit_tests/oav/test_snapshots.py
|
|
454
457
|
tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect.py
|
|
455
458
|
tests/devices/unit_tests/oav/image_recognition/test_pin_tip_detect_utils.py
|
|
459
|
+
tests/devices/unit_tests/p60/test_lab_xray_source.py
|
|
456
460
|
tests/devices/unit_tests/p99/test_p99_stage.py
|
|
457
461
|
tests/devices/unit_tests/test_daq_configuration/domain/beamlineParameters
|
|
458
462
|
tests/devices/unit_tests/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt
|
|
@@ -10,7 +10,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
10
10
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
11
11
|
from dodal.common.beamlines.device_helpers import DET_SUFFIX, HDF5_SUFFIX
|
|
12
12
|
from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
|
|
13
|
-
from dodal.devices.
|
|
13
|
+
from dodal.devices.motors import XThetaStage
|
|
14
14
|
from dodal.log import set_beamline as set_log_beamline
|
|
15
15
|
from dodal.utils import BeamlinePrefix
|
|
16
16
|
|
|
@@ -62,8 +62,10 @@ RE(count([d], num=10))
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
@device_factory()
|
|
65
|
-
def stage() ->
|
|
66
|
-
return
|
|
65
|
+
def stage() -> XThetaStage:
|
|
66
|
+
return XThetaStage(
|
|
67
|
+
f"{PREFIX.beamline_prefix}-MO-SIMC-01:", x_infix="M1", theta_infix="M2"
|
|
68
|
+
)
|
|
67
69
|
|
|
68
70
|
|
|
69
71
|
@device_factory()
|
|
@@ -11,7 +11,7 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
11
11
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
12
12
|
from dodal.common.beamlines.device_helpers import CAM_SUFFIX, HDF5_SUFFIX
|
|
13
13
|
from dodal.common.visit import LocalDirectoryServiceClient, StaticVisitPathProvider
|
|
14
|
-
from dodal.devices.motors import
|
|
14
|
+
from dodal.devices.motors import XYZStage
|
|
15
15
|
from dodal.devices.synchrotron import Synchrotron
|
|
16
16
|
from dodal.log import set_beamline as set_log_beamline
|
|
17
17
|
from dodal.utils import BeamlinePrefix
|
|
@@ -42,8 +42,13 @@ https://argocd.diamond.ac.uk/applications?showFavorites=false&proj=&sync=&autoSy
|
|
|
42
42
|
|
|
43
43
|
@device_factory()
|
|
44
44
|
def panda() -> HDFPanda:
|
|
45
|
+
"""Provides triggering of the detectors.
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
HDFPanda: The HDF5-based detector trigger device.
|
|
49
|
+
"""
|
|
45
50
|
return HDFPanda(
|
|
46
|
-
f"{PREFIX.beamline_prefix}-
|
|
51
|
+
f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
|
|
47
52
|
path_provider=get_path_provider(),
|
|
48
53
|
)
|
|
49
54
|
|
|
@@ -54,7 +59,16 @@ def synchrotron() -> Synchrotron:
|
|
|
54
59
|
|
|
55
60
|
|
|
56
61
|
@device_factory()
|
|
57
|
-
def
|
|
62
|
+
def oav() -> AravisDetector:
|
|
63
|
+
"""The Manta camera for the spectroscopy experiment.
|
|
64
|
+
|
|
65
|
+
Looks at the spectroscopy screen and visualises light
|
|
66
|
+
transmitted through the sample after it has gone through
|
|
67
|
+
the diffraction grating.
|
|
68
|
+
|
|
69
|
+
Returns:
|
|
70
|
+
AravisDetector: The spectroscopy camera device.
|
|
71
|
+
"""
|
|
58
72
|
return AravisDetector(
|
|
59
73
|
f"{PREFIX.beamline_prefix}-DI-DCAM-02:",
|
|
60
74
|
path_provider=get_path_provider(),
|
|
@@ -64,7 +78,29 @@ def manta() -> AravisDetector:
|
|
|
64
78
|
|
|
65
79
|
|
|
66
80
|
@device_factory()
|
|
67
|
-
def
|
|
68
|
-
|
|
81
|
+
def sample_det() -> AravisDetector:
|
|
82
|
+
"""The Mako camera for the imaging experiment.
|
|
83
|
+
|
|
84
|
+
Looks at the on-axis viewing screen.
|
|
85
|
+
|
|
86
|
+
Returns:
|
|
87
|
+
AravisDetector: The imaging camera device.
|
|
88
|
+
"""
|
|
89
|
+
return AravisDetector(
|
|
90
|
+
f"{PREFIX.beamline_prefix}-DI-DCAM-01:",
|
|
91
|
+
path_provider=get_path_provider(),
|
|
92
|
+
drv_suffix=CAM_SUFFIX,
|
|
93
|
+
fileio_suffix=HDF5_SUFFIX,
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@device_factory()
|
|
98
|
+
def sample_stage() -> XYZStage:
|
|
99
|
+
"""An XYZ stage holding the sample.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
XYZStage: The XYZ sample stage device.
|
|
103
|
+
"""
|
|
104
|
+
return XYZStage(
|
|
69
105
|
f"{PREFIX.beamline_prefix}-MO-PPMAC-01:",
|
|
70
106
|
)
|
|
@@ -2,7 +2,9 @@ from dodal.common.beamlines.beamline_utils import (
|
|
|
2
2
|
device_factory,
|
|
3
3
|
)
|
|
4
4
|
from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
|
|
5
|
+
from dodal.devices.b07 import B07BGrating
|
|
5
6
|
from dodal.devices.electron_analyser.specs import SpecsAnalyserDriverIO
|
|
7
|
+
from dodal.devices.pgm import PGM
|
|
6
8
|
from dodal.devices.synchrotron import Synchrotron
|
|
7
9
|
from dodal.log import set_beamline as set_log_beamline
|
|
8
10
|
from dodal.utils import BeamlinePrefix, get_beamline_name
|
|
@@ -18,6 +20,14 @@ def synchrotron() -> Synchrotron:
|
|
|
18
20
|
return Synchrotron()
|
|
19
21
|
|
|
20
22
|
|
|
23
|
+
@device_factory()
|
|
24
|
+
def pgm() -> PGM:
|
|
25
|
+
return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=B07BGrating)
|
|
26
|
+
|
|
27
|
+
|
|
21
28
|
@device_factory()
|
|
22
29
|
def analyser_driver() -> SpecsAnalyserDriverIO:
|
|
23
|
-
return SpecsAnalyserDriverIO(
|
|
30
|
+
return SpecsAnalyserDriverIO(
|
|
31
|
+
f"{PREFIX.beamline_prefix}-EA-DET-01:CAM:",
|
|
32
|
+
{"source1": pgm().energy.user_readback},
|
|
33
|
+
)
|