dls-dodal 1.68.0__tar.gz → 2.0.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-2.0.0/.copier-answers.yml +19 -0
- dls_dodal-2.0.0/.devcontainer/devcontainer.json +72 -0
- dls_dodal-2.0.0/.github/CONTRIBUTING.md +27 -0
- dls_dodal-2.0.0/.github/workflows/_dist.yml +36 -0
- dls_dodal-2.0.0/.github/workflows/_docs.yml +58 -0
- dls_dodal-2.0.0/.github/workflows/_test.yml +62 -0
- dls_dodal-2.0.0/.github/workflows/_tox.yml +25 -0
- dls_dodal-2.0.0/.github/workflows/ci.yml +49 -0
- dls_dodal-2.0.0/.github/workflows/periodic.yml +13 -0
- dls_dodal-2.0.0/.gitleaks.toml +19 -0
- dls_dodal-2.0.0/.pre-commit-config.yaml +45 -0
- dls_dodal-2.0.0/.python-version +1 -0
- dls_dodal-2.0.0/Dockerfile +8 -0
- dls_dodal-2.0.0/PKG-INFO +276 -0
- dls_dodal-2.0.0/docs/how-to/build-docs.md +47 -0
- dls_dodal-2.0.0/docs/how-to/convert-beamline-to-device-manager.md +131 -0
- dls_dodal-2.0.0/docs/how-to/coverage.md +12 -0
- dls_dodal-2.0.0/docs/how-to/create-beamline.md +129 -0
- dls_dodal-2.0.0/docs/how-to/create-device.md +74 -0
- dls_dodal-2.0.0/docs/how-to/dev-install.md +59 -0
- dls_dodal-2.0.0/docs/how-to/lint.md +34 -0
- dls_dodal-2.0.0/docs/how-to/lock-requirements.md +43 -0
- dls_dodal-2.0.0/docs/how-to/run-tests.md +64 -0
- dls_dodal-2.0.0/docs/how-to/static-analysis.md +7 -0
- dls_dodal-2.0.0/docs/how-to/write-tests.md +152 -0
- dls_dodal-2.0.0/docs/reference/glossary.md +50 -0
- dls_dodal-2.0.0/docs/reference/style-guide.md +39 -0
- dls_dodal-2.0.0/pyproject.toml +312 -0
- dls_dodal-2.0.0/renovate.json +37 -0
- dls_dodal-2.0.0/src/dls_dodal.egg-info/PKG-INFO +276 -0
- dls_dodal-2.0.0/src/dls_dodal.egg-info/SOURCES.txt +722 -0
- dls_dodal-2.0.0/src/dls_dodal.egg-info/requires.txt +19 -0
- dls_dodal-2.0.0/src/dodal/_version.py +34 -0
- dls_dodal-2.0.0/src/dodal/beamlines/__init__.py +91 -0
- dls_dodal-2.0.0/src/dodal/beamlines/adsim.py +88 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b01_1.py +110 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b07.py +42 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b07_1.py +52 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b07_shared.py +12 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b16.py +68 -0
- dls_dodal-2.0.0/src/dodal/beamlines/b21.py +159 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i02_1.py +89 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i02_2.py +26 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i03.py +365 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i03_supervisor.py +19 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i04.py +315 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i05.py +19 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i05_1.py +13 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i05_shared.py +51 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i06_1.py +26 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i06_shared.py +73 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i07.py +39 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i09.py +106 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i09_1.py +53 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i09_1_shared.py +61 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i09_2.py +19 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i09_2_shared.py +110 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i10.py +180 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i10_1.py +124 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i10_shared.py +274 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i11.py +139 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i13_1.py +58 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i15.py +242 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i15_1.py +156 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i16.py +34 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i17.py +109 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i18.py +131 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i19_1.py +164 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i19_2.py +156 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i19_optics.py +49 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i20_1.py +94 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i21.py +131 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i22.py +306 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i23.py +103 -0
- dls_dodal-2.0.0/src/dodal/beamlines/i24.py +169 -0
- dls_dodal-2.0.0/src/dodal/beamlines/k07.py +128 -0
- dls_dodal-2.0.0/src/dodal/beamlines/p38.py +211 -0
- dls_dodal-2.0.0/src/dodal/beamlines/p60.py +69 -0
- dls_dodal-2.0.0/src/dodal/beamlines/p99.py +93 -0
- dls_dodal-2.0.0/src/dodal/beamlines/training_rig.py +59 -0
- dls_dodal-2.0.0/src/dodal/cli.py +175 -0
- dls_dodal-2.0.0/src/dodal/common/__init__.py +17 -0
- dls_dodal-2.0.0/src/dodal/common/beamlines/beamline_parameters.py +75 -0
- dls_dodal-2.0.0/src/dodal/common/beamlines/beamline_utils.py +178 -0
- dls_dodal-2.0.0/src/dodal/common/beamlines/commissioning_mode.py +36 -0
- dls_dodal-2.0.0/src/dodal/common/coordination.py +39 -0
- dls_dodal-2.0.0/src/dodal/common/crystal_metadata.py +58 -0
- dls_dodal-2.0.0/src/dodal/common/device_utils.py +46 -0
- dls_dodal-2.0.0/src/dodal/common/maths.py +118 -0
- dls_dodal-2.0.0/src/dodal/common/udc_directory_provider.py +61 -0
- dls_dodal-2.0.0/src/dodal/common/visit.py +149 -0
- dls_dodal-2.0.0/src/dodal/common/watcher_utils.py +84 -0
- dls_dodal-2.0.0/src/dodal/device_manager.py +644 -0
- dls_dodal-2.0.0/src/dodal/devices/aperturescatterguard.py +374 -0
- dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins/cam.py +27 -0
- dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins/mjpg.py +91 -0
- dls_dodal-2.0.0/src/dodal/devices/attenuator/attenuator.py +164 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/b07/__init__.py +3 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/b07_1/__init__.py +12 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/b07_1/ccmc.py +74 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/b16/detector.py +24 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1/fast_grid_scan.py +60 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1/sample_motors.py +19 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/beamsize.py +39 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/dcm.py +61 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/undulator_dcm.py +68 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/beam_centre.py +151 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/beamsize.py +49 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/max_pixel.py +25 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/murko_results.py +296 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/transfocator.py +78 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i05/__init__.py +3 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i06_shared/__init__.py +3 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i06_shared/i06_enum.py +7 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i07/dcm.py +32 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i07/id.py +37 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i09/__init__.py +3 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_1_shared/hard_energy.py +111 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_1_shared/hard_undulator_functions.py +178 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/diagnostics.py +220 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/i10_apple2.py +183 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor/rasor_current_amp.py +49 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor/rasor_motors.py +48 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/slits.py +158 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/__init__.py +9 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet/magnet.py +16 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet/stages.py +14 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/scaler_cards.py +13 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/cyberstar_blower.py +34 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/diff_stages.py +53 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/mythen.py +164 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/nx100robot.py +153 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/spinner.py +30 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i13_1/merlin.py +32 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/dcm.py +38 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/focussing_mirror.py +55 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/jack.py +31 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/multilayer_mirror.py +21 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i17/i17_apple2.py +60 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i18/diode.py +50 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/attenuator_motor_squad.py +65 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/blueapi_device.py +111 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/piezo_control.py +72 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/shutter.py +54 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/backlight.py +19 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/mapt_configuration.py +39 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/pin_col_stages.py +173 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/pin_tip.py +32 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i21/__init__.py +3 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/dcm.py +121 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/fswitch.py +88 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/nxsas.py +167 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/beam_center.py +11 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/beamstop.py +33 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/commissioning_jungfrau.py +122 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/dcm.py +27 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/dual_backlight.py +59 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/pmac.py +234 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/p60/lab_xray_source.py +22 -0
- dls_dodal-2.0.0/src/dodal/devices/beamlines/p99/andor2_point.py +37 -0
- dls_dodal-2.0.0/src/dodal/devices/bimorph_mirror.py +143 -0
- dls_dodal-2.0.0/src/dodal/devices/collimation_table.py +37 -0
- dls_dodal-2.0.0/src/dodal/devices/common_dcm.py +134 -0
- dls_dodal-2.0.0/src/dodal/devices/controllers.py +23 -0
- dls_dodal-2.0.0/src/dodal/devices/cryostream.py +109 -0
- dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/current_amplifier.py +96 -0
- dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +108 -0
- dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/femto.py +137 -0
- dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/sr570.py +209 -0
- dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +79 -0
- dls_dodal-2.0.0/src/dodal/devices/detector/det_resolution.py +92 -0
- dls_dodal-2.0.0/src/dodal/devices/detector/detector.py +138 -0
- dls_dodal-2.0.0/src/dodal/devices/diamond_filter.py +33 -0
- dls_dodal-2.0.0/src/dodal/devices/eiger.py +458 -0
- dls_dodal-2.0.0/src/dodal/devices/eiger_odin.py +174 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/__init__.py +58 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_controller.py +84 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_detector.py +209 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_driver_io.py +224 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_enums.py +6 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_region.py +200 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_util.py +35 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/energy_sources.py +96 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/specs/specs_detector.py +47 -0
- dls_dodal-2.0.0/src/dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +53 -0
- dls_dodal-2.0.0/src/dodal/devices/eurotherm.py +127 -0
- dls_dodal-2.0.0/src/dodal/devices/fast_grid_scan.py +484 -0
- dls_dodal-2.0.0/src/dodal/devices/fast_shutter.py +155 -0
- dls_dodal-2.0.0/src/dodal/devices/flux.py +14 -0
- dls_dodal-2.0.0/src/dodal/devices/focusing_mirror.py +238 -0
- dls_dodal-2.0.0/src/dodal/devices/hutch_shutter.py +105 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/__init__.py +70 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple2_controller.py +371 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple2_undulator.py +406 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple_knot_controller.py +222 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/energy.py +161 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/energy_motor_lookup.py +81 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/lookup_table_models.py +312 -0
- dls_dodal-2.0.0/src/dodal/devices/insertion_device/polarisation.py +36 -0
- dls_dodal-2.0.0/src/dodal/devices/ipin.py +31 -0
- dls_dodal-2.0.0/src/dodal/devices/linkam3.py +60 -0
- dls_dodal-2.0.0/src/dodal/devices/motors.py +361 -0
- dls_dodal-2.0.0/src/dodal/devices/mx_phase1/beamstop.py +112 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/oav_calculations.py +73 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/oav_detector.py +330 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/oav_parameters.py +187 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/oav_to_redis_forwarder.py +178 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/__init__.py +167 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/manual_test.py +33 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/utils.py +271 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/snapshots/grid_overlay.py +119 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +76 -0
- dls_dodal-2.0.0/src/dodal/devices/oav/utils.py +135 -0
- dls_dodal-2.0.0/src/dodal/devices/p45.py +37 -0
- dls_dodal-2.0.0/src/dodal/devices/pgm.py +34 -0
- dls_dodal-2.0.0/src/dodal/devices/pressure_jump_cell.py +338 -0
- dls_dodal-2.0.0/src/dodal/devices/qbpm.py +16 -0
- dls_dodal-2.0.0/src/dodal/devices/robot.py +227 -0
- dls_dodal-2.0.0/src/dodal/devices/s4_slit_gaps.py +12 -0
- dls_dodal-2.0.0/src/dodal/devices/selectable_source.py +41 -0
- dls_dodal-2.0.0/src/dodal/devices/slits.py +54 -0
- dls_dodal-2.0.0/src/dodal/devices/smargon.py +134 -0
- dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +178 -0
- dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +98 -0
- dls_dodal-2.0.0/src/dodal/devices/tetramm.py +283 -0
- dls_dodal-2.0.0/src/dodal/devices/turbo_slit.py +32 -0
- dls_dodal-2.0.0/src/dodal/devices/undulator.py +257 -0
- dls_dodal-2.0.0/src/dodal/devices/util/adjuster_plans.py +24 -0
- dls_dodal-2.0.0/src/dodal/devices/util/epics_util.py +128 -0
- dls_dodal-2.0.0/src/dodal/devices/util/lookup_tables.py +109 -0
- dls_dodal-2.0.0/src/dodal/devices/v2f.py +38 -0
- dls_dodal-2.0.0/src/dodal/devices/watsonmarlow323_pump.py +45 -0
- dls_dodal-2.0.0/src/dodal/devices/xbpm_feedback.py +35 -0
- dls_dodal-2.0.0/src/dodal/devices/xspress3/xspress3.py +141 -0
- dls_dodal-2.0.0/src/dodal/devices/xspress3/xspress3_channel.py +37 -0
- dls_dodal-2.0.0/src/dodal/devices/zebra/zebra.py +310 -0
- dls_dodal-2.0.0/src/dodal/devices/zebra/zebra_constants_mapping.py +101 -0
- dls_dodal-2.0.0/src/dodal/devices/zebra/zebra_controlled_shutter.py +53 -0
- dls_dodal-2.0.0/src/dodal/devices/zocalo/zocalo_interaction.py +111 -0
- dls_dodal-2.0.0/src/dodal/devices/zocalo/zocalo_results.py +347 -0
- dls_dodal-2.0.0/src/dodal/log.py +294 -0
- dls_dodal-2.0.0/src/dodal/plan_stubs/check_topup.py +137 -0
- dls_dodal-2.0.0/src/dodal/plan_stubs/data_session.py +62 -0
- dls_dodal-2.0.0/src/dodal/plan_stubs/motor_utils.py +121 -0
- dls_dodal-2.0.0/src/dodal/plan_stubs/pressure_jump_cell.py +18 -0
- dls_dodal-2.0.0/src/dodal/plan_stubs/wrapped.py +133 -0
- dls_dodal-2.0.0/src/dodal/plans/bimorph.py +344 -0
- dls_dodal-2.0.0/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +188 -0
- dls_dodal-2.0.0/src/dodal/plans/device_setup_plans/__init__.py +5 -0
- dls_dodal-2.0.0/src/dodal/plans/device_setup_plans/setup_pin_tip_params.py +63 -0
- dls_dodal-2.0.0/src/dodal/plans/preprocessors/verify_undulator_gap.py +51 -0
- dls_dodal-2.0.0/src/dodal/plans/spec_path.py +64 -0
- dls_dodal-2.0.0/src/dodal/plans/verify_undulator_gap.py +18 -0
- dls_dodal-2.0.0/src/dodal/plans/wrapped.py +58 -0
- dls_dodal-2.0.0/src/dodal/testing/electron_analyser/device_factory.py +57 -0
- dls_dodal-2.0.0/src/dodal/testing/fixtures/devices/apple2.py +116 -0
- dls_dodal-2.0.0/src/dodal/testing/fixtures/run_engine.py +118 -0
- dls_dodal-2.0.0/src/dodal/testing/fixtures/utils.py +56 -0
- dls_dodal-2.0.0/src/dodal/utils.py +567 -0
- dls_dodal-2.0.0/system_tests/test_adsim.py +224 -0
- dls_dodal-2.0.0/system_tests/test_cli.py +49 -0
- dls_dodal-2.0.0/tests/beamlines/test_b16.py +66 -0
- dls_dodal-2.0.0/tests/beamlines/test_i24.py +13 -0
- dls_dodal-2.0.0/tests/common/beamlines/test_beamline_utils.py +232 -0
- dls_dodal-2.0.0/tests/common/beamlines/test_device_instantiation.py +65 -0
- dls_dodal-2.0.0/tests/common/test_maths.py +110 -0
- dls_dodal-2.0.0/tests/conftest.py +169 -0
- dls_dodal-2.0.0/tests/devices/beamlines/b07_1/test_ccmc.py +109 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i02_1/test_fast_grid_scan.py +22 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i03/test_beamsize.py +43 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i03/test_dcm.py +43 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i03/test_undulator_dcm.py +244 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/conftest.py +11 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/test_beam_centre.py +209 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/test_beamsize.py +50 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/test_max_pixel.py +56 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/test_murko_results.py +849 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i04/test_transfocator.py +48 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i07/test_dcm.py +36 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i07/test_id.py +34 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared/test_hard_energy.py +243 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared/test_undulator_functions.py +76 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i09_2_shared/test_i09_apple2.py +372 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i10/test_i10_apple2.py +728 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet/test_magnet.py +16 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet/test_stages.py +16 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i10_1/test_scaler_cards.py +24 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i11/test_i11devices.py +204 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i11/test_mythen.py +86 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i13_1/test_merlin.py +106 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i17/test_i17_apple2.py +70 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i18/test_kb_mirror.py +36 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_attenuator_motor_squad.py +136 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_attenuator_position_demand.py +145 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_piezo_control.py +174 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_shutter.py +215 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/test_backlight.py +18 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/test_beamstop.py +15 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/test_diffractometer.py +39 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/test_mapt.py +63 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i19/test_pin_col.py +157 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i22/test_dcm.py +128 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i22/test_fswitch.py +61 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i22/test_metadataholder.py +38 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i24/test_commissioning_jungfrau.py +69 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i24/test_dual_backlight.py +70 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i24/test_focus_mirrors.py +32 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i24/test_pmac.py +149 -0
- dls_dodal-2.0.0/tests/devices/beamlines/i24/test_vgonio.py +24 -0
- dls_dodal-2.0.0/tests/devices/beamlines/p60/test_lab_xray_source.py +117 -0
- dls_dodal-2.0.0/tests/devices/beamlines/p99/test_p99_stage.py +45 -0
- dls_dodal-2.0.0/tests/devices/current_amplifier/test_femto.py +306 -0
- dls_dodal-2.0.0/tests/devices/current_amplifier/test_sr570.py +306 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_controller.py +210 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_detector.py +212 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_driver_io.py +68 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_region.py +155 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_energy_sources.py +94 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/conftest.py +131 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_detector.py +46 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_driver_io.py +208 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_region.py +103 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_detector.py +41 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_driver_io.py +216 -0
- dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgsicenta_region.py +125 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/conftest.py +144 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_apple2_controller.py +146 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_apple2_undulator.py +473 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_apple_knot_path_finder.py +248 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_apple_knot_undulator.py +194 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_energy.py +222 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/test_polarisation.py +48 -0
- dls_dodal-2.0.0/tests/devices/insertion_device/util.py +35 -0
- dls_dodal-2.0.0/tests/devices/mx_phase1/test_beamstop.py +134 -0
- dls_dodal-2.0.0/tests/devices/oav/test_snapshots.py +190 -0
- dls_dodal-2.0.0/tests/devices/test_aperture_scatterguard.py +571 -0
- dls_dodal-2.0.0/tests/devices/test_bart_robot.py +307 -0
- dls_dodal-2.0.0/tests/devices/test_bimorph_mirror.py +162 -0
- dls_dodal-2.0.0/tests/devices/test_eiger.py +783 -0
- dls_dodal-2.0.0/tests/devices/test_fast_shutters.py +181 -0
- dls_dodal-2.0.0/tests/devices/test_focusing_mirror.py +267 -0
- dls_dodal-2.0.0/tests/devices/test_gridscan.py +602 -0
- dls_dodal-2.0.0/tests/devices/test_motors.py +360 -0
- dls_dodal-2.0.0/tests/devices/test_pressure_jump_cell.py +588 -0
- dls_dodal-2.0.0/tests/devices/test_selectable_source.py +44 -0
- dls_dodal-2.0.0/tests/devices/test_synchrotron.py +216 -0
- dls_dodal-2.0.0/tests/devices/test_tetramm.py +323 -0
- dls_dodal-2.0.0/tests/devices/test_zocalo_interaction.py +111 -0
- dls_dodal-2.0.0/tests/fake_beamline_misbehaving_builtins.py +42 -0
- dls_dodal-2.0.0/tests/plan_stubs/test_pressure_jump_cell_stubs.py +46 -0
- dls_dodal-2.0.0/tests/plans/__init__.py +0 -0
- dls_dodal-2.0.0/tests/plans/conftest.py +86 -0
- dls_dodal-2.0.0/tests/plans/device_setup_plans/__init__.py +0 -0
- dls_dodal-2.0.0/tests/plans/device_setup_plans/test_setup_pin_tip.py +35 -0
- dls_dodal-2.0.0/tests/plans/test_compliance.py +77 -0
- dls_dodal-2.0.0/tests/plans/test_preprocessors/__init__.py +0 -0
- dls_dodal-2.0.0/tests/preprocessors/__init__.py +0 -0
- dls_dodal-2.0.0/tests/test_cli.py +390 -0
- dls_dodal-2.0.0/tests/test_data/scintillator_with_beam.jpg +0 -0
- dls_dodal-2.0.0/tests/test_device_manager.py +922 -0
- dls_dodal-2.0.0/tests/test_utils.py +486 -0
- dls_dodal-2.0.0/tests/testing/__init__.py +0 -0
- dls_dodal-2.0.0/tests/testing/fixtures/__init__.py +0 -0
- dls_dodal-2.0.0/uv.lock +3968 -0
- dls_dodal-1.68.0/.copier-answers.yml +0 -19
- dls_dodal-1.68.0/.devcontainer/devcontainer.json +0 -46
- dls_dodal-1.68.0/.github/CONTRIBUTING.md +0 -27
- dls_dodal-1.68.0/.github/actions/install_requirements/action.yml +0 -35
- dls_dodal-1.68.0/.github/dependabot.yml +0 -28
- dls_dodal-1.68.0/.github/scripts/check_test_durations.py +0 -30
- dls_dodal-1.68.0/.github/workflows/_dist.yml +0 -35
- dls_dodal-1.68.0/.github/workflows/_docs.yml +0 -55
- dls_dodal-1.68.0/.github/workflows/_test.yml +0 -88
- dls_dodal-1.68.0/.github/workflows/_tox.yml +0 -27
- dls_dodal-1.68.0/.github/workflows/ci.yml +0 -54
- dls_dodal-1.68.0/.github/workflows/periodic.yml +0 -13
- dls_dodal-1.68.0/.pre-commit-config.yaml +0 -37
- dls_dodal-1.68.0/Dockerfile +0 -13
- dls_dodal-1.68.0/PKG-INFO +0 -306
- dls_dodal-1.68.0/docs/how-to/build-docs.md +0 -39
- dls_dodal-1.68.0/docs/how-to/coverage.md +0 -12
- dls_dodal-1.68.0/docs/how-to/create-beamline.md +0 -88
- dls_dodal-1.68.0/docs/how-to/create-device.md +0 -66
- dls_dodal-1.68.0/docs/how-to/dev-install.md +0 -60
- dls_dodal-1.68.0/docs/how-to/lint.md +0 -34
- dls_dodal-1.68.0/docs/how-to/lock-requirements.md +0 -39
- dls_dodal-1.68.0/docs/how-to/run-tests.md +0 -61
- dls_dodal-1.68.0/docs/how-to/static-analysis.md +0 -7
- dls_dodal-1.68.0/docs/how-to/write-tests.md +0 -152
- dls_dodal-1.68.0/pyproject.toml +0 -225
- dls_dodal-1.68.0/src/dls_dodal.egg-info/PKG-INFO +0 -306
- dls_dodal-1.68.0/src/dls_dodal.egg-info/SOURCES.txt +0 -676
- dls_dodal-1.68.0/src/dls_dodal.egg-info/requires.txt +0 -50
- dls_dodal-1.68.0/src/dodal/_version.py +0 -34
- dls_dodal-1.68.0/src/dodal/beamline_specific_utils/i05_shared.py +0 -14
- dls_dodal-1.68.0/src/dodal/beamlines/__init__.py +0 -98
- dls_dodal-1.68.0/src/dodal/beamlines/adsim.py +0 -81
- dls_dodal-1.68.0/src/dodal/beamlines/b01_1.py +0 -99
- dls_dodal-1.68.0/src/dodal/beamlines/b07.py +0 -46
- dls_dodal-1.68.0/src/dodal/beamlines/b07_1.py +0 -54
- dls_dodal-1.68.0/src/dodal/beamlines/b16.py +0 -68
- dls_dodal-1.68.0/src/dodal/beamlines/b21.py +0 -150
- dls_dodal-1.68.0/src/dodal/beamlines/i02_1.py +0 -117
- dls_dodal-1.68.0/src/dodal/beamlines/i02_2.py +0 -32
- dls_dodal-1.68.0/src/dodal/beamlines/i03.py +0 -362
- dls_dodal-1.68.0/src/dodal/beamlines/i04.py +0 -412
- dls_dodal-1.68.0/src/dodal/beamlines/i05.py +0 -49
- dls_dodal-1.68.0/src/dodal/beamlines/i05_1.py +0 -22
- dls_dodal-1.68.0/src/dodal/beamlines/i06.py +0 -62
- dls_dodal-1.68.0/src/dodal/beamlines/i07.py +0 -41
- dls_dodal-1.68.0/src/dodal/beamlines/i09.py +0 -59
- dls_dodal-1.68.0/src/dodal/beamlines/i09_1.py +0 -84
- dls_dodal-1.68.0/src/dodal/beamlines/i09_2.py +0 -113
- dls_dodal-1.68.0/src/dodal/beamlines/i10.py +0 -174
- dls_dodal-1.68.0/src/dodal/beamlines/i10_1.py +0 -35
- dls_dodal-1.68.0/src/dodal/beamlines/i10_optics.py +0 -260
- dls_dodal-1.68.0/src/dodal/beamlines/i11.py +0 -126
- dls_dodal-1.68.0/src/dodal/beamlines/i13_1.py +0 -58
- dls_dodal-1.68.0/src/dodal/beamlines/i15.py +0 -242
- dls_dodal-1.68.0/src/dodal/beamlines/i15_1.py +0 -156
- dls_dodal-1.68.0/src/dodal/beamlines/i16.py +0 -23
- dls_dodal-1.68.0/src/dodal/beamlines/i17.py +0 -100
- dls_dodal-1.68.0/src/dodal/beamlines/i18.py +0 -132
- dls_dodal-1.68.0/src/dodal/beamlines/i19_1.py +0 -103
- dls_dodal-1.68.0/src/dodal/beamlines/i19_2.py +0 -140
- dls_dodal-1.68.0/src/dodal/beamlines/i19_optics.py +0 -36
- dls_dodal-1.68.0/src/dodal/beamlines/i20_1.py +0 -88
- dls_dodal-1.68.0/src/dodal/beamlines/i21.py +0 -116
- dls_dodal-1.68.0/src/dodal/beamlines/i22.py +0 -291
- dls_dodal-1.68.0/src/dodal/beamlines/i23.py +0 -110
- dls_dodal-1.68.0/src/dodal/beamlines/i24.py +0 -218
- dls_dodal-1.68.0/src/dodal/beamlines/k07.py +0 -34
- dls_dodal-1.68.0/src/dodal/beamlines/p38.py +0 -211
- dls_dodal-1.68.0/src/dodal/beamlines/p60.py +0 -48
- dls_dodal-1.68.0/src/dodal/beamlines/p99.py +0 -92
- dls_dodal-1.68.0/src/dodal/beamlines/training_rig.py +0 -51
- dls_dodal-1.68.0/src/dodal/cli.py +0 -141
- dls_dodal-1.68.0/src/dodal/common/__init__.py +0 -16
- dls_dodal-1.68.0/src/dodal/common/beamlines/beamline_parameters.py +0 -74
- dls_dodal-1.68.0/src/dodal/common/beamlines/beamline_utils.py +0 -176
- dls_dodal-1.68.0/src/dodal/common/beamlines/commissioning_mode.py +0 -33
- dls_dodal-1.68.0/src/dodal/common/coordination.py +0 -41
- dls_dodal-1.68.0/src/dodal/common/crystal_metadata.py +0 -61
- dls_dodal-1.68.0/src/dodal/common/device_utils.py +0 -45
- dls_dodal-1.68.0/src/dodal/common/maths.py +0 -50
- dls_dodal-1.68.0/src/dodal/common/udc_directory_provider.py +0 -56
- dls_dodal-1.68.0/src/dodal/common/visit.py +0 -152
- dls_dodal-1.68.0/src/dodal/common/watcher_utils.py +0 -83
- dls_dodal-1.68.0/src/dodal/device_manager.py +0 -604
- dls_dodal-1.68.0/src/dodal/devices/aperturescatterguard.py +0 -375
- dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins/cam.py +0 -29
- dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins/mjpg.py +0 -90
- dls_dodal-1.68.0/src/dodal/devices/attenuator/attenuator.py +0 -163
- dls_dodal-1.68.0/src/dodal/devices/b07/__init__.py +0 -3
- dls_dodal-1.68.0/src/dodal/devices/b07_1/__init__.py +0 -12
- dls_dodal-1.68.0/src/dodal/devices/b07_1/ccmc.py +0 -79
- dls_dodal-1.68.0/src/dodal/devices/b16/detector.py +0 -25
- dls_dodal-1.68.0/src/dodal/devices/bimorph_mirror.py +0 -141
- dls_dodal-1.68.0/src/dodal/devices/collimation_table.py +0 -36
- dls_dodal-1.68.0/src/dodal/devices/common_dcm.py +0 -124
- dls_dodal-1.68.0/src/dodal/devices/controllers.py +0 -23
- dls_dodal-1.68.0/src/dodal/devices/cryostream.py +0 -101
- dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -98
- dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -109
- dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/femto.py +0 -138
- dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/sr570.py +0 -209
- dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -79
- dls_dodal-1.68.0/src/dodal/devices/detector/det_resolution.py +0 -91
- dls_dodal-1.68.0/src/dodal/devices/detector/detector.py +0 -136
- dls_dodal-1.68.0/src/dodal/devices/diamond_filter.py +0 -34
- dls_dodal-1.68.0/src/dodal/devices/eiger.py +0 -443
- dls_dodal-1.68.0/src/dodal/devices/eiger_odin.py +0 -174
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/__init__.py +0 -58
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_controller.py +0 -73
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_detector.py +0 -214
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_driver_io.py +0 -231
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_enums.py +0 -11
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_region.py +0 -202
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_util.py +0 -33
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/energy_sources.py +0 -101
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/specs/specs_detector.py +0 -46
- dls_dodal-1.68.0/src/dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +0 -52
- dls_dodal-1.68.0/src/dodal/devices/eurotherm.py +0 -126
- dls_dodal-1.68.0/src/dodal/devices/fast_grid_scan.py +0 -487
- dls_dodal-1.68.0/src/dodal/devices/fast_shutter.py +0 -69
- dls_dodal-1.68.0/src/dodal/devices/flux.py +0 -14
- dls_dodal-1.68.0/src/dodal/devices/focusing_mirror.py +0 -220
- dls_dodal-1.68.0/src/dodal/devices/hutch_shutter.py +0 -105
- dls_dodal-1.68.0/src/dodal/devices/i02_1/fast_grid_scan.py +0 -61
- dls_dodal-1.68.0/src/dodal/devices/i02_1/sample_motors.py +0 -19
- dls_dodal-1.68.0/src/dodal/devices/i03/beamsize.py +0 -35
- dls_dodal-1.68.0/src/dodal/devices/i03/dcm.py +0 -62
- dls_dodal-1.68.0/src/dodal/devices/i03/undulator_dcm.py +0 -69
- dls_dodal-1.68.0/src/dodal/devices/i04/beamsize.py +0 -45
- dls_dodal-1.68.0/src/dodal/devices/i04/max_pixel.py +0 -38
- dls_dodal-1.68.0/src/dodal/devices/i04/murko_results.py +0 -281
- dls_dodal-1.68.0/src/dodal/devices/i04/transfocator.py +0 -83
- dls_dodal-1.68.0/src/dodal/devices/i05/__init__.py +0 -3
- dls_dodal-1.68.0/src/dodal/devices/i07/dcm.py +0 -33
- dls_dodal-1.68.0/src/dodal/devices/i07/id.py +0 -38
- dls_dodal-1.68.0/src/dodal/devices/i09/__init__.py +0 -3
- dls_dodal-1.68.0/src/dodal/devices/i09_1_shared/hard_energy.py +0 -112
- dls_dodal-1.68.0/src/dodal/devices/i09_1_shared/hard_undulator_functions.py +0 -175
- dls_dodal-1.68.0/src/dodal/devices/i10/diagnostics.py +0 -219
- dls_dodal-1.68.0/src/dodal/devices/i10/i10_apple2.py +0 -197
- dls_dodal-1.68.0/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -72
- dls_dodal-1.68.0/src/dodal/devices/i10/rasor/rasor_motors.py +0 -48
- dls_dodal-1.68.0/src/dodal/devices/i10/slits.py +0 -156
- dls_dodal-1.68.0/src/dodal/devices/i11/cyberstar_blower.py +0 -34
- dls_dodal-1.68.0/src/dodal/devices/i11/diff_stages.py +0 -55
- dls_dodal-1.68.0/src/dodal/devices/i11/mythen.py +0 -165
- dls_dodal-1.68.0/src/dodal/devices/i11/nx100robot.py +0 -153
- dls_dodal-1.68.0/src/dodal/devices/i11/spinner.py +0 -30
- dls_dodal-1.68.0/src/dodal/devices/i13_1/merlin.py +0 -32
- dls_dodal-1.68.0/src/dodal/devices/i15/dcm.py +0 -39
- dls_dodal-1.68.0/src/dodal/devices/i15/focussing_mirror.py +0 -55
- dls_dodal-1.68.0/src/dodal/devices/i15/jack.py +0 -31
- dls_dodal-1.68.0/src/dodal/devices/i15/multilayer_mirror.py +0 -21
- dls_dodal-1.68.0/src/dodal/devices/i17/i17_apple2.py +0 -66
- dls_dodal-1.68.0/src/dodal/devices/i18/diode.py +0 -50
- dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/attenuator_motor_squad.py +0 -61
- dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/blueapi_device.py +0 -110
- dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/shutter.py +0 -52
- dls_dodal-1.68.0/src/dodal/devices/i19/backlight.py +0 -17
- dls_dodal-1.68.0/src/dodal/devices/i19/mapt_configuration.py +0 -38
- dls_dodal-1.68.0/src/dodal/devices/i19/pin_col_stages.py +0 -170
- dls_dodal-1.68.0/src/dodal/devices/i21/__init__.py +0 -5
- dls_dodal-1.68.0/src/dodal/devices/i22/dcm.py +0 -122
- dls_dodal-1.68.0/src/dodal/devices/i22/fswitch.py +0 -90
- dls_dodal-1.68.0/src/dodal/devices/i22/nxsas.py +0 -166
- dls_dodal-1.68.0/src/dodal/devices/i24/beam_center.py +0 -11
- dls_dodal-1.68.0/src/dodal/devices/i24/beamstop.py +0 -33
- dls_dodal-1.68.0/src/dodal/devices/i24/commissioning_jungfrau.py +0 -122
- dls_dodal-1.68.0/src/dodal/devices/i24/dcm.py +0 -29
- dls_dodal-1.68.0/src/dodal/devices/i24/dual_backlight.py +0 -59
- dls_dodal-1.68.0/src/dodal/devices/i24/pmac.py +0 -232
- dls_dodal-1.68.0/src/dodal/devices/insertion_device/__init__.py +0 -58
- dls_dodal-1.68.0/src/dodal/devices/insertion_device/apple2_undulator.py +0 -809
- dls_dodal-1.68.0/src/dodal/devices/insertion_device/energy_motor_lookup.py +0 -88
- dls_dodal-1.68.0/src/dodal/devices/insertion_device/lookup_table_models.py +0 -317
- dls_dodal-1.68.0/src/dodal/devices/ipin.py +0 -31
- dls_dodal-1.68.0/src/dodal/devices/linkam3.py +0 -58
- dls_dodal-1.68.0/src/dodal/devices/motors.py +0 -273
- dls_dodal-1.68.0/src/dodal/devices/mx_phase1/beamstop.py +0 -114
- dls_dodal-1.68.0/src/dodal/devices/oav/oav_calculations.py +0 -66
- dls_dodal-1.68.0/src/dodal/devices/oav/oav_detector.py +0 -260
- dls_dodal-1.68.0/src/dodal/devices/oav/oav_parameters.py +0 -192
- dls_dodal-1.68.0/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -174
- dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -169
- dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -34
- dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -273
- dls_dodal-1.68.0/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -118
- dls_dodal-1.68.0/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -74
- dls_dodal-1.68.0/src/dodal/devices/oav/utils.py +0 -121
- dls_dodal-1.68.0/src/dodal/devices/p45.py +0 -43
- dls_dodal-1.68.0/src/dodal/devices/p60/lab_xray_source.py +0 -22
- dls_dodal-1.68.0/src/dodal/devices/p99/andor2_point.py +0 -41
- dls_dodal-1.68.0/src/dodal/devices/pgm.py +0 -40
- dls_dodal-1.68.0/src/dodal/devices/pressure_jump_cell.py +0 -277
- dls_dodal-1.68.0/src/dodal/devices/qbpm.py +0 -18
- dls_dodal-1.68.0/src/dodal/devices/robot.py +0 -202
- dls_dodal-1.68.0/src/dodal/devices/s4_slit_gaps.py +0 -12
- dls_dodal-1.68.0/src/dodal/devices/slits.py +0 -57
- dls_dodal-1.68.0/src/dodal/devices/smargon.py +0 -135
- dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -204
- dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -112
- dls_dodal-1.68.0/src/dodal/devices/tetramm.py +0 -283
- dls_dodal-1.68.0/src/dodal/devices/turbo_slit.py +0 -31
- dls_dodal-1.68.0/src/dodal/devices/undulator.py +0 -271
- dls_dodal-1.68.0/src/dodal/devices/util/adjuster_plans.py +0 -25
- dls_dodal-1.68.0/src/dodal/devices/util/epics_util.py +0 -128
- dls_dodal-1.68.0/src/dodal/devices/util/lookup_tables.py +0 -110
- dls_dodal-1.68.0/src/dodal/devices/v2f.py +0 -39
- dls_dodal-1.68.0/src/dodal/devices/watsonmarlow323_pump.py +0 -45
- dls_dodal-1.68.0/src/dodal/devices/xbpm_feedback.py +0 -34
- dls_dodal-1.68.0/src/dodal/devices/xspress3/xspress3.py +0 -144
- dls_dodal-1.68.0/src/dodal/devices/xspress3/xspress3_channel.py +0 -40
- dls_dodal-1.68.0/src/dodal/devices/zebra/zebra.py +0 -296
- dls_dodal-1.68.0/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -96
- dls_dodal-1.68.0/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -52
- dls_dodal-1.68.0/src/dodal/devices/zocalo/zocalo_interaction.py +0 -111
- dls_dodal-1.68.0/src/dodal/devices/zocalo/zocalo_results.py +0 -347
- dls_dodal-1.68.0/src/dodal/log.py +0 -291
- dls_dodal-1.68.0/src/dodal/plan_stubs/check_topup.py +0 -137
- dls_dodal-1.68.0/src/dodal/plan_stubs/data_session.py +0 -62
- dls_dodal-1.68.0/src/dodal/plan_stubs/motor_utils.py +0 -117
- dls_dodal-1.68.0/src/dodal/plan_stubs/wrapped.py +0 -148
- dls_dodal-1.68.0/src/dodal/plans/bimorph.py +0 -333
- dls_dodal-1.68.0/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -189
- dls_dodal-1.68.0/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -49
- dls_dodal-1.68.0/src/dodal/plans/spec_path.py +0 -66
- dls_dodal-1.68.0/src/dodal/plans/verify_undulator_gap.py +0 -19
- dls_dodal-1.68.0/src/dodal/plans/wrapped.py +0 -57
- dls_dodal-1.68.0/src/dodal/testing/electron_analyser/device_factory.py +0 -59
- dls_dodal-1.68.0/src/dodal/testing/fixtures/devices/apple2.py +0 -78
- dls_dodal-1.68.0/src/dodal/testing/fixtures/run_engine.py +0 -122
- dls_dodal-1.68.0/src/dodal/testing/fixtures/utils.py +0 -57
- dls_dodal-1.68.0/src/dodal/utils.py +0 -565
- dls_dodal-1.68.0/system_tests/test_adsim.py +0 -238
- dls_dodal-1.68.0/system_tests/test_cli.py +0 -48
- dls_dodal-1.68.0/tests/beamlines/test_b16.py +0 -60
- dls_dodal-1.68.0/tests/beamlines/test_i24.py +0 -13
- dls_dodal-1.68.0/tests/common/beamlines/test_beamline_utils.py +0 -211
- dls_dodal-1.68.0/tests/common/beamlines/test_device_instantiation.py +0 -66
- dls_dodal-1.68.0/tests/common/test_maths.py +0 -63
- dls_dodal-1.68.0/tests/conftest.py +0 -161
- dls_dodal-1.68.0/tests/devices/b07_1/test_ccmc.py +0 -109
- dls_dodal-1.68.0/tests/devices/current_amplifier/test_femto.py +0 -306
- dls_dodal-1.68.0/tests/devices/current_amplifier/test_sr570.py +0 -306
- dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_controller.py +0 -115
- dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_detector.py +0 -212
- dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_driver_io.py +0 -68
- dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_region.py +0 -155
- dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_energy_sources.py +0 -93
- dls_dodal-1.68.0/tests/devices/electron_analyser/conftest.py +0 -121
- dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_detector.py +0 -46
- dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_driver_io.py +0 -208
- dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_region.py +0 -102
- dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_detector.py +0 -41
- dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_driver_io.py +0 -216
- dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgsicenta_region.py +0 -124
- dls_dodal-1.68.0/tests/devices/i02_1/test_fast_grid_scan.py +0 -22
- dls_dodal-1.68.0/tests/devices/i03/test_beamsize.py +0 -43
- dls_dodal-1.68.0/tests/devices/i03/test_dcm.py +0 -43
- dls_dodal-1.68.0/tests/devices/i03/test_undulator_dcm.py +0 -244
- dls_dodal-1.68.0/tests/devices/i04/conftest.py +0 -11
- dls_dodal-1.68.0/tests/devices/i04/test_beamsize.py +0 -50
- dls_dodal-1.68.0/tests/devices/i04/test_max_pixel.py +0 -71
- dls_dodal-1.68.0/tests/devices/i04/test_murko_results.py +0 -809
- dls_dodal-1.68.0/tests/devices/i04/test_transfocator.py +0 -55
- dls_dodal-1.68.0/tests/devices/i07/test_dcm.py +0 -36
- dls_dodal-1.68.0/tests/devices/i07/test_id.py +0 -28
- dls_dodal-1.68.0/tests/devices/i09_1_shared/test_hard_energy.py +0 -243
- dls_dodal-1.68.0/tests/devices/i09_1_shared/test_undulator_functions.py +0 -73
- dls_dodal-1.68.0/tests/devices/i09_2_shared/test_i09_apple2.py +0 -372
- dls_dodal-1.68.0/tests/devices/i10/test_i10_apple2.py +0 -726
- dls_dodal-1.68.0/tests/devices/i11/test_i11devices.py +0 -200
- dls_dodal-1.68.0/tests/devices/i11/test_mythen.py +0 -81
- dls_dodal-1.68.0/tests/devices/i13_1/test_merlin.py +0 -106
- dls_dodal-1.68.0/tests/devices/i17/test_i17_apple2.py +0 -70
- dls_dodal-1.68.0/tests/devices/i18/test_kb_mirror.py +0 -38
- dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_attenuator_motor_squad.py +0 -134
- dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_attenuator_position_demand.py +0 -145
- dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_shutter.py +0 -212
- dls_dodal-1.68.0/tests/devices/i19/test_backlight.py +0 -18
- dls_dodal-1.68.0/tests/devices/i19/test_beamstop.py +0 -15
- dls_dodal-1.68.0/tests/devices/i19/test_diffractometer.py +0 -36
- dls_dodal-1.68.0/tests/devices/i19/test_mapt.py +0 -63
- dls_dodal-1.68.0/tests/devices/i19/test_pin_col.py +0 -157
- dls_dodal-1.68.0/tests/devices/i22/test_dcm.py +0 -128
- dls_dodal-1.68.0/tests/devices/i22/test_fswitch.py +0 -61
- dls_dodal-1.68.0/tests/devices/i22/test_metadataholder.py +0 -38
- dls_dodal-1.68.0/tests/devices/i24/test_commissioning_jungfrau.py +0 -69
- dls_dodal-1.68.0/tests/devices/i24/test_dual_backlight.py +0 -70
- dls_dodal-1.68.0/tests/devices/i24/test_focus_mirrors.py +0 -28
- dls_dodal-1.68.0/tests/devices/i24/test_pmac.py +0 -149
- dls_dodal-1.68.0/tests/devices/i24/test_vgonio.py +0 -24
- dls_dodal-1.68.0/tests/devices/insertion_device/conftest.py +0 -44
- dls_dodal-1.68.0/tests/devices/insertion_device/test_apple2_undulator.py +0 -463
- dls_dodal-1.68.0/tests/devices/insertion_device/util.py +0 -37
- dls_dodal-1.68.0/tests/devices/mx_phase1/test_beamstop.py +0 -134
- dls_dodal-1.68.0/tests/devices/oav/test_snapshots.py +0 -188
- dls_dodal-1.68.0/tests/devices/p60/test_lab_xray_source.py +0 -114
- dls_dodal-1.68.0/tests/devices/p99/test_p99_stage.py +0 -47
- dls_dodal-1.68.0/tests/devices/test_aperture_scatterguard.py +0 -570
- dls_dodal-1.68.0/tests/devices/test_bart_robot.py +0 -301
- dls_dodal-1.68.0/tests/devices/test_bimorph_mirror.py +0 -162
- dls_dodal-1.68.0/tests/devices/test_eiger.py +0 -780
- dls_dodal-1.68.0/tests/devices/test_fast_shutters.py +0 -47
- dls_dodal-1.68.0/tests/devices/test_focusing_mirror.py +0 -255
- dls_dodal-1.68.0/tests/devices/test_gridscan.py +0 -602
- dls_dodal-1.68.0/tests/devices/test_motors.py +0 -244
- dls_dodal-1.68.0/tests/devices/test_pressure_jump_cell.py +0 -416
- dls_dodal-1.68.0/tests/devices/test_synchrotron.py +0 -217
- dls_dodal-1.68.0/tests/devices/test_tetramm.py +0 -323
- dls_dodal-1.68.0/tests/devices/test_zocalo_interaction.py +0 -113
- dls_dodal-1.68.0/tests/fake_beamline_misbehaving_builtins.py +0 -47
- dls_dodal-1.68.0/tests/plans/conftest.py +0 -86
- dls_dodal-1.68.0/tests/plans/test_compliance.py +0 -78
- dls_dodal-1.68.0/tests/test_cli.py +0 -343
- dls_dodal-1.68.0/tests/test_device_manager.py +0 -763
- dls_dodal-1.68.0/tests/test_utils.py +0 -511
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/CODEOWNERS +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/pages/index.html +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/pages/make_switcher.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/workflows/_pypi.yml +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/workflows/_release.yml +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.gitignore +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/extensions.json +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/launch.json +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/settings.json +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/tasks.json +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/LICENSE +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/README.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/catalog-info.yaml +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/autosummary/class.rst +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/autosummary/module.rst +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/custom-module-template.rst +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/assets/zocalo.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/conf.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/COPYME +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/reviews.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/umls/apple2_design.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/umls/i10_id_design.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/genindex.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/contribute.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/excalidraw.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/external-io-devices.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/make-release.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/move-code.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/pypi.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/tidy-docs.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/update-template.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/zocalo.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/images/dls-logo.svg +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/images/excalidraw-example.svg +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/index.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/api.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/device-standards.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/standards.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials/get_started.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials/installation.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/pull_request_template.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/setup.cfg +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/__main__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/README.md +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/aithre.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/b18.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/k11.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/p45.py +0 -0
- {dls_dodal-1.68.0/src/dodal/beamline_specific_utils → dls_dodal-2.0.0/src/dodal/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/data_util.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/enums.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/types.py +0 -0
- {dls_dodal-1.68.0/src/dodal/common/beamlines → dls_dodal-2.0.0/src/dodal/devices}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/aithre_lasershaping}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aperture.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/aithre_lasershaping → dls_dodal-2.0.0/src/dodal/devices/areadetector}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/areadetector → dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins → dls_dodal-2.0.0/src/dodal/devices/attenuator}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/attenuator/filter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/backlight.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/baton.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/attenuator → dls_dodal-2.0.0/src/dodal/devices/beamlines}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b07/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b07_1/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b16/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/beamsize → dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/electron_analyser → dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_2}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i03/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i03/constants.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i04/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i04/constants.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i05/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i02_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i07}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1_shared/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i02_2 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_2_shared}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_2_shared/i09_apple2.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/i10_setting_data.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/mirrors.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i07 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/rasor/rasor_scaler_cards.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i09_2_shared → dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i10/rasor → dls_dodal-2.0.0/src/dodal/devices/beamlines/i11}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i11 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i13_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i13_1/merlin_controller.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i13_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i15}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/laue.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/motors.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/rail.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i15 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i17}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i17 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i18}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i18/kb_mirror.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i18 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i19}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i19 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/access_controlled/hutch_access.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/beamstop.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/diffractometer.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled → dls_dodal-2.0.0/src/dodal/devices/beamlines/i20_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i21/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i20_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i22}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i22 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i24}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/aperture.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/focus_mirrors.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/vgonio.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p60/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p60/enums.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/i24 → dls_dodal-2.0.0/src/dodal/devices/beamlines/p99}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p99/sample_stage.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/mx_phase1 → dls_dodal-2.0.0/src/dodal/devices/beamsize}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/beamsize/beamsize.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/detector_motion.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/oav → dls_dodal-2.0.0/src/dodal/devices/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_driver_io.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_enums.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_region.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_region.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
- /dls_dodal-1.68.0/src/dodal/devices/insertion_device/id_enum.py → /dls_dodal-2.0.0/src/dodal/devices/insertion_device/enum.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/oav/snapshots → dls_dodal-2.0.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/p99 → dls_dodal-2.0.0/src/dodal/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-2.0.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/positioner.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/scintillator.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/status.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/synchrotron.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/util → dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/thawer.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/xspress3 → dls_dodal-2.0.0/src/dodal/devices/util}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/webcam.py +0 -0
- {dls_dodal-1.68.0/src/dodal/devices/zebra → dls_dodal-2.0.0/src/dodal/devices/xspress3}/__init__.py +0 -0
- {dls_dodal-1.68.0/src/dodal/parameters → dls_dodal-2.0.0/src/dodal/devices/zebra}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/zocalo/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
- {dls_dodal-1.68.0/src/dodal/plans/preprocessors → dls_dodal-2.0.0/src/dodal/parameters}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plan_stubs/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/load_panda_yaml.py +0 -0
- {dls_dodal-1.68.0/src/dodal/testing/fixtures → dls_dodal-2.0.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/save_panda.py +0 -0
- {dls_dodal-1.68.0/src/dodal/testing/fixtures/devices → dls_dodal-2.0.0/src/dodal/testing}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
- {dls_dodal-1.68.0/system_tests → dls_dodal-2.0.0/src/dodal/testing/fixtures}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests → dls_dodal-2.0.0/src/dodal/testing/fixtures/devices}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/beamlines → dls_dodal-2.0.0/system_tests}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/conftest.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/test_oav_system.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/test_oav_to_redis_system.py +0 -0
- {dls_dodal-1.68.0/tests/common → dls_dodal-2.0.0/tests}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/common → dls_dodal-2.0.0/tests}/beamlines/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/beamlines/test_i03.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/beamlines/test_mapping.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/common}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/aithre_lasershaping → dls_dodal-2.0.0/tests/common/beamlines}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/beamlines/test_commissioning_mode.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_coordination.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_crystal_metadata.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_udc_directory_provider.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_visit.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_watcher_utils.py +0 -0
- {dls_dodal-1.68.0/tests/devices/b07_1 → dls_dodal-2.0.0/tests/devices}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/current_amplifier → dls_dodal-2.0.0/tests/devices/aithre_lasershaping}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
- {dls_dodal-1.68.0/tests/devices/detector → dls_dodal-2.0.0/tests/devices/beamlines}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/electron_analyser → dls_dodal-2.0.0/tests/devices/beamlines/b07_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/electron_analyser/base → dls_dodal-2.0.0/tests/devices/beamlines/i02_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/electron_analyser/specs → dls_dodal-2.0.0/tests/devices/beamlines/i03}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta → dls_dodal-2.0.0/tests/devices/beamlines/i04}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i07/IIDCalibrationTable.txt +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i07/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i02_1 → dls_dodal-2.0.0/tests/devices/beamlines/i09}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i03 → dls_dodal-2.0.0/tests/devices/beamlines/i09_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i04 → dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_1_shared/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_1_shared/test_data/test_lookuptable_i09_hu.txt +0 -0
- {dls_dodal-1.68.0/tests/devices/i09 → dls_dodal-2.0.0/tests/devices/beamlines/i09_2_shared}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/ExpectedJIDEnergy2GapCalibrations.json +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/ExpectedJIDEnergy2PhaseCalibrations.json +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/JIDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/JIDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i09_1 → dls_dodal-2.0.0/tests/devices/beamlines/i10}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json +0 -0
- {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json +0 -0
- {dls_dodal-1.68.0/tests/devices/i09_1_shared → dls_dodal-2.0.0/tests/devices/beamlines/i10_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i09_2_shared → dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i10 → dls_dodal-2.0.0/tests/devices/beamlines/i11}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i11 → dls_dodal-2.0.0/tests/devices/beamlines/i13_1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i13_1 → dls_dodal-2.0.0/tests/devices/beamlines/i15}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i15 → dls_dodal-2.0.0/tests/devices/beamlines/i17}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i17 → dls_dodal-2.0.0/tests/devices/beamlines/i18}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i18 → dls_dodal-2.0.0/tests/devices/beamlines/i19}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i19 → dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i19/access_controlled → dls_dodal-2.0.0/tests/devices/beamlines/i22}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i22 → dls_dodal-2.0.0/tests/devices/beamlines/i24}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/i24 → dls_dodal-2.0.0/tests/devices/beamlines/p60}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/insertion_device → dls_dodal-2.0.0/tests/devices/beamlines/p99}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/conftest.py +0 -0
- {dls_dodal-1.68.0/tests/devices/mx_phase1 → dls_dodal-2.0.0/tests/devices/current_amplifier}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/oav → dls_dodal-2.0.0/tests/devices/detector}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_det_resolution.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_detector.py +0 -0
- {dls_dodal-1.68.0/tests/devices/oav/image_recognition → dls_dodal-2.0.0/tests/devices/electron_analyser}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/p60 → dls_dodal-2.0.0/tests/devices/electron_analyser/base}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/base/test_base_util.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
- {dls_dodal-1.68.0/tests/devices/p99 → dls_dodal-2.0.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
- {dls_dodal-1.68.0/tests/devices/temperature_controller → dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/devices/temperature_controller/lakeshore → dls_dodal-2.0.0/tests/devices/insertion_device}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/insertion_device/test_energy_motor_lookup.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/insertion_device/test_lookup_tables_models.py +0 -0
- {dls_dodal-1.68.0/tests/devices/util → dls_dodal-2.0.0/tests/devices/mx_phase1}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/fake_zocalo → dls_dodal-2.0.0/tests/devices/oav}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/conftest.py +0 -0
- {dls_dodal-1.68.0/tests/plan_stubs → dls_dodal-2.0.0/tests/devices/oav/image_recognition}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_grid_overlay.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_parameters.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_utils.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
- {dls_dodal-1.68.0/tests/plans → dls_dodal-2.0.0/tests/devices/temperature_controller}/__init__.py +0 -0
- {dls_dodal-1.68.0/tests/plans/test_preprocessors → dls_dodal-2.0.0/tests/devices/temperature_controller/lakeshore}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_aperture.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_attenuator.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_backlight.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_baton.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_beam_converter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_common_dcm.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_controllers.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_diamond_filter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_hutch_shutter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_odin.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_positioner.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_qbpm.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_scintillator.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_slits.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_smargon.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_thawer.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_turbo_slit.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_undulator.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_utils.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_watsonmarlow323_pump.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_webcam.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_xbpm_feedback.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_xspress3.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra_shutter.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zocalo_results.py +0 -0
- {dls_dodal-1.68.0/tests/preprocessors → dls_dodal-2.0.0/tests/devices/util}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_adjuster_plans.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_lookup_tables.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_broken_dependency.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_dependencies.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_some_devices_working.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_device_factory_beamline.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/README.rst +0 -0
- {dls_dodal-1.68.0/tests/testing → dls_dodal-2.0.0/tests/fake_zocalo}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/__main__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
- {dls_dodal-1.68.0/tests/testing/fixtures → dls_dodal-2.0.0/tests/plan_stubs}/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data_session.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_topup_plan.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_bimorph.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_load_panda_yaml.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_save_panda.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_scanspec.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_wrapped.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/__init__.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/bad_beamlineParameters +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/i04_beamlineParameters +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_display.configuration +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_log.py +0 -0
- {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/testing/fixtures/test_run_engine.py +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changes here will be overwritten by Copier
|
|
2
|
+
_commit: 5.0.1
|
|
3
|
+
_src_path: https://github.com/DiamondLightSource/python-copier-template
|
|
4
|
+
author_email: dominic.oram@diamond.ac.uk
|
|
5
|
+
author_name: Dominic Oram
|
|
6
|
+
component_lifecycle: production
|
|
7
|
+
component_owner: group:data-acquisition
|
|
8
|
+
component_type: library
|
|
9
|
+
description: Ophyd devices and other utils that could be used across DLS beamlines
|
|
10
|
+
distribution_name: dls-dodal # Can change to dodal https://github.com/DiamondLightSource/dodal/issues/681
|
|
11
|
+
docker: false
|
|
12
|
+
docs_type: sphinx
|
|
13
|
+
git_platform: github.com
|
|
14
|
+
github_org: DiamondLightSource
|
|
15
|
+
package_name: dodal
|
|
16
|
+
pypi: true
|
|
17
|
+
repo_name: dodal
|
|
18
|
+
strict_typing: false # Should move to strict typing in future
|
|
19
|
+
type_checker: pyright
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// For format details, see https://containers.dev/implementors/json_reference/
|
|
2
|
+
{
|
|
3
|
+
"name": "Python 3 Developer Container",
|
|
4
|
+
"build": {
|
|
5
|
+
"dockerfile": "../Dockerfile",
|
|
6
|
+
"target": "developer"
|
|
7
|
+
},
|
|
8
|
+
"remoteEnv": {
|
|
9
|
+
// Allow X11 apps to run inside the container
|
|
10
|
+
"DISPLAY": "${localEnv:DISPLAY}",
|
|
11
|
+
// Put things that allow it in the persistent cache
|
|
12
|
+
"PRE_COMMIT_HOME": "/cache/pre-commit",
|
|
13
|
+
"UV_CACHE_DIR": "/cache/uv",
|
|
14
|
+
"UV_PYTHON_CACHE_DIR": "/cache/uv-python",
|
|
15
|
+
// Make a venv that is specific for this workspace path as the cache is shared
|
|
16
|
+
"UV_PROJECT_ENVIRONMENT": "/cache/venv-for${localWorkspaceFolder}",
|
|
17
|
+
// Do the equivalent of "activate" the venv so we don't have to "uv run" everything
|
|
18
|
+
"VIRTUAL_ENV": "/cache/venv-for${localWorkspaceFolder}",
|
|
19
|
+
"PATH": "/cache/venv-for${localWorkspaceFolder}/bin:${containerEnv:PATH}"
|
|
20
|
+
},
|
|
21
|
+
"customizations": {
|
|
22
|
+
"vscode": {
|
|
23
|
+
// Set *default* container specific settings.json values on container create.
|
|
24
|
+
"settings": {
|
|
25
|
+
// Use the container's python by default
|
|
26
|
+
"python.defaultInterpreterPath": "/cache/venv-for${localWorkspaceFolder}/bin/python",
|
|
27
|
+
// Don't activate the venv as it is already in the PATH
|
|
28
|
+
"python.terminal.activateEnvInCurrentTerminal": false,
|
|
29
|
+
"python.terminal.activateEnvironment": false,
|
|
30
|
+
// Workaround to prevent garbled python REPL in the terminal
|
|
31
|
+
// https://github.com/microsoft/vscode-python/issues/25505
|
|
32
|
+
"python.terminal.shellIntegration.enabled": false
|
|
33
|
+
},
|
|
34
|
+
// Add the IDs of extensions you want installed when the container is created.
|
|
35
|
+
"extensions": [
|
|
36
|
+
"ms-python.python",
|
|
37
|
+
"github.vscode-github-actions",
|
|
38
|
+
"tamasfe.even-better-toml",
|
|
39
|
+
"redhat.vscode-yaml",
|
|
40
|
+
"ryanluker.vscode-coverage-gutters",
|
|
41
|
+
"charliermarsh.ruff",
|
|
42
|
+
"ms-azuretools.vscode-docker"
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
// Create the config folder for the bash-config feature and uv cache
|
|
47
|
+
"initializeCommand": "mkdir -p ${localEnv:HOME}/.config/terminal-config",
|
|
48
|
+
"runArgs": [
|
|
49
|
+
// Allow the container to access the host X11 display and EPICS CA
|
|
50
|
+
"--net=host",
|
|
51
|
+
// Make sure SELinux does not disable with access to host filesystems like tmp
|
|
52
|
+
"--security-opt=label=disable"
|
|
53
|
+
],
|
|
54
|
+
"mounts": [
|
|
55
|
+
// Mount in the user terminal config folder so it can be edited
|
|
56
|
+
{
|
|
57
|
+
"source": "${localEnv:HOME}/.config/terminal-config",
|
|
58
|
+
"target": "/user-terminal-config",
|
|
59
|
+
"type": "bind"
|
|
60
|
+
},
|
|
61
|
+
// Keep a persistent cross container cache for uv, pre-commit, and the venvs
|
|
62
|
+
{
|
|
63
|
+
"source": "devcontainer-shared-cache",
|
|
64
|
+
"target": "/cache",
|
|
65
|
+
"type": "volume"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
// Mount the parent as /workspaces so we can pip install peers as editable
|
|
69
|
+
"workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
|
|
70
|
+
// After the container is created, recreate the venv then make pre-commit first run faster
|
|
71
|
+
"postCreateCommand": "uv venv --clear && uv sync && pre-commit install --install-hooks"
|
|
72
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Contribute to the project
|
|
2
|
+
|
|
3
|
+
Contributions and issues are most welcome! All issues and pull requests are
|
|
4
|
+
handled through [GitHub](https://github.com/DiamondLightSource/dodal/issues). Also, please check for any existing issues before
|
|
5
|
+
filing a new one. If you have a great idea but it involves big changes, please
|
|
6
|
+
file a ticket before making a pull request! We want to make sure you don't spend
|
|
7
|
+
your time coding something that might not fit the scope of the project.
|
|
8
|
+
|
|
9
|
+
## Issue or Discussion?
|
|
10
|
+
|
|
11
|
+
Github also offers [discussions](https://github.com/DiamondLightSource/dodal/discussions) as a place to ask questions and share ideas. If
|
|
12
|
+
your issue is open ended and it is not obvious when it can be "closed", please
|
|
13
|
+
raise it as a discussion instead.
|
|
14
|
+
|
|
15
|
+
## Code Coverage
|
|
16
|
+
|
|
17
|
+
While 100% code coverage does not make a library bug-free, it significantly
|
|
18
|
+
reduces the number of easily caught bugs! Please make sure coverage remains the
|
|
19
|
+
same or is improved by a pull request!
|
|
20
|
+
|
|
21
|
+
## Developer Information
|
|
22
|
+
|
|
23
|
+
It is recommended that developers use a [vscode devcontainer](https://code.visualstudio.com/docs/devcontainers/containers). This repository contains configuration to set up a containerized development environment that suits its own needs.
|
|
24
|
+
|
|
25
|
+
This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
|
|
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/5.0.1/how-to.html).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
|
|
4
|
+
jobs:
|
|
5
|
+
build:
|
|
6
|
+
runs-on: "ubuntu-latest"
|
|
7
|
+
|
|
8
|
+
steps:
|
|
9
|
+
- name: Checkout
|
|
10
|
+
uses: actions/checkout@v5
|
|
11
|
+
with:
|
|
12
|
+
# Need this to get version number from last tag
|
|
13
|
+
fetch-depth: 0
|
|
14
|
+
|
|
15
|
+
- name: Install uv
|
|
16
|
+
uses: astral-sh/setup-uv@v7
|
|
17
|
+
|
|
18
|
+
- name: Build sdist and wheel
|
|
19
|
+
run: >
|
|
20
|
+
export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) &&
|
|
21
|
+
uvx --from build pyproject-build
|
|
22
|
+
|
|
23
|
+
- name: Upload sdist and wheel as artifacts
|
|
24
|
+
uses: actions/upload-artifact@v5
|
|
25
|
+
with:
|
|
26
|
+
name: dist
|
|
27
|
+
path: dist
|
|
28
|
+
|
|
29
|
+
- name: Check for packaging errors
|
|
30
|
+
run: uvx twine check --strict dist/*
|
|
31
|
+
|
|
32
|
+
- name: Install produced wheel
|
|
33
|
+
run: python -m pip install dist/*.whl
|
|
34
|
+
|
|
35
|
+
- name: Test module --version works using the installed wheel
|
|
36
|
+
run: python -m dodal --version
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- name: Avoid git conflicts when tag and branch pushed at same time
|
|
11
|
+
if: github.ref_type == 'tag'
|
|
12
|
+
run: sleep 60
|
|
13
|
+
|
|
14
|
+
- name: Checkout
|
|
15
|
+
uses: actions/checkout@v5
|
|
16
|
+
with:
|
|
17
|
+
# Need this to get version number from last tag
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
|
|
20
|
+
- name: Install system packages
|
|
21
|
+
run: sudo apt-get install graphviz
|
|
22
|
+
|
|
23
|
+
- name: Install uv
|
|
24
|
+
uses: astral-sh/setup-uv@v7
|
|
25
|
+
|
|
26
|
+
# - name: Install requirements
|
|
27
|
+
# run: uv sync --group dev
|
|
28
|
+
|
|
29
|
+
- name: Build docs
|
|
30
|
+
run: uv run --locked tox -e docs
|
|
31
|
+
|
|
32
|
+
- name: Remove environment.pickle
|
|
33
|
+
run: rm build/html/.doctrees/environment.pickle
|
|
34
|
+
|
|
35
|
+
- name: Upload built docs artifact
|
|
36
|
+
uses: actions/upload-artifact@v5
|
|
37
|
+
with:
|
|
38
|
+
name: docs
|
|
39
|
+
path: build
|
|
40
|
+
|
|
41
|
+
- name: Sanitize ref name for docs version
|
|
42
|
+
run: echo "DOCS_VERSION=${GITHUB_REF_NAME//[^A-Za-z0-9._-]/_}" >> $GITHUB_ENV
|
|
43
|
+
|
|
44
|
+
- name: Move to versioned directory
|
|
45
|
+
run: mv build/html .github/pages/$DOCS_VERSION
|
|
46
|
+
|
|
47
|
+
- name: Write switcher.json
|
|
48
|
+
run: python .github/pages/make_switcher.py --add $DOCS_VERSION ${{ github.repository }} .github/pages/switcher.json
|
|
49
|
+
|
|
50
|
+
- name: Publish Docs to gh-pages
|
|
51
|
+
if: github.ref_type == 'tag' || github.ref_name == 'main'
|
|
52
|
+
# We pin to the SHA, not the tag, for security reasons.
|
|
53
|
+
# https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
|
|
54
|
+
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
|
|
55
|
+
with:
|
|
56
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
57
|
+
publish_dir: .github/pages
|
|
58
|
+
keep_files: true
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
inputs:
|
|
4
|
+
python-version:
|
|
5
|
+
type: string
|
|
6
|
+
description: The version of python to install, default is from .python-version file
|
|
7
|
+
default: ""
|
|
8
|
+
runs-on:
|
|
9
|
+
type: string
|
|
10
|
+
description: The runner to run this job on
|
|
11
|
+
required: true
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
# https://github.com/pytest-dev/pytest/issues/2042
|
|
15
|
+
PY_IGNORE_IMPORTMISMATCH: "1"
|
|
16
|
+
UV_PYTHON: ${{ inputs.python-version }}
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
run:
|
|
20
|
+
runs-on: ${{ inputs.runs-on }}
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@v5
|
|
25
|
+
with:
|
|
26
|
+
# Need this to get version number from last tag
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- name: Install uv
|
|
30
|
+
uses: astral-sh/setup-uv@v7
|
|
31
|
+
|
|
32
|
+
- name: Install latest versions of python packages
|
|
33
|
+
run: uv sync --python ${{ inputs.python-version }} --group dev
|
|
34
|
+
|
|
35
|
+
- name: Run tests
|
|
36
|
+
run: uv run --locked tox -e tests
|
|
37
|
+
|
|
38
|
+
- name: Checkout simulated devices
|
|
39
|
+
uses: actions/checkout@v5
|
|
40
|
+
with:
|
|
41
|
+
repository: epics-containers/example-services
|
|
42
|
+
path: example-services
|
|
43
|
+
|
|
44
|
+
- name: Run docker compose
|
|
45
|
+
uses: hoverkraft-tech/compose-action@v2.4.1
|
|
46
|
+
with:
|
|
47
|
+
compose-file: "./example-services/compose.yaml"
|
|
48
|
+
services: |
|
|
49
|
+
bl01t-di-cam-01
|
|
50
|
+
bl01t-mo-sim-01
|
|
51
|
+
ca-gateway
|
|
52
|
+
|
|
53
|
+
- name: Run system tests
|
|
54
|
+
run: uv run --locked tox -e system-tests
|
|
55
|
+
|
|
56
|
+
- name: Upload coverage to Codecov
|
|
57
|
+
uses: codecov/codecov-action@v5
|
|
58
|
+
with:
|
|
59
|
+
name: ${{ inputs.python-version }}/${{ inputs.runs-on }}
|
|
60
|
+
files: ./cov.xml
|
|
61
|
+
env:
|
|
62
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
on:
|
|
2
|
+
workflow_call:
|
|
3
|
+
inputs:
|
|
4
|
+
tox:
|
|
5
|
+
type: string
|
|
6
|
+
description: What to run under tox
|
|
7
|
+
required: true
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
run:
|
|
12
|
+
runs-on: "ubuntu-latest"
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
|
+
|
|
18
|
+
- name: Install uv
|
|
19
|
+
uses: astral-sh/setup-uv@v7
|
|
20
|
+
|
|
21
|
+
- name: Run import linter
|
|
22
|
+
run: uv run --locked lint-imports
|
|
23
|
+
|
|
24
|
+
- name: Run tox
|
|
25
|
+
run: uv run --locked tox -e ${{ inputs.tox }}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
9
|
+
pull_request:
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
|
|
13
|
+
lint:
|
|
14
|
+
uses: ./.github/workflows/_tox.yml
|
|
15
|
+
with:
|
|
16
|
+
tox: pre-commit,type-checking
|
|
17
|
+
|
|
18
|
+
test:
|
|
19
|
+
strategy:
|
|
20
|
+
matrix:
|
|
21
|
+
runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
|
|
22
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
23
|
+
fail-fast: false
|
|
24
|
+
uses: ./.github/workflows/_test.yml
|
|
25
|
+
with:
|
|
26
|
+
runs-on: ${{ matrix.runs-on }}
|
|
27
|
+
python-version: ${{ matrix.python-version }}
|
|
28
|
+
|
|
29
|
+
docs:
|
|
30
|
+
uses: ./.github/workflows/_docs.yml
|
|
31
|
+
permissions:
|
|
32
|
+
contents: write
|
|
33
|
+
|
|
34
|
+
dist:
|
|
35
|
+
uses: ./.github/workflows/_dist.yml
|
|
36
|
+
|
|
37
|
+
pypi:
|
|
38
|
+
needs: [dist, test]
|
|
39
|
+
if: github.ref_type == 'tag'
|
|
40
|
+
uses: ./.github/workflows/_pypi.yml
|
|
41
|
+
permissions:
|
|
42
|
+
id-token: write
|
|
43
|
+
|
|
44
|
+
release:
|
|
45
|
+
needs: [dist, test, docs]
|
|
46
|
+
if: github.ref_type == 'tag'
|
|
47
|
+
uses: ./.github/workflows/_release.yml
|
|
48
|
+
permissions:
|
|
49
|
+
contents: write
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This allow-list is limited to YAML/YML files to cut down SealedSecrets false positives.
|
|
2
|
+
# All gitleaks default rules still apply everywhere (useDefault = true).
|
|
3
|
+
# To broaden this allow-list to all files, comment out the 'paths' line below.
|
|
4
|
+
|
|
5
|
+
[extend]
|
|
6
|
+
useDefault = true
|
|
7
|
+
|
|
8
|
+
[[rules]]
|
|
9
|
+
id = "generic-api-key"
|
|
10
|
+
|
|
11
|
+
# Pattern-only allowlist for long Ag… tokens in YAML
|
|
12
|
+
[[rules.allowlists]]
|
|
13
|
+
condition = "AND"
|
|
14
|
+
regexes = [
|
|
15
|
+
# Boundary-safe Ag… token without lookarounds (RE2-safe)
|
|
16
|
+
'''(?:^|[^A-Za-z0-9+/=])(Ag[A-Za-z0-9+/]{500,}={0,2})(?:[^A-Za-z0-9+/=]|$)'''
|
|
17
|
+
]
|
|
18
|
+
# Limit to YAML only for now. Comment this out if you want it to apply everywhere.
|
|
19
|
+
paths = ['''(?i).*\.ya?ml$''']
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v5.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-added-large-files
|
|
6
|
+
exclude: ^uv.lock
|
|
7
|
+
- id: check-yaml
|
|
8
|
+
- id: check-merge-conflict
|
|
9
|
+
- id: end-of-file-fixer
|
|
10
|
+
|
|
11
|
+
- repo: local
|
|
12
|
+
hooks:
|
|
13
|
+
- id: ruff
|
|
14
|
+
name: lint with ruff
|
|
15
|
+
language: system
|
|
16
|
+
entry: ruff check --force-exclude --fix
|
|
17
|
+
types: [python]
|
|
18
|
+
require_serial: true
|
|
19
|
+
|
|
20
|
+
- id: ruff-format
|
|
21
|
+
name: format with ruff
|
|
22
|
+
language: system
|
|
23
|
+
entry: ruff format --force-exclude
|
|
24
|
+
types: [python]
|
|
25
|
+
require_serial: true
|
|
26
|
+
|
|
27
|
+
- id: import-contracts
|
|
28
|
+
name: Ensure import directionality
|
|
29
|
+
pass_filenames: false
|
|
30
|
+
language: system
|
|
31
|
+
entry: lint-imports
|
|
32
|
+
types: [python]
|
|
33
|
+
require_serial: false
|
|
34
|
+
|
|
35
|
+
- id: uv-sync
|
|
36
|
+
name: update uv.lock and venv
|
|
37
|
+
pass_filenames: false
|
|
38
|
+
language: system
|
|
39
|
+
entry: uv sync
|
|
40
|
+
files: ^(uv\.lock|pyproject\.toml)$
|
|
41
|
+
|
|
42
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
43
|
+
rev: v8.28.0
|
|
44
|
+
hooks:
|
|
45
|
+
- id: gitleaks
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# The devcontainer should use the developer target and run as root with podman
|
|
2
|
+
# or docker with user namespaces.
|
|
3
|
+
FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:noble AS developer
|
|
4
|
+
|
|
5
|
+
# Add any system dependencies for the developer/build environment here
|
|
6
|
+
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
|
7
|
+
graphviz \
|
|
8
|
+
&& apt-get dist-clean
|