dls-dodal 1.64.0__tar.gz → 1.66.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.
Files changed (672) hide show
  1. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_dist.yml +2 -2
  2. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_docs.yml +2 -2
  3. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_pypi.yml +1 -1
  4. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_release.yml +2 -2
  5. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_test.yml +4 -4
  6. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/_tox.yml +1 -1
  7. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/PKG-INFO +3 -4
  8. dls_dodal-1.66.0/docs/how-to/tidy-docs.md +35 -0
  9. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/write-tests.md +1 -1
  10. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/pyproject.toml +2 -3
  11. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/PKG-INFO +3 -4
  12. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/SOURCES.txt +28 -10
  13. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/requires.txt +2 -3
  14. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/_version.py +3 -3
  15. dls_dodal-1.66.0/src/dodal/beamline_specific_utils/i05_shared.py +14 -0
  16. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/aithre.py +21 -2
  17. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b01_1.py +1 -1
  18. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b07.py +6 -3
  19. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b07_1.py +6 -3
  20. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i03.py +32 -4
  21. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i04.py +18 -3
  22. dls_dodal-1.66.0/src/dodal/beamlines/i05.py +49 -0
  23. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i05_1.py +2 -2
  24. dls_dodal-1.66.0/src/dodal/beamlines/i06.py +62 -0
  25. dls_dodal-1.66.0/src/dodal/beamlines/i07.py +41 -0
  26. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09.py +3 -3
  27. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09_1.py +12 -1
  28. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09_2.py +6 -3
  29. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10_optics.py +21 -11
  30. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i17.py +3 -3
  31. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i18.py +3 -3
  32. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_2.py +22 -0
  33. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i21.py +3 -3
  34. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i22.py +3 -20
  35. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/k07.py +6 -3
  36. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p38.py +3 -3
  37. dls_dodal-1.66.0/src/dodal/devices/aithre_lasershaping/goniometer.py +42 -0
  38. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/aperturescatterguard.py +3 -2
  39. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/apple2_undulator.py +89 -44
  40. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/mjpg.py +10 -3
  41. dls_dodal-1.66.0/src/dodal/devices/beamsize/beamsize.py +6 -0
  42. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/cryostream.py +21 -0
  43. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_resolution.py +4 -2
  44. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/fast_grid_scan.py +14 -2
  45. dls_dodal-1.66.0/src/dodal/devices/i03/beamsize.py +35 -0
  46. dls_dodal-1.66.0/src/dodal/devices/i03/constants.py +7 -0
  47. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/undulator_dcm.py +2 -2
  48. dls_dodal-1.66.0/src/dodal/devices/i04/beamsize.py +45 -0
  49. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/murko_results.py +36 -26
  50. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/transfocator.py +23 -29
  51. dls_dodal-1.66.0/src/dodal/devices/i07/id.py +38 -0
  52. dls_dodal-1.66.0/src/dodal/devices/i09_1_shared/__init__.py +7 -0
  53. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1_shared/hard_undulator_functions.py +85 -21
  54. dls_dodal-1.66.0/src/dodal/devices/i10/i10_apple2.py +195 -0
  55. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i17/i17_apple2.py +7 -4
  56. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/nxsas.py +5 -24
  57. dls_dodal-1.66.0/src/dodal/devices/ipin.py +31 -0
  58. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/motors.py +19 -3
  59. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/mx_phase1/beamstop.py +31 -12
  60. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_calculations.py +9 -4
  61. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_detector.py +65 -7
  62. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_parameters.py +3 -1
  63. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +18 -15
  64. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +5 -1
  65. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +23 -1
  66. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +8 -2
  67. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/utils.py +16 -6
  68. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/pgm.py +1 -1
  69. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/robot.py +17 -7
  70. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/scintillator.py +40 -14
  71. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/smargon.py +2 -3
  72. dls_dodal-1.66.0/src/dodal/devices/thawer.py +21 -0
  73. dls_dodal-1.66.0/src/dodal/devices/undulator.py +271 -0
  74. dls_dodal-1.66.0/src/dodal/devices/util/lookup_tables_apple2.py +390 -0
  75. dls_dodal-1.66.0/src/dodal/plan_stubs/__init__.py +3 -0
  76. dls_dodal-1.66.0/src/dodal/plans/load_panda_yaml.py +9 -0
  77. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/verify_undulator_gap.py +2 -2
  78. dls_dodal-1.66.0/src/dodal/testing/fixtures/run_engine.py +118 -0
  79. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/system_tests/test_oav_to_redis_system.py +53 -16
  80. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_commissioning_mode.py +1 -1
  81. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_watcher_utils.py +2 -0
  82. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/conftest.py +1 -2
  83. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -2
  84. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/b07_1/test_ccmc.py +3 -3
  85. dls_dodal-1.66.0/tests/devices/conftest.py +92 -0
  86. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/current_amplifier/test_femto.py +11 -19
  87. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/current_amplifier/test_sr570.py +13 -21
  88. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_detector.py +1 -2
  89. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +1 -2
  90. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/conftest.py +6 -9
  91. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_detector.py +1 -2
  92. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_driver_io.py +1 -3
  93. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_detector.py +1 -2
  94. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +1 -3
  95. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i02_1/test_fast_grid_scan.py +1 -2
  96. dls_dodal-1.66.0/tests/devices/i03/test_beamsize.py +43 -0
  97. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i03/test_undulator_dcm.py +3 -7
  98. dls_dodal-1.66.0/tests/devices/i04/conftest.py +11 -0
  99. dls_dodal-1.66.0/tests/devices/i04/test_beamsize.py +50 -0
  100. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i04/test_murko_results.py +164 -152
  101. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i04/test_transfocator.py +6 -37
  102. dls_dodal-1.66.0/tests/devices/i07/IIDCalibrationTable.txt +13 -0
  103. dls_dodal-1.66.0/tests/devices/i07/__init__.py +7 -0
  104. dls_dodal-1.66.0/tests/devices/i07/test_id.py +28 -0
  105. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_undulator_functions.py +24 -4
  106. dls_dodal-1.66.0/tests/devices/i10/test_data/__init__.py +32 -0
  107. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json +314 -0
  108. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json +314 -0
  109. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json +185 -0
  110. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json +185 -0
  111. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i10/test_i10_apple2.py +195 -140
  112. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i11/test_i11devices.py +1 -2
  113. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i11/test_mythen.py +0 -1
  114. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i13_1/test_merlin.py +1 -1
  115. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i17/test_i17_apple2.py +7 -4
  116. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i18/test_kb_mirror.py +2 -2
  117. {dls_dodal-1.64.0/tests/devices/i19 → dls_dodal-1.66.0/tests/devices/i19/access_controlled}/test_shutter.py +2 -1
  118. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i19/test_diffractometer.py +2 -2
  119. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i19/test_mapt.py +2 -2
  120. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i19/test_pin_col.py +2 -5
  121. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i22/test_dcm.py +9 -10
  122. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i22/test_fswitch.py +12 -14
  123. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/test_commissioning_jungfrau.py +0 -2
  124. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/test_dual_backlight.py +1 -1
  125. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/test_pmac.py +18 -15
  126. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/test_vgonio.py +1 -3
  127. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/mx_phase1/test_beamstop.py +40 -15
  128. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/conftest.py +4 -3
  129. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +1 -5
  130. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +130 -0
  131. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav.py +26 -3
  132. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +13 -7
  133. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_utils.py +15 -18
  134. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_snapshots.py +1 -2
  135. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/p99/test_p99_stage.py +1 -2
  136. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +8 -9
  137. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_aperture_scatterguard.py +14 -99
  138. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_apple2_undulator.py +155 -27
  139. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_attenuator.py +1 -2
  140. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_backlight.py +2 -2
  141. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_bart_robot.py +65 -3
  142. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_bimorph_mirror.py +7 -2
  143. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_common_dcm.py +2 -5
  144. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_focusing_mirror.py +2 -2
  145. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_gridscan.py +45 -15
  146. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_hutch_shutter.py +1 -1
  147. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_motors.py +3 -6
  148. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_positioner.py +3 -2
  149. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_pressure_jump_cell.py +2 -2
  150. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_scintillator.py +54 -15
  151. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_slits.py +2 -2
  152. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_smargon.py +14 -17
  153. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_synchrotron.py +1 -2
  154. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_tetramm.py +8 -2
  155. dls_dodal-1.66.0/tests/devices/test_thawer.py +17 -0
  156. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_turbo_slit.py +4 -7
  157. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_undulator.py +105 -22
  158. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_utils.py +1 -2
  159. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_watsonmarlow323_pump.py +2 -2
  160. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_xbpm_feedback.py +1 -2
  161. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_xspress3.py +2 -2
  162. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_zebra.py +1 -1
  163. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_zebra_shutter.py +1 -2
  164. dls_dodal-1.66.0/tests/devices/util/test_lookup_tables_apple2.py +185 -0
  165. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_some_devices_working.py +2 -2
  166. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_zocalo/__main__.py +29 -14
  167. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_motor_util_plans.py +31 -28
  168. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_topup_plan.py +1 -2
  169. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/conftest.py +3 -3
  170. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_bimorph.py +4 -6
  171. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +6 -2
  172. dls_dodal-1.66.0/tests/plans/test_load_panda_yaml.py +48 -0
  173. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_save_panda.py +8 -3
  174. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_verify_undulator_gap_plan.py +4 -3
  175. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_cli.py +7 -0
  176. dls_dodal-1.66.0/tests/testing/__init__.py +0 -0
  177. dls_dodal-1.66.0/tests/testing/fixtures/__init__.py +0 -0
  178. dls_dodal-1.66.0/tests/testing/fixtures/test_run_engine.py +33 -0
  179. dls_dodal-1.64.0/src/dodal/beamline_specific_utils/i03.py +0 -17
  180. dls_dodal-1.64.0/src/dodal/beamline_specific_utils/i05_shared.py +0 -11
  181. dls_dodal-1.64.0/src/dodal/beamlines/i05.py +0 -22
  182. dls_dodal-1.64.0/src/dodal/beamlines/i07.py +0 -21
  183. dls_dodal-1.64.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -25
  184. dls_dodal-1.64.0/src/dodal/devices/i09_1_shared/__init__.py +0 -3
  185. dls_dodal-1.64.0/src/dodal/devices/i10/i10_apple2.py +0 -489
  186. dls_dodal-1.64.0/src/dodal/devices/ipin.py +0 -13
  187. dls_dodal-1.64.0/src/dodal/devices/thawer.py +0 -59
  188. dls_dodal-1.64.0/src/dodal/devices/undulator.py +0 -159
  189. dls_dodal-1.64.0/src/dodal/testing/__init__.py +0 -3
  190. dls_dodal-1.64.0/src/dodal/testing/fixtures/run_engine.py +0 -46
  191. dls_dodal-1.64.0/src/dodal/testing/setup.py +0 -67
  192. dls_dodal-1.64.0/tests/devices/i10/test_data/__init__.py +0 -32
  193. dls_dodal-1.64.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  194. dls_dodal-1.64.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  195. dls_dodal-1.64.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  196. dls_dodal-1.64.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  197. dls_dodal-1.64.0/tests/devices/test_thawer.py +0 -161
  198. dls_dodal-1.64.0/tests/devices/util/test_beamline_specific_utils.py +0 -23
  199. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.copier-answers.yml +0 -0
  200. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.devcontainer/devcontainer.json +0 -0
  201. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/CODEOWNERS +0 -0
  202. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/CONTRIBUTING.md +0 -0
  203. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  204. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/actions/install_requirements/action.yml +0 -0
  205. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/dependabot.yml +0 -0
  206. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/pages/index.html +0 -0
  207. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/pages/make_switcher.py +0 -0
  208. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/scripts/check_test_durations.py +0 -0
  209. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/ci.yml +0 -0
  210. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.github/workflows/periodic.yml +0 -0
  211. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.gitignore +0 -0
  212. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.pre-commit-config.yaml +0 -0
  213. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.vscode/extensions.json +0 -0
  214. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.vscode/launch.json +0 -0
  215. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.vscode/settings.json +0 -0
  216. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/.vscode/tasks.json +0 -0
  217. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/Dockerfile +0 -0
  218. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/LICENSE +0 -0
  219. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/README.md +0 -0
  220. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/catalog-info.yaml +0 -0
  221. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/conftest.py +0 -0
  222. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/_templates/autosummary/class.rst +0 -0
  223. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/_templates/autosummary/module.rst +0 -0
  224. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/_templates/custom-module-template.rst +0 -0
  225. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
  226. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/assets/zocalo.png +0 -0
  227. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/conf.py +0 -0
  228. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  229. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  230. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  231. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  232. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  233. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  234. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions/COPYME +0 -0
  235. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/decisions.md +0 -0
  236. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/reviews.md +0 -0
  237. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/umls/apple2_design.png +0 -0
  238. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations/umls/i10_id_design.png +0 -0
  239. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/explanations.md +0 -0
  240. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/genindex.md +0 -0
  241. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/build-docs.md +0 -0
  242. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/contribute.md +0 -0
  243. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/coverage.md +0 -0
  244. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/create-beamline.md +0 -0
  245. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/create-device.md +0 -0
  246. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/dev-install.md +0 -0
  247. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/excalidraw.md +0 -0
  248. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/external-io-devices.md +0 -0
  249. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/lint.md +0 -0
  250. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/lock-requirements.md +0 -0
  251. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/make-release.md +0 -0
  252. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/move-code.md +0 -0
  253. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/pypi.md +0 -0
  254. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/run-tests.md +0 -0
  255. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/static-analysis.md +0 -0
  256. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/update-template.md +0 -0
  257. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to/zocalo.md +0 -0
  258. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/how-to.md +0 -0
  259. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/images/dls-logo.svg +0 -0
  260. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/images/excalidraw-example.svg +0 -0
  261. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/index.md +0 -0
  262. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/reference/api.md +0 -0
  263. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/reference/device-standards.md +0 -0
  264. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/reference/standards.md +0 -0
  265. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/reference.md +0 -0
  266. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/tutorials/get_started.md +0 -0
  267. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/tutorials/installation.md +0 -0
  268. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/docs/tutorials.md +0 -0
  269. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/pull_request_template.md +0 -0
  270. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/setup.cfg +0 -0
  271. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/__init__.py +0 -0
  272. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  273. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  274. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  275. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/__init__.py +0 -0
  276. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/__main__.py +0 -0
  277. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  278. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/README.md +0 -0
  279. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/__init__.py +0 -0
  280. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/adsim.py +0 -0
  281. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b16.py +0 -0
  282. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b18.py +0 -0
  283. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b21.py +0 -0
  284. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i02_1.py +0 -0
  285. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i02_2.py +0 -0
  286. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10.py +0 -0
  287. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10_1.py +0 -0
  288. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i11.py +0 -0
  289. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i13_1.py +0 -0
  290. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i15.py +0 -0
  291. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i15_1.py +0 -0
  292. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_1.py +0 -0
  293. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_optics.py +0 -0
  294. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i20_1.py +0 -0
  295. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i23.py +0 -0
  296. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i24.py +0 -0
  297. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/k11.py +0 -0
  298. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p45.py +0 -0
  299. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p60.py +0 -0
  300. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p99.py +0 -0
  301. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/beamlines/training_rig.py +0 -0
  302. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/cli.py +0 -0
  303. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/__init__.py +0 -0
  304. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/__init__.py +0 -0
  305. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
  306. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  307. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
  308. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  309. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/coordination.py +0 -0
  310. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/crystal_metadata.py +0 -0
  311. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/data_util.py +0 -0
  312. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/device_utils.py +0 -0
  313. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/enums.py +0 -0
  314. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/maths.py +0 -0
  315. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/types.py +0 -0
  316. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/udc_directory_provider.py +0 -0
  317. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/visit.py +0 -0
  318. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/common/watcher_utils.py +0 -0
  319. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/__init__.py +0 -0
  320. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
  321. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  322. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/aperture.py +0 -0
  323. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/__init__.py +0 -0
  324. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/__init__.py +0 -0
  325. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/cam.py +0 -0
  326. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/__init__.py +0 -0
  327. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  328. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/filter.py +0 -0
  329. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  330. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b07/__init__.py +0 -0
  331. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b07/enums.py +0 -0
  332. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/__init__.py +0 -0
  333. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/ccmc.py +0 -0
  334. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/enums.py +0 -0
  335. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b16/__init__.py +0 -0
  336. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/b16/detector.py +0 -0
  337. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/backlight.py +0 -0
  338. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/baton.py +0 -0
  339. {dls_dodal-1.64.0/src/dodal/devices/i02_1 → dls_dodal-1.66.0/src/dodal/devices/beamsize}/__init__.py +0 -0
  340. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  341. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/collimation_table.py +0 -0
  342. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/common_dcm.py +0 -0
  343. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/controllers.py +0 -0
  344. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  345. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  346. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  347. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  348. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  349. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  350. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/__init__.py +0 -0
  351. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  352. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  353. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/detector.py +0 -0
  354. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  355. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/diamond_filter.py +0 -0
  356. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/eiger.py +0 -0
  357. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/eiger_odin.py +0 -0
  358. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  359. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  360. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  361. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +0 -0
  362. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
  363. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
  364. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  365. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/energy_sources.py +0 -0
  366. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  367. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  368. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/detector.py +0 -0
  369. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +0 -0
  370. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  371. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
  372. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/types.py +0 -0
  373. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  374. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  375. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -0
  376. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -0
  377. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  378. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
  379. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/eurotherm.py +0 -0
  380. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/fast_shutter.py +0 -0
  381. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  382. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/flux.py +0 -0
  383. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/focusing_mirror.py +0 -0
  384. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/hutch_shutter.py +0 -0
  385. {dls_dodal-1.64.0/src/dodal/devices/i02_2 → dls_dodal-1.66.0/src/dodal/devices/i02_1}/__init__.py +0 -0
  386. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i02_1/fast_grid_scan.py +0 -0
  387. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i02_1/sample_motors.py +0 -0
  388. {dls_dodal-1.64.0/src/dodal/devices/i07 → dls_dodal-1.66.0/src/dodal/devices/i02_2}/__init__.py +0 -0
  389. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/__init__.py +0 -0
  390. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/dcm.py +0 -0
  391. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/__init__.py +0 -0
  392. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/constants.py +0 -0
  393. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i05/__init__.py +0 -0
  394. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i05/enums.py +0 -0
  395. {dls_dodal-1.64.0/src/dodal/devices/i10/rasor → dls_dodal-1.66.0/src/dodal/devices/i07}/__init__.py +0 -0
  396. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i07/dcm.py +0 -0
  397. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i09/__init__.py +0 -0
  398. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i09/enums.py +0 -0
  399. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1/__init__.py +0 -0
  400. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1/enums.py +0 -0
  401. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/__init__.py +0 -0
  402. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/diagnostics.py +0 -0
  403. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  404. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/mirrors.py +0 -0
  405. {dls_dodal-1.64.0/src/dodal/devices/i11 → dls_dodal-1.66.0/src/dodal/devices/i10/rasor}/__init__.py +0 -0
  406. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  407. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  408. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  409. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/slits.py +0 -0
  410. {dls_dodal-1.64.0/src/dodal/devices/i13_1 → dls_dodal-1.66.0/src/dodal/devices/i11}/__init__.py +0 -0
  411. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
  412. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/diff_stages.py +0 -0
  413. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/mythen.py +0 -0
  414. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/nx100robot.py +0 -0
  415. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/spinner.py +0 -0
  416. {dls_dodal-1.64.0/src/dodal/devices/i15 → dls_dodal-1.66.0/src/dodal/devices/i13_1}/__init__.py +0 -0
  417. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  418. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
  419. {dls_dodal-1.64.0/src/dodal/devices/i17 → dls_dodal-1.66.0/src/dodal/devices/i15}/__init__.py +0 -0
  420. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/dcm.py +0 -0
  421. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/focussing_mirror.py +0 -0
  422. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/jack.py +0 -0
  423. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/laue.py +0 -0
  424. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/motors.py +0 -0
  425. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/multilayer_mirror.py +0 -0
  426. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/rail.py +0 -0
  427. {dls_dodal-1.64.0/src/dodal/devices/i18 → dls_dodal-1.66.0/src/dodal/devices/i17}/__init__.py +0 -0
  428. {dls_dodal-1.64.0/src/dodal/devices/i19 → dls_dodal-1.66.0/src/dodal/devices/i18}/__init__.py +0 -0
  429. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i18/diode.py +0 -0
  430. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i18/kb_mirror.py +0 -0
  431. {dls_dodal-1.64.0/src/dodal/devices/i19/access_controlled → dls_dodal-1.66.0/src/dodal/devices/i19}/__init__.py +0 -0
  432. {dls_dodal-1.64.0/src/dodal/devices/i20_1 → dls_dodal-1.66.0/src/dodal/devices/i19/access_controlled}/__init__.py +0 -0
  433. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/blueapi_device.py +0 -0
  434. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/hutch_access.py +0 -0
  435. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/shutter.py +0 -0
  436. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/backlight.py +0 -0
  437. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/beamstop.py +0 -0
  438. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/diffractometer.py +0 -0
  439. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/mapt_configuration.py +0 -0
  440. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/pin_col_stages.py +0 -0
  441. {dls_dodal-1.64.0/src/dodal/devices/i22 → dls_dodal-1.66.0/src/dodal/devices/i20_1}/__init__.py +0 -0
  442. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i21/__init__.py +0 -0
  443. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i21/enums.py +0 -0
  444. {dls_dodal-1.64.0/src/dodal/devices/i24 → dls_dodal-1.66.0/src/dodal/devices/i22}/__init__.py +0 -0
  445. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/dcm.py +0 -0
  446. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/fswitch.py +0 -0
  447. {dls_dodal-1.64.0/src/dodal/devices/mx_phase1 → dls_dodal-1.66.0/src/dodal/devices/i24}/__init__.py +0 -0
  448. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/aperture.py +0 -0
  449. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/beam_center.py +0 -0
  450. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/beamstop.py +0 -0
  451. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/commissioning_jungfrau.py +0 -0
  452. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/dcm.py +0 -0
  453. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  454. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  455. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/pmac.py +0 -0
  456. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/vgonio.py +0 -0
  457. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/linkam3.py +0 -0
  458. {dls_dodal-1.64.0/src/dodal/devices/oav → dls_dodal-1.66.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
  459. {dls_dodal-1.64.0/src/dodal/devices/oav/snapshots → dls_dodal-1.66.0/src/dodal/devices/oav}/__init__.py +0 -0
  460. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  461. {dls_dodal-1.64.0/src/dodal/devices/p99 → dls_dodal-1.66.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
  462. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  463. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  464. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  465. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p45.py +0 -0
  466. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/__init__.py +0 -0
  467. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/enums.py +0 -0
  468. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  469. {dls_dodal-1.64.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-1.66.0/src/dodal/devices/p99}/__init__.py +0 -0
  470. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  471. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  472. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/positioner.py +0 -0
  473. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  474. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/qbpm.py +0 -0
  475. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  476. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/slits.py +0 -0
  477. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/status.py +0 -0
  478. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/synchrotron.py +0 -0
  479. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
  480. {dls_dodal-1.64.0/src/dodal/devices/util → dls_dodal-1.66.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  481. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -0
  482. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -0
  483. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/tetramm.py +0 -0
  484. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/turbo_slit.py +0 -0
  485. {dls_dodal-1.64.0/src/dodal/devices/xspress3 → dls_dodal-1.66.0/src/dodal/devices/util}/__init__.py +0 -0
  486. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  487. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/util/epics_util.py +0 -0
  488. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  489. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/v2f.py +0 -0
  490. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  491. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/webcam.py +0 -0
  492. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  493. {dls_dodal-1.64.0/src/dodal/devices/zebra → dls_dodal-1.66.0/src/dodal/devices/xspress3}/__init__.py +0 -0
  494. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  495. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  496. {dls_dodal-1.64.0/src/dodal/parameters → dls_dodal-1.66.0/src/dodal/devices/zebra}/__init__.py +0 -0
  497. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra.py +0 -0
  498. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
  499. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  500. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/__init__.py +0 -0
  501. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  502. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  503. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
  504. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/log.py +0 -0
  505. {dls_dodal-1.64.0/src/dodal/plan_stubs → dls_dodal-1.66.0/src/dodal/parameters}/__init__.py +0 -0
  506. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  507. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  508. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/data_session.py +0 -0
  509. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
  510. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  511. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/__init__.py +0 -0
  512. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/bimorph.py +0 -0
  513. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
  514. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/preprocessors/__init__.py +0 -0
  515. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  516. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/save_panda.py +0 -0
  517. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/scanspec.py +0 -0
  518. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/plans/wrapped.py +0 -0
  519. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  520. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
  521. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/testing/fixtures/__init__.py +0 -0
  522. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/testing/fixtures/utils.py +0 -0
  523. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/src/dodal/utils.py +0 -0
  524. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/system_tests/__init__.py +0 -0
  525. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/system_tests/test_adsim.py +0 -0
  526. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/system_tests/test_cli.py +0 -0
  527. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/system_tests/test_oav_system.py +0 -0
  528. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/__init__.py +0 -0
  529. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/beamlines/__init__.py +0 -0
  530. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/beamlines/test_b16.py +0 -0
  531. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/beamlines/test_i03.py +0 -0
  532. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/beamlines/test_i24.py +0 -0
  533. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/beamlines/test_mapping.py +0 -0
  534. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/__init__.py +0 -0
  535. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/beamlines/__init__.py +0 -0
  536. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  537. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  538. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
  539. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_coordination.py +0 -0
  540. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_crystal_metadata.py +0 -0
  541. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_maths.py +0 -0
  542. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_udc_directory_provider.py +0 -0
  543. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/common/test_visit.py +0 -0
  544. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/__init__.py +0 -0
  545. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/aithre_lasershaping/__init__.py +0 -0
  546. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/b07_1/__init__.py +0 -0
  547. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/current_amplifier/__init__.py +0 -0
  548. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/__init__.py +0 -0
  549. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/test_data/__init__.py +0 -0
  550. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  551. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
  552. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/test_det_resolution.py +0 -0
  553. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/detector/test_detector.py +0 -0
  554. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/__init__.py +0 -0
  555. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/__init__.py +0 -0
  556. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
  557. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  558. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  559. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  560. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/__init__.py +0 -0
  561. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_region.py +0 -0
  562. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  563. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  564. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  565. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_detector.py +0 -0
  566. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_energy_sources.py +0 -0
  567. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_util.py +0 -0
  568. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/__init__.py +0 -0
  569. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
  570. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i02_1/__init__.py +0 -0
  571. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i03/__init__.py +0 -0
  572. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i03/test_dcm.py +0 -0
  573. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i04/__init__.py +0 -0
  574. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i07/test_dcm.py +0 -0
  575. {dls_dodal-1.64.0/tests/devices/i07 → dls_dodal-1.66.0/tests/devices/i09}/__init__.py +0 -0
  576. {dls_dodal-1.64.0/tests/devices/i09 → dls_dodal-1.66.0/tests/devices/i09_1}/__init__.py +0 -0
  577. {dls_dodal-1.64.0/tests/devices/i09_1 → dls_dodal-1.66.0/tests/devices/i09_1_shared}/__init__.py +0 -0
  578. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_data/__init__.py +0 -0
  579. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_data/test_lookuptable_i09_hu.txt +0 -0
  580. {dls_dodal-1.64.0/tests/devices/i09_1_shared → dls_dodal-1.66.0/tests/devices/i10}/__init__.py +0 -0
  581. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  582. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  583. {dls_dodal-1.64.0/tests/devices/i10 → dls_dodal-1.66.0/tests/devices/i11}/__init__.py +0 -0
  584. {dls_dodal-1.64.0/tests/devices/i11 → dls_dodal-1.66.0/tests/devices/i13_1}/__init__.py +0 -0
  585. {dls_dodal-1.64.0/tests/devices/i13_1 → dls_dodal-1.66.0/tests/devices/i15}/__init__.py +0 -0
  586. {dls_dodal-1.64.0/tests/devices/i15 → dls_dodal-1.66.0/tests/devices/i17}/__init__.py +0 -0
  587. {dls_dodal-1.64.0/tests/devices/i17 → dls_dodal-1.66.0/tests/devices/i18}/__init__.py +0 -0
  588. {dls_dodal-1.64.0/tests/devices/i18 → dls_dodal-1.66.0/tests/devices/i19}/__init__.py +0 -0
  589. {dls_dodal-1.64.0/tests/devices/i19 → dls_dodal-1.66.0/tests/devices/i19/access_controlled}/__init__.py +0 -0
  590. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i19/test_backlight.py +0 -0
  591. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i19/test_beamstop.py +0 -0
  592. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i22/__init__.py +0 -0
  593. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i22/test_metadataholder.py +0 -0
  594. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/__init__.py +0 -0
  595. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/i24/test_focus_mirrors.py +0 -0
  596. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/mx_phase1/__init__.py +0 -0
  597. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/__init__.py +0 -0
  598. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/__init__.py +0 -0
  599. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/__init__.py +0 -0
  600. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  601. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  602. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  603. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_grid_overlay.py +0 -0
  604. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_parameters.py +0 -0
  605. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  606. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/p60/__init__.py +0 -0
  607. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/p60/test_lab_xray_source.py +0 -0
  608. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/p99/__init__.py +0 -0
  609. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/__init__.py +0 -0
  610. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/__init__.py +0 -0
  611. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +0 -0
  612. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_aperture.py +0 -0
  613. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_baton.py +0 -0
  614. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_beam_converter.py +0 -0
  615. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_controllers.py +0 -0
  616. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
  617. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  618. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  619. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  620. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  621. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  622. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_data/__init__.py +0 -0
  623. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  624. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
  625. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_diamond_filter.py +0 -0
  626. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_eiger.py +0 -0
  627. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_fast_shutters.py +0 -0
  628. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_odin.py +0 -0
  629. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_qbpm.py +0 -0
  630. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_webcam.py +0 -0
  631. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
  632. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_zocalo_interaction.py +0 -0
  633. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/test_zocalo_results.py +0 -0
  634. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/__init__.py +0 -0
  635. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_adjuster_plans.py +0 -0
  636. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/__init__.py +0 -0
  637. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  638. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  639. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  640. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/devices/util/test_lookup_tables.py +0 -0
  641. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline.py +0 -0
  642. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  643. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_broken_dependency.py +0 -0
  644. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_dependencies.py +0 -0
  645. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  646. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  647. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_device_factory_beamline.py +0 -0
  648. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_zocalo/README.rst +0 -0
  649. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_zocalo/__init__.py +0 -0
  650. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  651. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/__init__.py +0 -0
  652. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/__init__.py +0 -0
  653. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  654. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  655. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data_session.py +0 -0
  656. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  657. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/__init__.py +0 -0
  658. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_compliance.py +0 -0
  659. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_preprocessors/__init__.py +0 -0
  660. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  661. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_scanspec.py +0 -0
  662. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/plans/test_wrapped.py +0 -0
  663. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/preprocessors/__init__.py +0 -0
  664. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  665. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/__init__.py +0 -0
  666. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/bad_beamlineParameters +0 -0
  667. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/i04_beamlineParameters +0 -0
  668. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  669. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/test_display.configuration +0 -0
  670. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
  671. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_log.py +0 -0
  672. {dls_dodal-1.64.0 → dls_dodal-1.66.0}/tests/test_utils.py +0 -0
@@ -7,7 +7,7 @@ jobs:
7
7
 
8
8
  steps:
9
9
  - name: Checkout
10
- uses: actions/checkout@v4
10
+ uses: actions/checkout@v5
11
11
  with:
12
12
  # Need this to get version number from last tag
13
13
  fetch-depth: 0
@@ -18,7 +18,7 @@ jobs:
18
18
  pipx run build
19
19
 
20
20
  - name: Upload sdist and wheel as artifacts
21
- uses: actions/upload-artifact@v4
21
+ uses: actions/upload-artifact@v5
22
22
  with:
23
23
  name: dist
24
24
  path: dist
@@ -12,7 +12,7 @@ jobs:
12
12
  run: sleep 60
13
13
 
14
14
  - name: Checkout
15
- uses: actions/checkout@v4
15
+ uses: actions/checkout@v5
16
16
  with:
17
17
  # Need this to get version number from last tag
18
18
  fetch-depth: 0
@@ -30,7 +30,7 @@ jobs:
30
30
  run: rm build/html/.doctrees/environment.pickle
31
31
 
32
32
  - name: Upload built docs artifact
33
- uses: actions/upload-artifact@v4
33
+ uses: actions/upload-artifact@v5
34
34
  with:
35
35
  name: docs
36
36
  path: build
@@ -8,7 +8,7 @@ jobs:
8
8
 
9
9
  steps:
10
10
  - name: Download dist artifact
11
- uses: actions/download-artifact@v4
11
+ uses: actions/download-artifact@v6
12
12
  with:
13
13
  name: dist
14
14
  path: dist
@@ -7,7 +7,7 @@ jobs:
7
7
 
8
8
  steps:
9
9
  - name: Download artifacts
10
- uses: actions/download-artifact@v4
10
+ uses: actions/download-artifact@v6
11
11
  with:
12
12
  merge-multiple: true
13
13
 
@@ -23,7 +23,7 @@ jobs:
23
23
  - name: Create GitHub Release
24
24
  # We pin to the SHA, not the tag, for security reasons.
25
25
  # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
26
- uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
26
+ uses: softprops/action-gh-release@5be0e66d93ac7ed76da52eca8bb058f665c3a5fe # v2.4.2
27
27
  with:
28
28
  prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }}
29
29
  files: "*"
@@ -23,7 +23,7 @@ jobs:
23
23
 
24
24
  steps:
25
25
  - name: Checkout
26
- uses: actions/checkout@v4
26
+ uses: actions/checkout@v5
27
27
  with:
28
28
  # Need this to get version number from last tag
29
29
  fetch-depth: 0
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  - if: inputs.python-version == 'dev'
40
40
  name: Upload dev-requirements.txt
41
- uses: actions/upload-artifact@v4
41
+ uses: actions/upload-artifact@v5
42
42
  with:
43
43
  name: dev-requirements
44
44
  path: /tmp/dev-requirements.txt
@@ -58,13 +58,13 @@ jobs:
58
58
  python .github/scripts/check_test_durations.py unit-report.json 1
59
59
 
60
60
  - name: Checkout simulated devices
61
- uses: actions/checkout@v4
61
+ uses: actions/checkout@v5
62
62
  with:
63
63
  repository: epics-containers/example-services
64
64
  path: example-services
65
65
 
66
66
  - name: Run docker compose
67
- uses: hoverkraft-tech/compose-action@v2.3.0
67
+ uses: hoverkraft-tech/compose-action@v2.4.1
68
68
  with:
69
69
  compose-file: "./example-services/compose.yaml"
70
70
  services: |
@@ -13,7 +13,7 @@ jobs:
13
13
 
14
14
  steps:
15
15
  - name: Checkout
16
- uses: actions/checkout@v4
16
+ uses: actions/checkout@v5
17
17
  with:
18
18
  fetch-depth: 0
19
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.64.0
3
+ Version: 1.66.0
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
6
6
  License: Apache License
@@ -215,10 +215,9 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async[ca,pva]>=0.13.5
218
+ Requires-Dist: ophyd-async[ca,pva]>=v0.14.0
219
219
  Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
- Requires-Dist: dataclasses-json
222
221
  Requires-Dist: pillow
223
222
  Requires-Dist: zocalo>=1.0.0
224
223
  Requires-Dist: requests
@@ -240,7 +239,7 @@ Requires-Dist: import-linter; extra == "dev"
240
239
  Requires-Dist: ispyb; extra == "dev"
241
240
  Requires-Dist: mypy; extra == "dev"
242
241
  Requires-Dist: myst-parser; extra == "dev"
243
- Requires-Dist: ophyd_async[sim]; extra == "dev"
242
+ Requires-Dist: ophyd_async[sim]>=v0.14.0; extra == "dev"
244
243
  Requires-Dist: pipdeptree; extra == "dev"
245
244
  Requires-Dist: pre-commit; extra == "dev"
246
245
  Requires-Dist: psutil; extra == "dev"
@@ -0,0 +1,35 @@
1
+ Tidying the dodal docs
2
+ ======================
3
+
4
+ The dodal documentation gradually accumulates a quantity of "ghost" files in the
5
+ `main` folder of the `gh-pages` branch that are not deleted, due to operation of
6
+ the `gh-pages` github action to support multiple versions of the documentation.
7
+
8
+ To remedy this, create a separate workspace using `git worktree` and prune the excess pages by doing the following (replace 1.62.0 with whatever the most recent version is):
9
+
10
+ ```
11
+ git worktree add ../gh-pages --checkout gh-pages
12
+ cd ../gh-pages
13
+ diff -rq 1.62.0 main | grep "Only in main" > diff.txt
14
+
15
+ ```
16
+
17
+ In your favourite editor, find and replace the output in diff.txt with the following regex
18
+
19
+ `Only in (main[^:] *): (.*)` replace with `$1/$2`
20
+
21
+ then after saving it
22
+
23
+ ```commandline
24
+ for f in `cat diff.txt`; do rm -r $f; done
25
+ git add -u main
26
+ git status # Check the files over to make sure this is what you expect
27
+ git commit --no-verify
28
+ git push
29
+ ```
30
+
31
+ Once pushed, GitHub CI should automatically run and push the pages to github docs.
32
+
33
+ In order to avoid potentially removing some files due to differences between main and the
34
+ last release, ideally do this just after a fresh release). Although any files thus missing
35
+ should reappear after then next PR merge.
@@ -7,7 +7,7 @@ Testing is essential to maintain the integrity and reliability of the codebase.
7
7
  - **Unit Tests**: Place unit tests for individual components in the `tests` directory, but take care to mirror the file structure of the `src` folder with the corresponding code files. Use the `test_*.py` naming convention for test files.
