dls-dodal 1.65.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 (670) hide show
  1. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_dist.yml +2 -2
  2. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_docs.yml +2 -2
  3. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_pypi.yml +1 -1
  4. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_release.yml +2 -2
  5. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_test.yml +4 -4
  6. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/_tox.yml +1 -1
  7. {dls_dodal-1.65.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.65.0 → dls_dodal-1.66.0}/docs/how-to/write-tests.md +1 -1
  10. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/pyproject.toml +2 -3
  11. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/PKG-INFO +3 -4
  12. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/SOURCES.txt +22 -8
  13. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/requires.txt +2 -3
  14. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/_version.py +3 -3
  15. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/aithre.py +21 -2
  16. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i03.py +23 -3
  17. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i04.py +18 -3
  18. dls_dodal-1.66.0/src/dodal/beamlines/i05.py +49 -0
  19. dls_dodal-1.66.0/src/dodal/beamlines/i06.py +62 -0
  20. dls_dodal-1.66.0/src/dodal/beamlines/i07.py +41 -0
  21. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09_1.py +7 -2
  22. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10_optics.py +18 -8
  23. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i18.py +3 -3
  24. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i22.py +3 -3
  25. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p38.py +3 -3
  26. dls_dodal-1.66.0/src/dodal/devices/aithre_lasershaping/goniometer.py +42 -0
  27. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/aperturescatterguard.py +3 -2
  28. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/apple2_undulator.py +89 -44
  29. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/mjpg.py +10 -3
  30. dls_dodal-1.66.0/src/dodal/devices/beamsize/beamsize.py +6 -0
  31. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_resolution.py +4 -2
  32. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/fast_grid_scan.py +14 -2
  33. dls_dodal-1.66.0/src/dodal/devices/i03/beamsize.py +35 -0
  34. dls_dodal-1.66.0/src/dodal/devices/i03/constants.py +7 -0
  35. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/undulator_dcm.py +2 -2
  36. dls_dodal-1.66.0/src/dodal/devices/i04/beamsize.py +45 -0
  37. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/murko_results.py +36 -26
  38. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/transfocator.py +23 -29
  39. dls_dodal-1.66.0/src/dodal/devices/i07/id.py +38 -0
  40. dls_dodal-1.66.0/src/dodal/devices/i09_1_shared/__init__.py +7 -0
  41. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1_shared/hard_undulator_functions.py +85 -21
  42. dls_dodal-1.66.0/src/dodal/devices/i10/i10_apple2.py +195 -0
  43. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i17/i17_apple2.py +7 -4
  44. dls_dodal-1.66.0/src/dodal/devices/ipin.py +31 -0
  45. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/motors.py +19 -3
  46. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/mx_phase1/beamstop.py +31 -12
  47. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_calculations.py +9 -4
  48. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_detector.py +65 -7
  49. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_parameters.py +3 -1
  50. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/oav_to_redis_forwarder.py +18 -15
  51. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/__init__.py +5 -1
  52. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/utils.py +23 -1
  53. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +8 -2
  54. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/utils.py +16 -6
  55. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/robot.py +17 -7
  56. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/scintillator.py +36 -14
  57. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/smargon.py +2 -3
  58. dls_dodal-1.66.0/src/dodal/devices/thawer.py +21 -0
  59. dls_dodal-1.66.0/src/dodal/devices/undulator.py +271 -0
  60. dls_dodal-1.66.0/src/dodal/devices/util/lookup_tables_apple2.py +390 -0
  61. dls_dodal-1.66.0/src/dodal/plans/load_panda_yaml.py +9 -0
  62. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/verify_undulator_gap.py +2 -2
  63. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/system_tests/test_oav_to_redis_system.py +23 -9
  64. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_commissioning_mode.py +1 -1
  65. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/conftest.py +1 -2
  66. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -2
  67. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/b07_1/test_ccmc.py +3 -3
  68. dls_dodal-1.66.0/tests/devices/conftest.py +92 -0
  69. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/current_amplifier/test_femto.py +2 -2
  70. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/current_amplifier/test_sr570.py +2 -1
  71. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_detector.py +1 -2
  72. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_driver_io.py +1 -2
  73. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/conftest.py +4 -7
  74. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_detector.py +1 -2
  75. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_driver_io.py +1 -3
  76. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_detector.py +1 -2
  77. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_driver_io.py +1 -3
  78. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i02_1/test_fast_grid_scan.py +1 -2
  79. dls_dodal-1.66.0/tests/devices/i03/test_beamsize.py +43 -0
  80. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i03/test_undulator_dcm.py +3 -7
  81. dls_dodal-1.66.0/tests/devices/i04/conftest.py +11 -0
  82. dls_dodal-1.66.0/tests/devices/i04/test_beamsize.py +50 -0
  83. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i04/test_murko_results.py +164 -152
  84. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i04/test_transfocator.py +6 -37
  85. dls_dodal-1.66.0/tests/devices/i07/IIDCalibrationTable.txt +13 -0
  86. dls_dodal-1.66.0/tests/devices/i07/__init__.py +7 -0
  87. dls_dodal-1.66.0/tests/devices/i07/test_id.py +28 -0
  88. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_undulator_functions.py +24 -4
  89. dls_dodal-1.66.0/tests/devices/i10/test_data/__init__.py +32 -0
  90. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json +314 -0
  91. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json +314 -0
  92. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json +185 -0
  93. dls_dodal-1.66.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json +185 -0
  94. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i10/test_i10_apple2.py +173 -103
  95. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i11/test_i11devices.py +1 -2
  96. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i11/test_mythen.py +0 -1
  97. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i13_1/test_merlin.py +1 -1
  98. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i17/test_i17_apple2.py +7 -4
  99. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i18/test_kb_mirror.py +2 -2
  100. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/access_controlled/test_shutter.py +2 -1
  101. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/test_diffractometer.py +2 -2
  102. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/test_mapt.py +2 -2
  103. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/test_pin_col.py +2 -5
  104. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i22/test_dcm.py +9 -10
  105. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i22/test_fswitch.py +2 -2
  106. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/test_commissioning_jungfrau.py +0 -2
  107. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/test_dual_backlight.py +1 -1
  108. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/test_pmac.py +9 -7
  109. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/test_vgonio.py +1 -3
  110. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/mx_phase1/test_beamstop.py +40 -15
  111. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/conftest.py +4 -3
  112. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +1 -1
  113. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +130 -0
  114. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav.py +26 -3
  115. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +13 -7
  116. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_utils.py +2 -5
  117. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_snapshots.py +1 -2
  118. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/p99/test_p99_stage.py +1 -2
  119. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_aperture_scatterguard.py +14 -99
  120. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_apple2_undulator.py +133 -10
  121. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_attenuator.py +1 -2
  122. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_backlight.py +2 -2
  123. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_bart_robot.py +65 -3
  124. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_bimorph_mirror.py +7 -2
  125. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_common_dcm.py +2 -5
  126. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_focusing_mirror.py +2 -2
  127. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_gridscan.py +37 -9
  128. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_hutch_shutter.py +1 -1
  129. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_motors.py +3 -6
  130. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_positioner.py +3 -2
  131. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_pressure_jump_cell.py +2 -2
  132. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_scintillator.py +41 -22
  133. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_slits.py +2 -2
  134. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_smargon.py +14 -17
  135. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_synchrotron.py +1 -2
  136. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_tetramm.py +8 -2
  137. dls_dodal-1.66.0/tests/devices/test_thawer.py +17 -0
  138. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_turbo_slit.py +4 -7
  139. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_undulator.py +65 -25
  140. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_utils.py +1 -2
  141. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_watsonmarlow323_pump.py +2 -2
  142. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_xbpm_feedback.py +1 -2
  143. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_xspress3.py +2 -2
  144. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_zebra.py +1 -1
  145. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_zebra_shutter.py +1 -2
  146. dls_dodal-1.66.0/tests/devices/util/test_lookup_tables_apple2.py +185 -0
  147. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_some_devices_working.py +2 -2
  148. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_zocalo/__main__.py +29 -14
  149. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_motor_util_plans.py +24 -19
  150. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_topup_plan.py +1 -2
  151. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/conftest.py +3 -3
  152. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_bimorph.py +4 -6
  153. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +6 -2
  154. dls_dodal-1.66.0/tests/plans/test_load_panda_yaml.py +48 -0
  155. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_verify_undulator_gap_plan.py +4 -3
  156. dls_dodal-1.65.0/src/dodal/beamline_specific_utils/i03.py +0 -17
  157. dls_dodal-1.65.0/src/dodal/beamlines/i05.py +0 -22
  158. dls_dodal-1.65.0/src/dodal/beamlines/i07.py +0 -21
  159. dls_dodal-1.65.0/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -25
  160. dls_dodal-1.65.0/src/dodal/devices/i09_1_shared/__init__.py +0 -3
  161. dls_dodal-1.65.0/src/dodal/devices/i10/i10_apple2.py +0 -489
  162. dls_dodal-1.65.0/src/dodal/devices/ipin.py +0 -13
  163. dls_dodal-1.65.0/src/dodal/devices/thawer.py +0 -59
  164. dls_dodal-1.65.0/src/dodal/devices/undulator.py +0 -187
  165. dls_dodal-1.65.0/src/dodal/testing/__init__.py +0 -3
  166. dls_dodal-1.65.0/src/dodal/testing/setup.py +0 -67
  167. dls_dodal-1.65.0/tests/devices/i10/test_data/__init__.py +0 -32
  168. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.pkl +0 -0
  169. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.pkl +0 -0
  170. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.pkl +0 -0
  171. dls_dodal-1.65.0/tests/devices/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.pkl +0 -0
  172. dls_dodal-1.65.0/tests/devices/test_thawer.py +0 -161
  173. dls_dodal-1.65.0/tests/devices/util/test_beamline_specific_utils.py +0 -23
  174. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.copier-answers.yml +0 -0
  175. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.devcontainer/devcontainer.json +0 -0
  176. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/CODEOWNERS +0 -0
  177. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/CONTRIBUTING.md +0 -0
  178. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  179. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/actions/install_requirements/action.yml +0 -0
  180. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/dependabot.yml +0 -0
  181. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/pages/index.html +0 -0
  182. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/pages/make_switcher.py +0 -0
  183. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/scripts/check_test_durations.py +0 -0
  184. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/ci.yml +0 -0
  185. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.github/workflows/periodic.yml +0 -0
  186. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.gitignore +0 -0
  187. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.pre-commit-config.yaml +0 -0
  188. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.vscode/extensions.json +0 -0
  189. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.vscode/launch.json +0 -0
  190. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.vscode/settings.json +0 -0
  191. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/.vscode/tasks.json +0 -0
  192. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/Dockerfile +0 -0
  193. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/LICENSE +0 -0
  194. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/README.md +0 -0
  195. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/catalog-info.yaml +0 -0
  196. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/conftest.py +0 -0
  197. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/_templates/autosummary/class.rst +0 -0
  198. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/_templates/autosummary/module.rst +0 -0
  199. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/_templates/custom-module-template.rst +0 -0
  200. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
  201. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/assets/zocalo.png +0 -0
  202. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/conf.py +0 -0
  203. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  204. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  205. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  206. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  207. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  208. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  209. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions/COPYME +0 -0
  210. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/decisions.md +0 -0
  211. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/reviews.md +0 -0
  212. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/umls/apple2_design.png +0 -0
  213. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations/umls/i10_id_design.png +0 -0
  214. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/explanations.md +0 -0
  215. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/genindex.md +0 -0
  216. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/build-docs.md +0 -0
  217. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/contribute.md +0 -0
  218. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/coverage.md +0 -0
  219. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/create-beamline.md +0 -0
  220. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/create-device.md +0 -0
  221. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/dev-install.md +0 -0
  222. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/excalidraw.md +0 -0
  223. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/external-io-devices.md +0 -0
  224. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/lint.md +0 -0
  225. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/lock-requirements.md +0 -0
  226. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/make-release.md +0 -0
  227. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/move-code.md +0 -0
  228. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/pypi.md +0 -0
  229. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/run-tests.md +0 -0
  230. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/static-analysis.md +0 -0
  231. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/update-template.md +0 -0
  232. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to/zocalo.md +0 -0
  233. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/how-to.md +0 -0
  234. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/images/dls-logo.svg +0 -0
  235. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/images/excalidraw-example.svg +0 -0
  236. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/index.md +0 -0
  237. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/reference/api.md +0 -0
  238. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/reference/device-standards.md +0 -0
  239. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/reference/standards.md +0 -0
  240. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/reference.md +0 -0
  241. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/tutorials/get_started.md +0 -0
  242. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/tutorials/installation.md +0 -0
  243. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/docs/tutorials.md +0 -0
  244. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/pull_request_template.md +0 -0
  245. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/setup.cfg +0 -0
  246. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/__init__.py +0 -0
  247. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  248. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  249. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  250. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/__init__.py +0 -0
  251. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/__main__.py +0 -0
  252. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamline_specific_utils/__init__.py +0 -0
  253. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamline_specific_utils/i05_shared.py +0 -0
  254. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/README.md +0 -0
  255. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/__init__.py +0 -0
  256. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/adsim.py +0 -0
  257. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b01_1.py +0 -0
  258. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b07.py +0 -0
  259. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b07_1.py +0 -0
  260. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b16.py +0 -0
  261. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b18.py +0 -0
  262. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/b21.py +0 -0
  263. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i02_1.py +0 -0
  264. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i02_2.py +0 -0
  265. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i05_1.py +0 -0
  266. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09.py +0 -0
  267. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i09_2.py +0 -0
  268. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10.py +0 -0
  269. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i10_1.py +0 -0
  270. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i11.py +0 -0
  271. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i13_1.py +0 -0
  272. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i15.py +0 -0
  273. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i15_1.py +0 -0
  274. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i17.py +0 -0
  275. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_1.py +0 -0
  276. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_2.py +0 -0
  277. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i19_optics.py +0 -0
  278. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i20_1.py +0 -0
  279. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i21.py +0 -0
  280. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i23.py +0 -0
  281. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/i24.py +0 -0
  282. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/k07.py +0 -0
  283. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/k11.py +0 -0
  284. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p45.py +0 -0
  285. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p60.py +0 -0
  286. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/p99.py +0 -0
  287. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/beamlines/training_rig.py +0 -0
  288. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/cli.py +0 -0
  289. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/__init__.py +0 -0
  290. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/__init__.py +0 -0
  291. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/beamline_parameters.py +0 -0
  292. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/beamline_utils.py +0 -0
  293. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/commissioning_mode.py +0 -0
  294. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  295. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/coordination.py +0 -0
  296. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/crystal_metadata.py +0 -0
  297. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/data_util.py +0 -0
  298. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/device_utils.py +0 -0
  299. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/enums.py +0 -0
  300. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/maths.py +0 -0
  301. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/types.py +0 -0
  302. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/udc_directory_provider.py +0 -0
  303. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/visit.py +0 -0
  304. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/common/watcher_utils.py +0 -0
  305. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/__init__.py +0 -0
  306. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/aithre_lasershaping/__init__.py +0 -0
  307. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  308. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/aperture.py +0 -0
  309. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/__init__.py +0 -0
  310. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/__init__.py +0 -0
  311. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/areadetector/plugins/cam.py +0 -0
  312. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/__init__.py +0 -0
  313. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/attenuator.py +0 -0
  314. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/filter.py +0 -0
  315. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  316. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b07/__init__.py +0 -0
  317. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b07/enums.py +0 -0
  318. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/__init__.py +0 -0
  319. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/ccmc.py +0 -0
  320. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b07_1/enums.py +0 -0
  321. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b16/__init__.py +0 -0
  322. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/b16/detector.py +0 -0
  323. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/backlight.py +0 -0
  324. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/baton.py +0 -0
  325. {dls_dodal-1.65.0/src/dodal/devices/i02_1 → dls_dodal-1.66.0/src/dodal/devices/beamsize}/__init__.py +0 -0
  326. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/bimorph_mirror.py +0 -0
  327. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/collimation_table.py +0 -0
  328. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/common_dcm.py +0 -0
  329. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/controllers.py +0 -0
  330. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/cryostream.py +0 -0
  331. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  332. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -0
  333. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -0
  334. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/femto.py +0 -0
  335. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/sr570.py +0 -0
  336. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -0
  337. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/__init__.py +0 -0
  338. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  339. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  340. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/detector.py +0 -0
  341. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  342. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/diamond_filter.py +0 -0
  343. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/eiger.py +0 -0
  344. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/eiger_odin.py +0 -0
  345. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/__init__.py +0 -0
  346. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/__init__.py +0 -0
  347. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_detector.py +0 -0
  348. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_driver_io.py +0 -0
  349. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/base_region.py +0 -0
  350. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/abstract/types.py +0 -0
  351. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/detector.py +0 -0
  352. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/energy_sources.py +0 -0
  353. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/enums.py +0 -0
  354. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  355. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/detector.py +0 -0
  356. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/driver_io.py +0 -0
  357. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/enums.py +0 -0
  358. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/specs/region.py +0 -0
  359. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/types.py +0 -0
  360. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/util.py +0 -0
  361. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  362. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/detector.py +0 -0
  363. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/driver_io.py +0 -0
  364. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/enums.py +0 -0
  365. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/electron_analyser/vgscienta/region.py +0 -0
  366. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/eurotherm.py +0 -0
  367. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/fast_shutter.py +0 -0
  368. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  369. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/flux.py +0 -0
  370. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/focusing_mirror.py +0 -0
  371. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/hutch_shutter.py +0 -0
  372. {dls_dodal-1.65.0/src/dodal/devices/i02_2 → dls_dodal-1.66.0/src/dodal/devices/i02_1}/__init__.py +0 -0
  373. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i02_1/fast_grid_scan.py +0 -0
  374. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i02_1/sample_motors.py +0 -0
  375. {dls_dodal-1.65.0/src/dodal/devices/i07 → dls_dodal-1.66.0/src/dodal/devices/i02_2}/__init__.py +0 -0
  376. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/__init__.py +0 -0
  377. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i03/dcm.py +0 -0
  378. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/__init__.py +0 -0
  379. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i04/constants.py +0 -0
  380. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i05/__init__.py +0 -0
  381. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i05/enums.py +0 -0
  382. {dls_dodal-1.65.0/src/dodal/devices/i10/rasor → dls_dodal-1.66.0/src/dodal/devices/i07}/__init__.py +0 -0
  383. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i07/dcm.py +0 -0
  384. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i09/__init__.py +0 -0
  385. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i09/enums.py +0 -0
  386. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1/__init__.py +0 -0
  387. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i09_1/enums.py +0 -0
  388. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/__init__.py +0 -0
  389. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/diagnostics.py +0 -0
  390. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/i10_setting_data.py +0 -0
  391. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/mirrors.py +0 -0
  392. {dls_dodal-1.65.0/src/dodal/devices/i11 → dls_dodal-1.66.0/src/dodal/devices/i10/rasor}/__init__.py +0 -0
  393. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -0
  394. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_motors.py +0 -0
  395. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/rasor/rasor_scaler_cards.py +0 -0
  396. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i10/slits.py +0 -0
  397. {dls_dodal-1.65.0/src/dodal/devices/i13_1 → dls_dodal-1.66.0/src/dodal/devices/i11}/__init__.py +0 -0
  398. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/cyberstar_blower.py +0 -0
  399. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/diff_stages.py +0 -0
  400. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/mythen.py +0 -0
  401. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/nx100robot.py +0 -0
  402. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i11/spinner.py +0 -0
  403. {dls_dodal-1.65.0/src/dodal/devices/i15 → dls_dodal-1.66.0/src/dodal/devices/i13_1}/__init__.py +0 -0
  404. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i13_1/merlin.py +0 -0
  405. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i13_1/merlin_controller.py +0 -0
  406. {dls_dodal-1.65.0/src/dodal/devices/i17 → dls_dodal-1.66.0/src/dodal/devices/i15}/__init__.py +0 -0
  407. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/dcm.py +0 -0
  408. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/focussing_mirror.py +0 -0
  409. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/jack.py +0 -0
  410. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/laue.py +0 -0
  411. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/motors.py +0 -0
  412. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/multilayer_mirror.py +0 -0
  413. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i15/rail.py +0 -0
  414. {dls_dodal-1.65.0/src/dodal/devices/i18 → dls_dodal-1.66.0/src/dodal/devices/i17}/__init__.py +0 -0
  415. {dls_dodal-1.65.0/src/dodal/devices/i19 → dls_dodal-1.66.0/src/dodal/devices/i18}/__init__.py +0 -0
  416. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i18/diode.py +0 -0
  417. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i18/kb_mirror.py +0 -0
  418. {dls_dodal-1.65.0/src/dodal/devices/i19/access_controlled → dls_dodal-1.66.0/src/dodal/devices/i19}/__init__.py +0 -0
  419. {dls_dodal-1.65.0/src/dodal/devices/i20_1 → dls_dodal-1.66.0/src/dodal/devices/i19/access_controlled}/__init__.py +0 -0
  420. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/blueapi_device.py +0 -0
  421. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/hutch_access.py +0 -0
  422. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/access_controlled/shutter.py +0 -0
  423. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/backlight.py +0 -0
  424. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/beamstop.py +0 -0
  425. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/diffractometer.py +0 -0
  426. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/mapt_configuration.py +0 -0
  427. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i19/pin_col_stages.py +0 -0
  428. {dls_dodal-1.65.0/src/dodal/devices/i22 → dls_dodal-1.66.0/src/dodal/devices/i20_1}/__init__.py +0 -0
  429. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i21/__init__.py +0 -0
  430. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i21/enums.py +0 -0
  431. {dls_dodal-1.65.0/src/dodal/devices/i24 → dls_dodal-1.66.0/src/dodal/devices/i22}/__init__.py +0 -0
  432. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/dcm.py +0 -0
  433. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/fswitch.py +0 -0
  434. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i22/nxsas.py +0 -0
  435. {dls_dodal-1.65.0/src/dodal/devices/mx_phase1 → dls_dodal-1.66.0/src/dodal/devices/i24}/__init__.py +0 -0
  436. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/aperture.py +0 -0
  437. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/beam_center.py +0 -0
  438. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/beamstop.py +0 -0
  439. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/commissioning_jungfrau.py +0 -0
  440. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/dcm.py +0 -0
  441. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/dual_backlight.py +0 -0
  442. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/focus_mirrors.py +0 -0
  443. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/pmac.py +0 -0
  444. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/i24/vgonio.py +0 -0
  445. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/linkam3.py +0 -0
  446. {dls_dodal-1.65.0/src/dodal/devices/oav → dls_dodal-1.66.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
  447. {dls_dodal-1.65.0/src/dodal/devices/oav/snapshots → dls_dodal-1.66.0/src/dodal/devices/oav}/__init__.py +0 -0
  448. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -0
  449. {dls_dodal-1.65.0/src/dodal/devices/p99 → dls_dodal-1.66.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
  450. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -0
  451. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  452. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -0
  453. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p45.py +0 -0
  454. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/__init__.py +0 -0
  455. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/enums.py +0 -0
  456. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p60/lab_xray_source.py +0 -0
  457. {dls_dodal-1.65.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-1.66.0/src/dodal/devices/p99}/__init__.py +0 -0
  458. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p99/andor2_point.py +0 -0
  459. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/p99/sample_stage.py +0 -0
  460. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/pgm.py +0 -0
  461. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/positioner.py +0 -0
  462. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/pressure_jump_cell.py +0 -0
  463. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/qbpm.py +0 -0
  464. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/s4_slit_gaps.py +0 -0
  465. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/slits.py +0 -0
  466. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/status.py +0 -0
  467. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/synchrotron.py +0 -0
  468. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
  469. {dls_dodal-1.65.0/src/dodal/devices/util → dls_dodal-1.66.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  470. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -0
  471. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -0
  472. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/tetramm.py +0 -0
  473. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/turbo_slit.py +0 -0
  474. {dls_dodal-1.65.0/src/dodal/devices/xspress3 → dls_dodal-1.66.0/src/dodal/devices/util}/__init__.py +0 -0
  475. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/util/adjuster_plans.py +0 -0
  476. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/util/epics_util.py +0 -0
  477. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/util/lookup_tables.py +0 -0
  478. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/v2f.py +0 -0
  479. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/watsonmarlow323_pump.py +0 -0
  480. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/webcam.py +0 -0
  481. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/xbpm_feedback.py +0 -0
  482. {dls_dodal-1.65.0/src/dodal/devices/zebra → dls_dodal-1.66.0/src/dodal/devices/xspress3}/__init__.py +0 -0
  483. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/xspress3/xspress3.py +0 -0
  484. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/xspress3/xspress3_channel.py +0 -0
  485. {dls_dodal-1.65.0/src/dodal/parameters → dls_dodal-1.66.0/src/dodal/devices/zebra}/__init__.py +0 -0
  486. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra.py +0 -0
  487. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -0
  488. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -0
  489. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/__init__.py +0 -0
  490. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  491. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_interaction.py +0 -0
  492. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/devices/zocalo/zocalo_results.py +0 -0
  493. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/log.py +0 -0
  494. {dls_dodal-1.65.0/src/dodal/plans/preprocessors → dls_dodal-1.66.0/src/dodal/parameters}/__init__.py +0 -0
  495. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  496. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/__init__.py +0 -0
  497. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/check_topup.py +0 -0
  498. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/data_session.py +0 -0
  499. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/motor_utils.py +0 -0
  500. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plan_stubs/wrapped.py +0 -0
  501. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/__init__.py +0 -0
  502. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/bimorph.py +0 -0
  503. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -0
  504. {dls_dodal-1.65.0/src/dodal/testing/fixtures → dls_dodal-1.66.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
  505. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -0
  506. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/save_panda.py +0 -0
  507. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/scanspec.py +0 -0
  508. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/plans/wrapped.py +0 -0
  509. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  510. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/testing/electron_analyser/device_factory.py +0 -0
  511. {dls_dodal-1.65.0/system_tests → dls_dodal-1.66.0/src/dodal/testing/fixtures}/__init__.py +0 -0
  512. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/testing/fixtures/run_engine.py +0 -0
  513. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/testing/fixtures/utils.py +0 -0
  514. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/src/dodal/utils.py +0 -0
  515. {dls_dodal-1.65.0/tests → dls_dodal-1.66.0/system_tests}/__init__.py +0 -0
  516. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/system_tests/test_adsim.py +0 -0
  517. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/system_tests/test_cli.py +0 -0
  518. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/system_tests/test_oav_system.py +0 -0
  519. {dls_dodal-1.65.0/tests/beamlines → dls_dodal-1.66.0/tests}/__init__.py +0 -0
  520. {dls_dodal-1.65.0/tests/common → dls_dodal-1.66.0/tests/beamlines}/__init__.py +0 -0
  521. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/beamlines/test_b16.py +0 -0
  522. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/beamlines/test_i03.py +0 -0
  523. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/beamlines/test_i24.py +0 -0
  524. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/beamlines/test_mapping.py +0 -0
  525. {dls_dodal-1.65.0/tests/common/beamlines → dls_dodal-1.66.0/tests/common}/__init__.py +0 -0
  526. {dls_dodal-1.65.0/tests/devices → dls_dodal-1.66.0/tests/common/beamlines}/__init__.py +0 -0
  527. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  528. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_beamline_utils.py +0 -0
  529. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/beamlines/test_device_instantiation.py +0 -0
  530. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_coordination.py +0 -0
  531. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_crystal_metadata.py +0 -0
  532. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_maths.py +0 -0
  533. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_udc_directory_provider.py +0 -0
  534. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_visit.py +0 -0
  535. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/common/test_watcher_utils.py +0 -0
  536. {dls_dodal-1.65.0/tests/devices/aithre_lasershaping → dls_dodal-1.66.0/tests/devices}/__init__.py +0 -0
  537. {dls_dodal-1.65.0/tests/devices/b07_1 → dls_dodal-1.66.0/tests/devices/aithre_lasershaping}/__init__.py +0 -0
  538. {dls_dodal-1.65.0/tests/devices/current_amplifier → dls_dodal-1.66.0/tests/devices/b07_1}/__init__.py +0 -0
  539. {dls_dodal-1.65.0/tests/devices/detector → dls_dodal-1.66.0/tests/devices/current_amplifier}/__init__.py +0 -0
  540. {dls_dodal-1.65.0/tests/devices/electron_analyser → dls_dodal-1.66.0/tests/devices/detector}/__init__.py +0 -0
  541. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/detector/test_data/__init__.py +0 -0
  542. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  543. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
  544. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/detector/test_det_resolution.py +0 -0
  545. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/detector/test_detector.py +0 -0
  546. {dls_dodal-1.65.0/tests/devices/electron_analyser/abstract → dls_dodal-1.66.0/tests/devices/electron_analyser}/__init__.py +0 -0
  547. {dls_dodal-1.65.0/tests/devices/electron_analyser/specs → dls_dodal-1.66.0/tests/devices/electron_analyser/abstract}/__init__.py +0 -0
  548. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/abstract/test_base_region.py +0 -0
  549. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  550. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  551. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  552. {dls_dodal-1.65.0/tests/devices/electron_analyser/vgscienta → dls_dodal-1.66.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
  553. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/specs/test_region.py +0 -0
  554. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  555. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  556. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  557. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_detector.py +0 -0
  558. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_energy_sources.py +0 -0
  559. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/test_util.py +0 -0
  560. {dls_dodal-1.65.0/tests/devices/i02_1 → dls_dodal-1.66.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
  561. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/electron_analyser/vgscienta/test_region.py +0 -0
  562. {dls_dodal-1.65.0/tests/devices/i03 → dls_dodal-1.66.0/tests/devices/i02_1}/__init__.py +0 -0
  563. {dls_dodal-1.65.0/tests/devices/i04 → dls_dodal-1.66.0/tests/devices/i03}/__init__.py +0 -0
  564. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i03/test_dcm.py +0 -0
  565. {dls_dodal-1.65.0/tests/devices/i07 → dls_dodal-1.66.0/tests/devices/i04}/__init__.py +0 -0
  566. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i07/test_dcm.py +0 -0
  567. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09/__init__.py +0 -0
  568. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09_1/__init__.py +0 -0
  569. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/__init__.py +0 -0
  570. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_data/__init__.py +0 -0
  571. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i09_1_shared/test_data/test_lookuptable_i09_hu.txt +0 -0
  572. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i10/__init__.py +0 -0
  573. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  574. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  575. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i11/__init__.py +0 -0
  576. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i13_1/__init__.py +0 -0
  577. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i15/__init__.py +0 -0
  578. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i17/__init__.py +0 -0
  579. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i18/__init__.py +0 -0
  580. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/__init__.py +0 -0
  581. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/access_controlled/__init__.py +0 -0
  582. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/test_backlight.py +0 -0
  583. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i19/test_beamstop.py +0 -0
  584. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i22/__init__.py +0 -0
  585. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i22/test_metadataholder.py +0 -0
  586. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/__init__.py +0 -0
  587. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/i24/test_focus_mirrors.py +0 -0
  588. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/mx_phase1/__init__.py +0 -0
  589. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/__init__.py +0 -0
  590. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/image_recognition/__init__.py +0 -0
  591. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/__init__.py +0 -0
  592. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  593. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  594. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  595. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_grid_overlay.py +0 -0
  596. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_oav_parameters.py +0 -0
  597. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  598. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/p60/__init__.py +0 -0
  599. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/p60/test_lab_xray_source.py +0 -0
  600. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/p99/__init__.py +0 -0
  601. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/__init__.py +0 -0
  602. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/__init__.py +0 -0
  603. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +0 -0
  604. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +0 -0
  605. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_aperture.py +0 -0
  606. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_baton.py +0 -0
  607. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_beam_converter.py +0 -0
  608. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_controllers.py +0 -0
  609. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
  610. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  611. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  612. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  613. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  614. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  615. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_data/__init__.py +0 -0
  616. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  617. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
  618. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_diamond_filter.py +0 -0
  619. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_eiger.py +0 -0
  620. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_fast_shutters.py +0 -0
  621. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_odin.py +0 -0
  622. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_qbpm.py +0 -0
  623. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_webcam.py +0 -0
  624. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
  625. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_zocalo_interaction.py +0 -0
  626. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/test_zocalo_results.py +0 -0
  627. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/__init__.py +0 -0
  628. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_adjuster_plans.py +0 -0
  629. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/__init__.py +0 -0
  630. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  631. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  632. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  633. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/devices/util/test_lookup_tables.py +0 -0
  634. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline.py +0 -0
  635. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  636. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_broken_dependency.py +0 -0
  637. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_dependencies.py +0 -0
  638. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  639. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_beamline_misbehaving_builtins.py +0 -0
  640. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_device_factory_beamline.py +0 -0
  641. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_zocalo/README.rst +0 -0
  642. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_zocalo/__init__.py +0 -0
  643. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  644. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/__init__.py +0 -0
  645. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/__init__.py +0 -0
  646. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  647. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  648. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_data_session.py +0 -0
  649. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  650. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/__init__.py +0 -0
  651. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_compliance.py +0 -0
  652. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_preprocessors/__init__.py +0 -0
  653. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  654. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_save_panda.py +0 -0
  655. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_scanspec.py +0 -0
  656. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/plans/test_wrapped.py +0 -0
  657. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/preprocessors/__init__.py +0 -0
  658. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  659. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_cli.py +0 -0
  660. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/__init__.py +0 -0
  661. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/bad_beamlineParameters +0 -0
  662. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/i04_beamlineParameters +0 -0
  663. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  664. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/test_display.configuration +0 -0
  665. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
  666. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_log.py +0 -0
  667. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/test_utils.py +0 -0
  668. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/testing/__init__.py +0 -0
  669. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/testing/fixtures/__init__.py +0 -0
  670. {dls_dodal-1.65.0 → dls_dodal-1.66.0}/tests/testing/fixtures/test_run_engine.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.65.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.65.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
@@ -594,8 +607,8 @@ tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt
594
607
  tests/devices/test_data/test_lookup_table.txt
595
608
  tests/devices/util/__init__.py
596
609
  tests/devices/util/test_adjuster_plans.py
597
- tests/devices/util/test_beamline_specific_utils.py
598
610
  tests/devices/util/test_lookup_tables.py
611
+ tests/devices/util/test_lookup_tables_apple2.py
599
612
  tests/devices/util/test_data/__init__.py
600
613
  tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt
601
614
  tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt
@@ -617,6 +630,7 @@ tests/plans/conftest.py
617
630
  tests/plans/test_bimorph.py
618
631
  tests/plans/test_compliance.py
619
632
  tests/plans/test_configure_arm_trigger_and_disarm_detector.py
633
+ tests/plans/test_load_panda_yaml.py
620
634
  tests/plans/test_save_panda.py
621
635
  tests/plans/test_scanspec.py
622
636
  tests/plans/test_verify_undulator_gap_plan.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.65.0'
32
- __version_tuple__ = version_tuple = (1, 65, 0)
31
+ __version__ = version = '1.66.0'
32
+ __version_tuple__ = version_tuple = (1, 66, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g5fe631f29'
34
+ __commit_id__ = commit_id = 'g400fe8430'
@@ -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
  )
@@ -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",
@@ -456,3 +458,21 @@ def collimation_table() -> CollimationTable:
456
458
  If this is called when already instantiated in i03, it will return the existing object.
457
459
  """
458
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:")
@@ -20,6 +20,7 @@ from dodal.devices.eiger import EigerDetector
20
20
  from dodal.devices.fast_grid_scan import ZebraFastGridScanThreeD
21
21
  from dodal.devices.flux import Flux
22
22
  from dodal.devices.i03.dcm import DCM
23
+ from dodal.devices.i04.beamsize import Beamsize
23
24
  from dodal.devices.i04.constants import RedisConstants
24
25
  from dodal.devices.i04.murko_results import MurkoResultsDevice
25
26
  from dodal.devices.i04.transfocator import Transfocator
@@ -36,7 +37,7 @@ from dodal.devices.scintillator import Scintillator
36
37
  from dodal.devices.smargon import Smargon
37
38
  from dodal.devices.synchrotron import Synchrotron
38
39
  from dodal.devices.thawer import Thawer
39
- from dodal.devices.undulator import Undulator
40
+ from dodal.devices.undulator import UndulatorInKeV
40
41
  from dodal.devices.xbpm_feedback import XBPMFeedback
41
42
  from dodal.devices.zebra.zebra import Zebra
42
43
  from dodal.devices.zebra.zebra_constants_mapping import (
@@ -228,11 +229,11 @@ def s4_slit_gaps() -> S4SlitGaps:
228
229
 
229
230
 
230
231
  @device_factory()
231
- def undulator() -> Undulator:
232
+ def undulator() -> UndulatorInKeV:
232
233
  """Get the i04 undulator device, instantiate it if it hasn't already been.
233
234
  If this is called when already instantiated in i04, it will return the existing object.
234
235
  """
235
- return Undulator(
236
+ return UndulatorInKeV(
236
237
  prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
237
238
  id_gap_lookup_table_path="/dls_sw/i04/software/daq_configuration/lookup/BeamLine_Undulator_toGap.txt",
238
239
  )
@@ -281,6 +282,7 @@ def oav_full_screen(params: OAVConfig | None = None) -> OAVBeamCentrePV:
281
282
  prefix=f"{PREFIX.beamline_prefix}-DI-OAV-01:",
282
283
  config=params or OAVConfig(ZOOM_PARAMS_FILE),
283
284
  overlay_channel=3,
285
+ mjpeg_prefix="XTAL",
284
286
  )
285
287
 
286
288
 
@@ -320,6 +322,8 @@ def oav_to_redis_forwarder() -> OAVToRedisForwarder:
320
322
  """
321
323
  return OAVToRedisForwarder(
322
324
  f"{PREFIX.beamline_prefix}-DI-OAV-01:",
325
+ oav_roi=oav(),
326
+ oav_fs=oav_full_screen(),
323
327
  redis_host=RedisConstants.REDIS_HOST,
324
328
  redis_password=RedisConstants.REDIS_PASSWORD,
325
329
  redis_db=RedisConstants.MURKO_REDIS_DB,
@@ -374,3 +378,14 @@ def scintillator() -> Scintillator:
374
378
  Reference(aperture_scatterguard()),
375
379
  get_beamline_parameters(),
376
380
  )
381
+
382
+
383
+ @device_factory()
384
+ def beamsize() -> Beamsize:
385
+ """Get the i04 beamsize device, instantiate it if it hasn't already been.
386
+ If this is called when already instantiated in i04, it will return the existing object.
387
+ """
388
+ return Beamsize(
389
+ transfocator=transfocator(),
390
+ aperture_scatterguard=aperture_scatterguard(),
391
+ )
@@ -0,0 +1,49 @@
1
+ from dodal.beamline_specific_utils.i05_shared import pgm as i05_pgm
2
+ from dodal.common.beamlines.beamline_utils import (
3
+ device_factory,
4
+ )
5
+ from dodal.common.beamlines.beamline_utils import set_beamline as set_utils_beamline
6
+ from dodal.devices.apple2_undulator import (
7
+ Apple2,
8
+ UndulatorGap,
9
+ UndulatorLockedPhaseAxes,
10
+ )
11
+ from dodal.devices.pgm import PlaneGratingMonochromator
12
+ from dodal.devices.synchrotron import Synchrotron
13
+ from dodal.log import set_beamline as set_log_beamline
14
+ from dodal.utils import BeamlinePrefix, get_beamline_name
15
+
16
+ BL = get_beamline_name("i05")
17
+ PREFIX = BeamlinePrefix(BL)
18
+ set_log_beamline(BL)
19
+ set_utils_beamline(BL)
20
+
21
+
22
+ @device_factory()
23
+ def synchrotron() -> Synchrotron:
24
+ return Synchrotron()
25
+
26
+
27
+ @device_factory()
28
+ def pgm() -> PlaneGratingMonochromator:
29
+ return i05_pgm()
30
+
31
+
32
+ @device_factory()
33
+ def id_gap() -> UndulatorGap:
34
+ return UndulatorGap(prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:")
35
+
36
+
37
+ @device_factory()
38
+ def id_phase() -> UndulatorLockedPhaseAxes:
39
+ return UndulatorLockedPhaseAxes(
40
+ prefix=f"{PREFIX.insertion_prefix}-MO-SERVC-01:",
41
+ top_outer="PL",
42
+ btm_inner="PU",
43
+ )
44
+
45
+
46
+ @device_factory()
47
+ def id() -> Apple2:
48
+ """i05 insertion device."""
49
+ return Apple2(id_gap=id_gap(), id_phase=id_phase())