8
8
  - **System Tests**: Tests that interact with DLS infrastructure, network, and filesystem should be placed in the top-level `systems_test` folder. This separation ensures that these tests are easily identifiable and can be run independently from unit tests.
9
9
 
10
- Useful functions for testing that can be reused across multiple tests for common devices and for external plan repositories belong in the `dodal/testing` directory. For example, when mocking a `Motor` device, all of the signals will default to zero, which will cause errors when trying to move. The `patch_motor` and `patch_all_motors` functions, found in `dodal.testing`, will populate the mocked motor with useful default values for the signals so that it can still be used in tests.
10
+ Useful functions for testing that can be reused across multiple tests for common devices and for external plan repositories belong in the `dodal/testing` directory.
11
11
 
12
12
 
13
13
  ## Writing a test for a device
@@ -14,10 +14,9 @@ description = "Ophyd devices and other utils that could be used across DLS beaml
14
14
  dependencies = [
15
15
  "click",
16
16
  "ophyd",
17
- "ophyd-async[ca,pva]>=0.13.5",
17
+ "ophyd-async[ca,pva]>=v0.14.0",
18
18
  "bluesky>=1.14.5",
19
19
  "pyepics",
20
- "dataclasses-json",
21
20
  "pillow",
22
21
  "zocalo>=1.0.0",
23
22
  "requests",
@@ -49,7 +48,7 @@ dev = [
49
48
  # Commented out due to dependency version conflict with pydantic 1.x
50
49
  # "copier",
51
50
  "myst-parser",
52
- "ophyd_async[sim]",
51
+ "ophyd_async[sim]>=v0.14.0",
53
52
  "pipdeptree",
54
53
  "pre-commit",
55
54
  "psutil",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dls-dodal
3
- Version: 1.64.0
3
+ Version: 1.66.0
4
4
  Summary: Ophyd devices and other utils that could be used across DLS beamlines
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>, Joseph Ware <joseph.ware@diamond.ac.uk>, Oliver Silvester <Oliver.Silvester@diamond.ac.uk>, Noemi Frisina <noemi.frisina@diamond.ac.uk>
6
6
  License: Apache License
@@ -215,10 +215,9 @@ Description-Content-Type: text/markdown
215
215
  License-File: LICENSE
216
216
  Requires-Dist: click
217
217
  Requires-Dist: ophyd
218
- Requires-Dist: ophyd-async[ca,pva]>=0.13.5
218
+ Requires-Dist: ophyd-async[ca,pva]>=v0.14.0
219
219
  Requires-Dist: bluesky>=1.14.5
220
220
  Requires-Dist: pyepics
221
- Requires-Dist: dataclasses-json
222
221
  Requires-Dist: pillow
223
222
  Requires-Dist: zocalo>=1.0.0
224
223
  Requires-Dist: requests
@@ -240,7 +239,7 @@ Requires-Dist: import-linter; extra == "dev"
240
239
  Requires-Dist: ispyb; extra == "dev"
241
240
  Requires-Dist: mypy; extra == "dev"
242
241
  Requires-Dist: myst-parser; extra == "dev"
243
- Requires-Dist: ophyd_async[sim]; extra == "dev"
242
+ Requires-Dist: ophyd_async[sim]>=v0.14.0; extra == "dev"
244
243
  Requires-Dist: pipdeptree; extra == "dev"
245
244
  Requires-Dist: pre-commit; extra == "dev"
246
245
  Requires-Dist: psutil; extra == "dev"
@@ -67,6 +67,7 @@ docs/how-to/move-code.md
67
67
  docs/how-to/pypi.md
68
68
  docs/how-to/run-tests.md
69
69
  docs/how-to/static-analysis.md
70
+ docs/how-to/tidy-docs.md
70
71
  docs/how-to/update-template.md
71
72
  docs/how-to/write-tests.md
72
73
  docs/how-to/zocalo.md
@@ -91,7 +92,6 @@ src/dodal/cli.py
91
92
  src/dodal/log.py
92
93
  src/dodal/utils.py
93
94
  src/dodal/beamline_specific_utils/__init__.py
94
- src/dodal/beamline_specific_utils/i03.py
95
95
  src/dodal/beamline_specific_utils/i05_shared.py
96
96
  src/dodal/beamlines/README.md
97
97
  src/dodal/beamlines/__init__.py
@@ -109,6 +109,7 @@ src/dodal/beamlines/i03.py
109
109
  src/dodal/beamlines/i04.py
110
110
  src/dodal/beamlines/i05.py
111
111
  src/dodal/beamlines/i05_1.py
112
+ src/dodal/beamlines/i06.py
112
113
  src/dodal/beamlines/i07.py
113
114
  src/dodal/beamlines/i09.py
114
115
  src/dodal/beamlines/i09_1.py
@@ -215,6 +216,8 @@ src/dodal/devices/b07_1/ccmc.py
215
216
  src/dodal/devices/b07_1/enums.py
216
217
  src/dodal/devices/b16/__init__.py
217
218
  src/dodal/devices/b16/detector.py
219
+ src/dodal/devices/beamsize/__init__.py
220
+ src/dodal/devices/beamsize/beamsize.py
218
221
  src/dodal/devices/current_amplifiers/__init__.py
219
222
  src/dodal/devices/current_amplifiers/current_amplifier.py
220
223
  src/dodal/devices/current_amplifiers/current_amplifier_detector.py
@@ -253,9 +256,12 @@ src/dodal/devices/i02_1/fast_grid_scan.py
253
256
  src/dodal/devices/i02_1/sample_motors.py
254
257
  src/dodal/devices/i02_2/__init__.py
255
258
  src/dodal/devices/i03/__init__.py
259
+ src/dodal/devices/i03/beamsize.py
260
+ src/dodal/devices/i03/constants.py
256
261
  src/dodal/devices/i03/dcm.py
257
262
  src/dodal/devices/i03/undulator_dcm.py
258
263
  src/dodal/devices/i04/__init__.py
264
+ src/dodal/devices/i04/beamsize.py
259
265
  src/dodal/devices/i04/constants.py
260
266
  src/dodal/devices/i04/murko_results.py
261
267
  src/dodal/devices/i04/transfocator.py
@@ -263,6 +269,7 @@ src/dodal/devices/i05/__init__.py
263
269
  src/dodal/devices/i05/enums.py
264
270
  src/dodal/devices/i07/__init__.py
265
271
  src/dodal/devices/i07/dcm.py
272
+ src/dodal/devices/i07/id.py
266
273
  src/dodal/devices/i09/__init__.py
267
274
  src/dodal/devices/i09/enums.py
268
275
  src/dodal/devices/i09_1/__init__.py
@@ -358,6 +365,7 @@ src/dodal/devices/util/__init__.py
358
365
  src/dodal/devices/util/adjuster_plans.py
359
366
  src/dodal/devices/util/epics_util.py
360
367
  src/dodal/devices/util/lookup_tables.py
368
+ src/dodal/devices/util/lookup_tables_apple2.py
361
369
  src/dodal/devices/xspress3/__init__.py
362
370
  src/dodal/devices/xspress3/xspress3.py
363
371
  src/dodal/devices/xspress3/xspress3_channel.py
@@ -379,14 +387,13 @@ src/dodal/plan_stubs/wrapped.py
379
387
  src/dodal/plans/__init__.py
380
388
  src/dodal/plans/bimorph.py
381
389
  src/dodal/plans/configure_arm_trigger_and_disarm_detector.py
390
+ src/dodal/plans/load_panda_yaml.py
382
391
  src/dodal/plans/save_panda.py
383
392
  src/dodal/plans/scanspec.py
384
393
  src/dodal/plans/verify_undulator_gap.py
385
394
  src/dodal/plans/wrapped.py
386
395
  src/dodal/plans/preprocessors/__init__.py
387
396
  src/dodal/plans/preprocessors/verify_undulator_gap.py
388
- src/dodal/testing/__init__.py
389
- src/dodal/testing/setup.py
390
397
  src/dodal/testing/electron_analyser/__init__.py
391
398
  src/dodal/testing/electron_analyser/device_factory.py
392
399
  src/dodal/testing/fixtures/__init__.py
@@ -428,6 +435,7 @@ tests/common/beamlines/test_beamline_utils.py
428
435
  tests/common/beamlines/test_commissioning_mode.py
429
436
  tests/common/beamlines/test_device_instantiation.py
430
437
  tests/devices/__init__.py
438
+ tests/devices/conftest.py
431
439
  tests/devices/test_aperture.py
432
440
  tests/devices/test_aperture_scatterguard.py
433
441
  tests/devices/test_apple2_undulator.py
@@ -507,13 +515,18 @@ tests/devices/electron_analyser/vgscienta/test_region.py
507
515
  tests/devices/i02_1/__init__.py
508
516
  tests/devices/i02_1/test_fast_grid_scan.py
509
517
  tests/devices/i03/__init__.py
518
+ tests/devices/i03/test_beamsize.py
510
519
  tests/devices/i03/test_dcm.py
511
520
  tests/devices/i03/test_undulator_dcm.py
512
521
  tests/devices/i04/__init__.py
522
+ tests/devices/i04/conftest.py
523
+ tests/devices/i04/test_beamsize.py
513
524
  tests/devices/i04/test_murko_results.py
514
525
  tests/devices/i04/test_transfocator.py
526
+ tests/devices/i07/IIDCalibrationTable.txt
515
527
  tests/devices/i07/__init__.py
516
528
  tests/devices/i07/test_dcm.py
529
+ tests/devices/i07/test_id.py
517
530
  tests/devices/i09/__init__.py
518
531
  tests/devices/i09_1/__init__.py
519
532
  tests/devices/i09_1_shared/__init__.py
@@ -525,10 +538,10 @@ tests/devices/i10/test_i10_apple2.py
525
538
  tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv
526
539
  tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv
527
540
  tests/devices/i10/test_data/__init__.py
528
- tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl
529
- tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl
530
- tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl
531
- tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl
541
+ tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json
542
+ tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json
543
+ tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json
544
+ tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json
532
545
  tests/devices/i11/__init__.py
533
546
  tests/devices/i11/test_i11devices.py
534
547
  tests/devices/i11/test_mythen.py
@@ -545,7 +558,8 @@ tests/devices/i19/test_beamstop.py
545
558
  tests/devices/i19/test_diffractometer.py
546
559
  tests/devices/i19/test_mapt.py
547
560
  tests/devices/i19/test_pin_col.py
548
- tests/devices/i19/test_shutter.py
561
+ tests/devices/i19/access_controlled/__init__.py
562
+ tests/devices/i19/access_controlled/test_shutter.py
549
563
  tests/devices/i22/__init__.py
550
564
  tests/devices/i22/test_dcm.py
551
565
  tests/devices/i22/test_fswitch.py
@@ -593,8 +607,8 @@ tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt
593
607
  tests/devices/test_data/test_lookup_table.txt
594
608
  tests/devices/util/__init__.py
595
609
  tests/devices/util/test_adjuster_plans.py
596
- tests/devices/util/test_beamline_specific_utils.py
597
610
  tests/devices/util/test_lookup_tables.py
611
+ tests/devices/util/test_lookup_tables_apple2.py
598
612
  tests/devices/util/test_data/__init__.py
599
613
  tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt
600
614
  tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt
@@ -616,6 +630,7 @@ tests/plans/conftest.py
616
630
  tests/plans/test_bimorph.py
617
631
  tests/plans/test_compliance.py
618
632
  tests/plans/test_configure_arm_trigger_and_disarm_detector.py
633
+ tests/plans/test_load_panda_yaml.py
619
634
  tests/plans/test_save_panda.py
620
635
  tests/plans/test_scanspec.py
621
636
  tests/plans/test_verify_undulator_gap_plan.py
@@ -629,4 +644,7 @@ tests/test_data/bad_beamlineParameters
629
644
  tests/test_data/i04_beamlineParameters
630
645
  tests/test_data/test_beamline_parameters.txt
631
646
  tests/test_data/test_display.configuration
632
- tests/test_data/test_oav_zoom_levels.xml
647
+ tests/test_data/test_oav_zoom_levels.xml
648
+ tests/testing/__init__.py
649
+ tests/testing/fixtures/__init__.py
650
+ tests/testing/fixtures/test_run_engine.py
@@ -1,9 +1,8 @@
1
1
  click
2
2
  ophyd
3
- ophyd-async[ca,pva]>=0.13.5
3
+ ophyd-async[ca,pva]>=v0.14.0
4
4
  bluesky>=1.14.5
5
5
  pyepics
6
- dataclasses-json
7
6
  pillow
8
7
  zocalo>=1.0.0
9
8
  requests
@@ -26,7 +25,7 @@ import-linter
26
25
  ispyb
27
26
  mypy
28
27
  myst-parser
29
- ophyd_async[sim]
28
+ ophyd_async[sim]>=v0.14.0
30
29
  pipdeptree
31
30
  pre-commit
32
31
  psutil
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.64.0'
32
- __version_tuple__ = version_tuple = (1, 64, 0)
31
+ __version__ = version = '1.66.0'
32
+ __version_tuple__ = version_tuple = (1, 66, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g15623816b'
34
+ __commit_id__ = commit_id = 'g400fe8430'
@@ -0,0 +1,14 @@
1
+ from dodal.common.beamlines.beamline_utils import device_factory
2
+ from dodal.devices.i05.enums import Grating
3
+ from dodal.devices.pgm import PlaneGratingMonochromator
4
+ from dodal.utils import BeamlinePrefix
5
+
6
+ PREFIX = BeamlinePrefix("i05", "I")
7
+
8
+
9
+ @device_factory()
10
+ def pgm() -> PlaneGratingMonochromator:
11
+ return PlaneGratingMonochromator(
12
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
13
+ grating=Grating,
14
+ )
@@ -7,12 +7,19 @@ from dodal.devices.oav.oav_parameters import OAVConfigBeamCentre
7
7
  ZOOM_PARAMS_FILE = "/dls_sw/i23/software/aithre/aithre_oav.xml"
8
8
  DISPLAY_CONFIG = "/dls_sw/i23/software/aithre/aithre_display.configuration"
9
9
 
10
+
10
11
  PREFIX = "LA18L"
11
12
 
12
13
 
13
14
  @device_factory()
14
15
  def goniometer() -> Goniometer:
15
- return Goniometer(f"{PREFIX}-MO-LSR-01:")
16
+ return Goniometer(
17
+ f"{PREFIX}-MO-LSR-01:",
18
+ y_infix="SAMPZ",
19
+ z_infix="SAMPY",
20
+ sampy_infix="Y",
21
+ sampz_infix="Z",
22
+ )
16
23
 
17
24
 
18
25
  @device_factory()
@@ -22,8 +29,20 @@ def robot() -> LaserRobot:
22
29
 
23
30
  @device_factory()
24
31
  def oav(params: OAVConfigBeamCentre | None = None) -> OAVBeamCentreFile:
32
+ config = (
33
+ params
34
+ if params is not None
35
+ else OAVConfigBeamCentre(
36
+ zoom_params_file=ZOOM_PARAMS_FILE, display_config_file=DISPLAY_CONFIG
37
+ )
38
+ )
25
39
  return OAVBeamCentreFile(
26
40
  prefix=f"{PREFIX}-DI-OAV-01:",
27
- config=params or OAVConfigBeamCentre(ZOOM_PARAMS_FILE, DISPLAY_CONFIG),
41
+ config=config,
28
42
  zoom_controller=NullZoomController(),
43
+ mjpg_x_size_pv="ArraySize0_RBV",
44
+ mjpg_y_size_pv="ArraySize1_RBV",
45
+ x_direction=-1,
46
+ y_direction=-1,
47
+ z_direction=-1,
29
48
  )
@@ -37,7 +37,7 @@ def panda() -> HDFPanda:
37
37
  HDFPanda: The HDF5-based detector trigger device.
38
38
  """
39
39
  return HDFPanda(
40
- f"{PREFIX.beamline_prefix}-MO-PANDA-01:",
40
+ f"{PREFIX.beamline_prefix}-MO-PPANDA-01:",
41
41
  path_provider=get_path_provider(),
42
42
  )
43
43
 
@@ -5,7 +5,7 @@ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beam
5
5
  from dodal.devices.b07 import Grating, LensMode, PsuMode
6
6
  from dodal.devices.electron_analyser import EnergySource
7
7
  from dodal.devices.electron_analyser.specs import SpecsDetector
8
- from dodal.devices.pgm import PGM
8
+ from dodal.devices.pgm import PlaneGratingMonochromator
9
9
  from dodal.devices.synchrotron import Synchrotron
10
10
  from dodal.log import set_beamline as set_log_beamline
11
11
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -22,8 +22,11 @@ def synchrotron() -> Synchrotron:
22
22
 
23
23
 
24
24
  @device_factory()
25
- def pgm() -> PGM:
26
- return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
25
+ def pgm() -> PlaneGratingMonochromator:
26
+ return PlaneGratingMonochromator(
27
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
28
+ grating=Grating,
29
+ )
27
30
 
28
31
 
29
32
  @device_factory()
@@ -8,7 +8,7 @@ from dodal.devices.b07_1 import (
8
8
  )
9
9
  from dodal.devices.electron_analyser import EnergySource
10
10
  from dodal.devices.electron_analyser.specs import SpecsDetector
11
- from dodal.devices.pgm import PGM
11
+ from dodal.devices.pgm import PlaneGratingMonochromator
12
12
  from dodal.devices.synchrotron import Synchrotron
13
13
  from dodal.log import set_beamline as set_log_beamline
14
14
  from dodal.utils import BeamlinePrefix, get_beamline_name
@@ -25,8 +25,11 @@ def synchrotron() -> Synchrotron:
25
25
 
26
26
 
27
27
  @device_factory()
28
- def pgm() -> PGM:
29
- return PGM(prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:", grating=Grating)
28
+ def pgm() -> PlaneGratingMonochromator:
29
+ return PlaneGratingMonochromator(
30
+ prefix=f"{PREFIX.beamline_prefix}-OP-PGM-01:",
31
+ grating=Grating,
32
+ )
30
33
 
31
34
 
32
35
  # Connect will work again after this work completed
@@ -21,7 +21,7 @@ from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
21
21
  from dodal.devices.backlight import Backlight
22
22
  from dodal.devices.baton import Baton
23
23
  from dodal.devices.collimation_table import CollimationTable
24
- from dodal.devices.cryostream import CryoStream
24
+ from dodal.devices.cryostream import CryoStream, CryoStreamGantry
25
25
  from dodal.devices.detector.detector_motion import DetectorMotion
26
26
  from dodal.devices.diamond_filter import DiamondFilter, I03Filters
27
27
  from dodal.devices.eiger import EigerDetector
@@ -31,8 +31,10 @@ from dodal.devices.flux import Flux
31
31
  from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
32
32
  from dodal.devices.hutch_shutter import HutchShutter
33
33
  from dodal.devices.i03 import Beamstop
34
+ from dodal.devices.i03.beamsize import Beamsize
34
35
  from dodal.devices.i03.dcm import DCM
35
36
  from dodal.devices.i03.undulator_dcm import UndulatorDCM
37
+ from dodal.devices.ipin import IPin
36
38
  from dodal.devices.motors import XYZStage
37
39
  from dodal.devices.oav.oav_detector import OAVBeamCentreFile
38
40
  from dodal.devices.oav.oav_parameters import OAVConfigBeamCentre
@@ -44,7 +46,7 @@ from dodal.devices.scintillator import Scintillator
44
46
  from dodal.devices.smargon import Smargon
45
47
  from dodal.devices.synchrotron import Synchrotron
46
48
  from dodal.devices.thawer import Thawer
47
- from dodal.devices.undulator import Undulator
49
+ from dodal.devices.undulator import UndulatorInKeV
48
50
  from dodal.devices.webcam import Webcam
49
51
  from dodal.devices.xbpm_feedback import XBPMFeedback
50
52
  from dodal.devices.xspress3.xspress3 import Xspress3
@@ -256,11 +258,11 @@ def synchrotron() -> Synchrotron:
256
258
 
257
259
 
258
260
  @device_factory()
259
- def undulator(daq_configuration_path: str | None = None) -> Undulator:
261
+ def undulator(daq_configuration_path: str | None = None) -> UndulatorInKeV:
260
262
  """Get the i03 undulator device, instantiate it if it hasn't already been.
261
263
  If this is called when already instantiated in i03, it will return the existing object.
262
264
  """
263
- return Undulator(
265
+ return UndulatorInKeV(
264
266
  f"{BeamlinePrefix(BL).insertion_prefix}-MO-SERVC-01:",
265
267
  # evaluate here not as parameter default to enable post-import mocking
266
268
  id_gap_lookup_table_path=f"{daq_configuration_path or DAQ_CONFIGURATION_PATH}/lookup/BeamLine_Undulator_toGap.txt",
@@ -396,6 +398,14 @@ def cryostream() -> CryoStream:
396
398
  return CryoStream(PREFIX.beamline_prefix)
397
399
 
398
400
 
401
+ @device_factory()
402
+ def cryostream_gantry() -> CryoStreamGantry:
403
+ """Get the i03 cryostream gantry device, instantiate it if it hasn't already been.
404
+ If this is called when already instantiated in i03, it will return the existing object.
405
+ """
406
+ return CryoStreamGantry(PREFIX.beamline_prefix)
407
+
408
+
399
409
  @device_factory()
400
410
  def diamond_filter() -> DiamondFilter[I03Filters]:
401
411
  """Get the i03 diamond filter device, instantiate it if it hasn't already been.
@@ -448,3 +458,21 @@ def collimation_table() -> CollimationTable:
448
458
  If this is called when already instantiated in i03, it will return the existing object.
449
459
  """
450
460
  return CollimationTable(prefix=f"{PREFIX.beamline_prefix}-MO-TABLE-01")
461
+
462
+
463
+ @device_factory()
464
+ def beamsize() -> Beamsize:
465
+ """Get the i03 beamsize device, instantiate it if it hasn't already been.
466
+ If this is called when already instantiated in i03, it will return the existing object.
467
+ """
468
+ return Beamsize(
469
+ aperture_scatterguard=aperture_scatterguard(),
470
+ )
471
+
472
+
473
+ @device_factory()
474
+ def ipin() -> IPin:
475
+ """Get the i03 ipin device, instantiate it if it hasn't already been.
476
+ If this is called when already instantiated in i04, it will return the existing object.
477
+ """
478
+ return IPin(f"{PREFIX.beamline_prefix}-EA-PIN-01:")