dls-dodal 1.68.0__tar.gz → 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1042) hide show
  1. dls_dodal-2.0.0/.copier-answers.yml +19 -0
  2. dls_dodal-2.0.0/.devcontainer/devcontainer.json +72 -0
  3. dls_dodal-2.0.0/.github/CONTRIBUTING.md +27 -0
  4. dls_dodal-2.0.0/.github/workflows/_dist.yml +36 -0
  5. dls_dodal-2.0.0/.github/workflows/_docs.yml +58 -0
  6. dls_dodal-2.0.0/.github/workflows/_test.yml +62 -0
  7. dls_dodal-2.0.0/.github/workflows/_tox.yml +25 -0
  8. dls_dodal-2.0.0/.github/workflows/ci.yml +49 -0
  9. dls_dodal-2.0.0/.github/workflows/periodic.yml +13 -0
  10. dls_dodal-2.0.0/.gitleaks.toml +19 -0
  11. dls_dodal-2.0.0/.pre-commit-config.yaml +45 -0
  12. dls_dodal-2.0.0/.python-version +1 -0
  13. dls_dodal-2.0.0/Dockerfile +8 -0
  14. dls_dodal-2.0.0/PKG-INFO +276 -0
  15. dls_dodal-2.0.0/docs/how-to/build-docs.md +47 -0
  16. dls_dodal-2.0.0/docs/how-to/convert-beamline-to-device-manager.md +131 -0
  17. dls_dodal-2.0.0/docs/how-to/coverage.md +12 -0
  18. dls_dodal-2.0.0/docs/how-to/create-beamline.md +129 -0
  19. dls_dodal-2.0.0/docs/how-to/create-device.md +74 -0
  20. dls_dodal-2.0.0/docs/how-to/dev-install.md +59 -0
  21. dls_dodal-2.0.0/docs/how-to/lint.md +34 -0
  22. dls_dodal-2.0.0/docs/how-to/lock-requirements.md +43 -0
  23. dls_dodal-2.0.0/docs/how-to/run-tests.md +64 -0
  24. dls_dodal-2.0.0/docs/how-to/static-analysis.md +7 -0
  25. dls_dodal-2.0.0/docs/how-to/write-tests.md +152 -0
  26. dls_dodal-2.0.0/docs/reference/glossary.md +50 -0
  27. dls_dodal-2.0.0/docs/reference/style-guide.md +39 -0
  28. dls_dodal-2.0.0/pyproject.toml +312 -0
  29. dls_dodal-2.0.0/renovate.json +37 -0
  30. dls_dodal-2.0.0/src/dls_dodal.egg-info/PKG-INFO +276 -0
  31. dls_dodal-2.0.0/src/dls_dodal.egg-info/SOURCES.txt +722 -0
  32. dls_dodal-2.0.0/src/dls_dodal.egg-info/requires.txt +19 -0
  33. dls_dodal-2.0.0/src/dodal/_version.py +34 -0
  34. dls_dodal-2.0.0/src/dodal/beamlines/__init__.py +91 -0
  35. dls_dodal-2.0.0/src/dodal/beamlines/adsim.py +88 -0
  36. dls_dodal-2.0.0/src/dodal/beamlines/b01_1.py +110 -0
  37. dls_dodal-2.0.0/src/dodal/beamlines/b07.py +42 -0
  38. dls_dodal-2.0.0/src/dodal/beamlines/b07_1.py +52 -0
  39. dls_dodal-2.0.0/src/dodal/beamlines/b07_shared.py +12 -0
  40. dls_dodal-2.0.0/src/dodal/beamlines/b16.py +68 -0
  41. dls_dodal-2.0.0/src/dodal/beamlines/b21.py +159 -0
  42. dls_dodal-2.0.0/src/dodal/beamlines/i02_1.py +89 -0
  43. dls_dodal-2.0.0/src/dodal/beamlines/i02_2.py +26 -0
  44. dls_dodal-2.0.0/src/dodal/beamlines/i03.py +365 -0
  45. dls_dodal-2.0.0/src/dodal/beamlines/i03_supervisor.py +19 -0
  46. dls_dodal-2.0.0/src/dodal/beamlines/i04.py +315 -0
  47. dls_dodal-2.0.0/src/dodal/beamlines/i05.py +19 -0
  48. dls_dodal-2.0.0/src/dodal/beamlines/i05_1.py +13 -0
  49. dls_dodal-2.0.0/src/dodal/beamlines/i05_shared.py +51 -0
  50. dls_dodal-2.0.0/src/dodal/beamlines/i06_1.py +26 -0
  51. dls_dodal-2.0.0/src/dodal/beamlines/i06_shared.py +73 -0
  52. dls_dodal-2.0.0/src/dodal/beamlines/i07.py +39 -0
  53. dls_dodal-2.0.0/src/dodal/beamlines/i09.py +106 -0
  54. dls_dodal-2.0.0/src/dodal/beamlines/i09_1.py +53 -0
  55. dls_dodal-2.0.0/src/dodal/beamlines/i09_1_shared.py +61 -0
  56. dls_dodal-2.0.0/src/dodal/beamlines/i09_2.py +19 -0
  57. dls_dodal-2.0.0/src/dodal/beamlines/i09_2_shared.py +110 -0
  58. dls_dodal-2.0.0/src/dodal/beamlines/i10.py +180 -0
  59. dls_dodal-2.0.0/src/dodal/beamlines/i10_1.py +124 -0
  60. dls_dodal-2.0.0/src/dodal/beamlines/i10_shared.py +274 -0
  61. dls_dodal-2.0.0/src/dodal/beamlines/i11.py +139 -0
  62. dls_dodal-2.0.0/src/dodal/beamlines/i13_1.py +58 -0
  63. dls_dodal-2.0.0/src/dodal/beamlines/i15.py +242 -0
  64. dls_dodal-2.0.0/src/dodal/beamlines/i15_1.py +156 -0
  65. dls_dodal-2.0.0/src/dodal/beamlines/i16.py +34 -0
  66. dls_dodal-2.0.0/src/dodal/beamlines/i17.py +109 -0
  67. dls_dodal-2.0.0/src/dodal/beamlines/i18.py +131 -0
  68. dls_dodal-2.0.0/src/dodal/beamlines/i19_1.py +164 -0
  69. dls_dodal-2.0.0/src/dodal/beamlines/i19_2.py +156 -0
  70. dls_dodal-2.0.0/src/dodal/beamlines/i19_optics.py +49 -0
  71. dls_dodal-2.0.0/src/dodal/beamlines/i20_1.py +94 -0
  72. dls_dodal-2.0.0/src/dodal/beamlines/i21.py +131 -0
  73. dls_dodal-2.0.0/src/dodal/beamlines/i22.py +306 -0
  74. dls_dodal-2.0.0/src/dodal/beamlines/i23.py +103 -0
  75. dls_dodal-2.0.0/src/dodal/beamlines/i24.py +169 -0
  76. dls_dodal-2.0.0/src/dodal/beamlines/k07.py +128 -0
  77. dls_dodal-2.0.0/src/dodal/beamlines/p38.py +211 -0
  78. dls_dodal-2.0.0/src/dodal/beamlines/p60.py +69 -0
  79. dls_dodal-2.0.0/src/dodal/beamlines/p99.py +93 -0
  80. dls_dodal-2.0.0/src/dodal/beamlines/training_rig.py +59 -0
  81. dls_dodal-2.0.0/src/dodal/cli.py +175 -0
  82. dls_dodal-2.0.0/src/dodal/common/__init__.py +17 -0
  83. dls_dodal-2.0.0/src/dodal/common/beamlines/beamline_parameters.py +75 -0
  84. dls_dodal-2.0.0/src/dodal/common/beamlines/beamline_utils.py +178 -0
  85. dls_dodal-2.0.0/src/dodal/common/beamlines/commissioning_mode.py +36 -0
  86. dls_dodal-2.0.0/src/dodal/common/coordination.py +39 -0
  87. dls_dodal-2.0.0/src/dodal/common/crystal_metadata.py +58 -0
  88. dls_dodal-2.0.0/src/dodal/common/device_utils.py +46 -0
  89. dls_dodal-2.0.0/src/dodal/common/maths.py +118 -0
  90. dls_dodal-2.0.0/src/dodal/common/udc_directory_provider.py +61 -0
  91. dls_dodal-2.0.0/src/dodal/common/visit.py +149 -0
  92. dls_dodal-2.0.0/src/dodal/common/watcher_utils.py +84 -0
  93. dls_dodal-2.0.0/src/dodal/device_manager.py +644 -0
  94. dls_dodal-2.0.0/src/dodal/devices/aperturescatterguard.py +374 -0
  95. dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins/cam.py +27 -0
  96. dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins/mjpg.py +91 -0
  97. dls_dodal-2.0.0/src/dodal/devices/attenuator/attenuator.py +164 -0
  98. dls_dodal-2.0.0/src/dodal/devices/beamlines/b07/__init__.py +3 -0
  99. dls_dodal-2.0.0/src/dodal/devices/beamlines/b07_1/__init__.py +12 -0
  100. dls_dodal-2.0.0/src/dodal/devices/beamlines/b07_1/ccmc.py +74 -0
  101. dls_dodal-2.0.0/src/dodal/devices/beamlines/b16/detector.py +24 -0
  102. dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1/fast_grid_scan.py +60 -0
  103. dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1/sample_motors.py +19 -0
  104. dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/beamsize.py +39 -0
  105. dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/dcm.py +61 -0
  106. dls_dodal-2.0.0/src/dodal/devices/beamlines/i03/undulator_dcm.py +68 -0
  107. dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/beam_centre.py +151 -0
  108. dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/beamsize.py +49 -0
  109. dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/max_pixel.py +25 -0
  110. dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/murko_results.py +296 -0
  111. dls_dodal-2.0.0/src/dodal/devices/beamlines/i04/transfocator.py +78 -0
  112. dls_dodal-2.0.0/src/dodal/devices/beamlines/i05/__init__.py +3 -0
  113. dls_dodal-2.0.0/src/dodal/devices/beamlines/i06_shared/__init__.py +3 -0
  114. dls_dodal-2.0.0/src/dodal/devices/beamlines/i06_shared/i06_enum.py +7 -0
  115. dls_dodal-2.0.0/src/dodal/devices/beamlines/i07/dcm.py +32 -0
  116. dls_dodal-2.0.0/src/dodal/devices/beamlines/i07/id.py +37 -0
  117. dls_dodal-2.0.0/src/dodal/devices/beamlines/i09/__init__.py +3 -0
  118. dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_1_shared/hard_energy.py +111 -0
  119. dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_1_shared/hard_undulator_functions.py +178 -0
  120. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/diagnostics.py +220 -0
  121. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/i10_apple2.py +183 -0
  122. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor/rasor_current_amp.py +49 -0
  123. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor/rasor_motors.py +48 -0
  124. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/slits.py +158 -0
  125. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/__init__.py +9 -0
  126. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet/magnet.py +16 -0
  127. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet/stages.py +14 -0
  128. dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/scaler_cards.py +13 -0
  129. dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/cyberstar_blower.py +34 -0
  130. dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/diff_stages.py +53 -0
  131. dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/mythen.py +164 -0
  132. dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/nx100robot.py +153 -0
  133. dls_dodal-2.0.0/src/dodal/devices/beamlines/i11/spinner.py +30 -0
  134. dls_dodal-2.0.0/src/dodal/devices/beamlines/i13_1/merlin.py +32 -0
  135. dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/dcm.py +38 -0
  136. dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/focussing_mirror.py +55 -0
  137. dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/jack.py +31 -0
  138. dls_dodal-2.0.0/src/dodal/devices/beamlines/i15/multilayer_mirror.py +21 -0
  139. dls_dodal-2.0.0/src/dodal/devices/beamlines/i17/i17_apple2.py +60 -0
  140. dls_dodal-2.0.0/src/dodal/devices/beamlines/i18/diode.py +50 -0
  141. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/attenuator_motor_squad.py +65 -0
  142. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/blueapi_device.py +111 -0
  143. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/piezo_control.py +72 -0
  144. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled/shutter.py +54 -0
  145. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/backlight.py +19 -0
  146. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/mapt_configuration.py +39 -0
  147. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/pin_col_stages.py +173 -0
  148. dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/pin_tip.py +32 -0
  149. dls_dodal-2.0.0/src/dodal/devices/beamlines/i21/__init__.py +3 -0
  150. dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/dcm.py +121 -0
  151. dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/fswitch.py +88 -0
  152. dls_dodal-2.0.0/src/dodal/devices/beamlines/i22/nxsas.py +167 -0
  153. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/beam_center.py +11 -0
  154. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/beamstop.py +33 -0
  155. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/commissioning_jungfrau.py +122 -0
  156. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/dcm.py +27 -0
  157. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/dual_backlight.py +59 -0
  158. dls_dodal-2.0.0/src/dodal/devices/beamlines/i24/pmac.py +234 -0
  159. dls_dodal-2.0.0/src/dodal/devices/beamlines/p60/lab_xray_source.py +22 -0
  160. dls_dodal-2.0.0/src/dodal/devices/beamlines/p99/andor2_point.py +37 -0
  161. dls_dodal-2.0.0/src/dodal/devices/bimorph_mirror.py +143 -0
  162. dls_dodal-2.0.0/src/dodal/devices/collimation_table.py +37 -0
  163. dls_dodal-2.0.0/src/dodal/devices/common_dcm.py +134 -0
  164. dls_dodal-2.0.0/src/dodal/devices/controllers.py +23 -0
  165. dls_dodal-2.0.0/src/dodal/devices/cryostream.py +109 -0
  166. dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/current_amplifier.py +96 -0
  167. dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +108 -0
  168. dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/femto.py +137 -0
  169. dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/sr570.py +209 -0
  170. dls_dodal-2.0.0/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +79 -0
  171. dls_dodal-2.0.0/src/dodal/devices/detector/det_resolution.py +92 -0
  172. dls_dodal-2.0.0/src/dodal/devices/detector/detector.py +138 -0
  173. dls_dodal-2.0.0/src/dodal/devices/diamond_filter.py +33 -0
  174. dls_dodal-2.0.0/src/dodal/devices/eiger.py +458 -0
  175. dls_dodal-2.0.0/src/dodal/devices/eiger_odin.py +174 -0
  176. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/__init__.py +58 -0
  177. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_controller.py +84 -0
  178. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_detector.py +209 -0
  179. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_driver_io.py +224 -0
  180. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_enums.py +6 -0
  181. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_region.py +200 -0
  182. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/base_util.py +35 -0
  183. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/base/energy_sources.py +96 -0
  184. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/specs/specs_detector.py +47 -0
  185. dls_dodal-2.0.0/src/dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +53 -0
  186. dls_dodal-2.0.0/src/dodal/devices/eurotherm.py +127 -0
  187. dls_dodal-2.0.0/src/dodal/devices/fast_grid_scan.py +484 -0
  188. dls_dodal-2.0.0/src/dodal/devices/fast_shutter.py +155 -0
  189. dls_dodal-2.0.0/src/dodal/devices/flux.py +14 -0
  190. dls_dodal-2.0.0/src/dodal/devices/focusing_mirror.py +238 -0
  191. dls_dodal-2.0.0/src/dodal/devices/hutch_shutter.py +105 -0
  192. dls_dodal-2.0.0/src/dodal/devices/insertion_device/__init__.py +70 -0
  193. dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple2_controller.py +371 -0
  194. dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple2_undulator.py +406 -0
  195. dls_dodal-2.0.0/src/dodal/devices/insertion_device/apple_knot_controller.py +222 -0
  196. dls_dodal-2.0.0/src/dodal/devices/insertion_device/energy.py +161 -0
  197. dls_dodal-2.0.0/src/dodal/devices/insertion_device/energy_motor_lookup.py +81 -0
  198. dls_dodal-2.0.0/src/dodal/devices/insertion_device/lookup_table_models.py +312 -0
  199. dls_dodal-2.0.0/src/dodal/devices/insertion_device/polarisation.py +36 -0
  200. dls_dodal-2.0.0/src/dodal/devices/ipin.py +31 -0
  201. dls_dodal-2.0.0/src/dodal/devices/linkam3.py +60 -0
  202. dls_dodal-2.0.0/src/dodal/devices/motors.py +361 -0
  203. dls_dodal-2.0.0/src/dodal/devices/mx_phase1/beamstop.py +112 -0
  204. dls_dodal-2.0.0/src/dodal/devices/oav/oav_calculations.py +73 -0
  205. dls_dodal-2.0.0/src/dodal/devices/oav/oav_detector.py +330 -0
  206. dls_dodal-2.0.0/src/dodal/devices/oav/oav_parameters.py +187 -0
  207. dls_dodal-2.0.0/src/dodal/devices/oav/oav_to_redis_forwarder.py +178 -0
  208. dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/__init__.py +167 -0
  209. dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/manual_test.py +33 -0
  210. dls_dodal-2.0.0/src/dodal/devices/oav/pin_image_recognition/utils.py +271 -0
  211. dls_dodal-2.0.0/src/dodal/devices/oav/snapshots/grid_overlay.py +119 -0
  212. dls_dodal-2.0.0/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +76 -0
  213. dls_dodal-2.0.0/src/dodal/devices/oav/utils.py +135 -0
  214. dls_dodal-2.0.0/src/dodal/devices/p45.py +37 -0
  215. dls_dodal-2.0.0/src/dodal/devices/pgm.py +34 -0
  216. dls_dodal-2.0.0/src/dodal/devices/pressure_jump_cell.py +338 -0
  217. dls_dodal-2.0.0/src/dodal/devices/qbpm.py +16 -0
  218. dls_dodal-2.0.0/src/dodal/devices/robot.py +227 -0
  219. dls_dodal-2.0.0/src/dodal/devices/s4_slit_gaps.py +12 -0
  220. dls_dodal-2.0.0/src/dodal/devices/selectable_source.py +41 -0
  221. dls_dodal-2.0.0/src/dodal/devices/slits.py +54 -0
  222. dls_dodal-2.0.0/src/dodal/devices/smargon.py +134 -0
  223. dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +178 -0
  224. dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +98 -0
  225. dls_dodal-2.0.0/src/dodal/devices/tetramm.py +283 -0
  226. dls_dodal-2.0.0/src/dodal/devices/turbo_slit.py +32 -0
  227. dls_dodal-2.0.0/src/dodal/devices/undulator.py +257 -0
  228. dls_dodal-2.0.0/src/dodal/devices/util/adjuster_plans.py +24 -0
  229. dls_dodal-2.0.0/src/dodal/devices/util/epics_util.py +128 -0
  230. dls_dodal-2.0.0/src/dodal/devices/util/lookup_tables.py +109 -0
  231. dls_dodal-2.0.0/src/dodal/devices/v2f.py +38 -0
  232. dls_dodal-2.0.0/src/dodal/devices/watsonmarlow323_pump.py +45 -0
  233. dls_dodal-2.0.0/src/dodal/devices/xbpm_feedback.py +35 -0
  234. dls_dodal-2.0.0/src/dodal/devices/xspress3/xspress3.py +141 -0
  235. dls_dodal-2.0.0/src/dodal/devices/xspress3/xspress3_channel.py +37 -0
  236. dls_dodal-2.0.0/src/dodal/devices/zebra/zebra.py +310 -0
  237. dls_dodal-2.0.0/src/dodal/devices/zebra/zebra_constants_mapping.py +101 -0
  238. dls_dodal-2.0.0/src/dodal/devices/zebra/zebra_controlled_shutter.py +53 -0
  239. dls_dodal-2.0.0/src/dodal/devices/zocalo/zocalo_interaction.py +111 -0
  240. dls_dodal-2.0.0/src/dodal/devices/zocalo/zocalo_results.py +347 -0
  241. dls_dodal-2.0.0/src/dodal/log.py +294 -0
  242. dls_dodal-2.0.0/src/dodal/plan_stubs/check_topup.py +137 -0
  243. dls_dodal-2.0.0/src/dodal/plan_stubs/data_session.py +62 -0
  244. dls_dodal-2.0.0/src/dodal/plan_stubs/motor_utils.py +121 -0
  245. dls_dodal-2.0.0/src/dodal/plan_stubs/pressure_jump_cell.py +18 -0
  246. dls_dodal-2.0.0/src/dodal/plan_stubs/wrapped.py +133 -0
  247. dls_dodal-2.0.0/src/dodal/plans/bimorph.py +344 -0
  248. dls_dodal-2.0.0/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +188 -0
  249. dls_dodal-2.0.0/src/dodal/plans/device_setup_plans/__init__.py +5 -0
  250. dls_dodal-2.0.0/src/dodal/plans/device_setup_plans/setup_pin_tip_params.py +63 -0
  251. dls_dodal-2.0.0/src/dodal/plans/preprocessors/verify_undulator_gap.py +51 -0
  252. dls_dodal-2.0.0/src/dodal/plans/spec_path.py +64 -0
  253. dls_dodal-2.0.0/src/dodal/plans/verify_undulator_gap.py +18 -0
  254. dls_dodal-2.0.0/src/dodal/plans/wrapped.py +58 -0
  255. dls_dodal-2.0.0/src/dodal/testing/electron_analyser/device_factory.py +57 -0
  256. dls_dodal-2.0.0/src/dodal/testing/fixtures/devices/apple2.py +116 -0
  257. dls_dodal-2.0.0/src/dodal/testing/fixtures/run_engine.py +118 -0
  258. dls_dodal-2.0.0/src/dodal/testing/fixtures/utils.py +56 -0
  259. dls_dodal-2.0.0/src/dodal/utils.py +567 -0
  260. dls_dodal-2.0.0/system_tests/test_adsim.py +224 -0
  261. dls_dodal-2.0.0/system_tests/test_cli.py +49 -0
  262. dls_dodal-2.0.0/tests/beamlines/test_b16.py +66 -0
  263. dls_dodal-2.0.0/tests/beamlines/test_i24.py +13 -0
  264. dls_dodal-2.0.0/tests/common/beamlines/test_beamline_utils.py +232 -0
  265. dls_dodal-2.0.0/tests/common/beamlines/test_device_instantiation.py +65 -0
  266. dls_dodal-2.0.0/tests/common/test_maths.py +110 -0
  267. dls_dodal-2.0.0/tests/conftest.py +169 -0
  268. dls_dodal-2.0.0/tests/devices/beamlines/b07_1/test_ccmc.py +109 -0
  269. dls_dodal-2.0.0/tests/devices/beamlines/i02_1/test_fast_grid_scan.py +22 -0
  270. dls_dodal-2.0.0/tests/devices/beamlines/i03/test_beamsize.py +43 -0
  271. dls_dodal-2.0.0/tests/devices/beamlines/i03/test_dcm.py +43 -0
  272. dls_dodal-2.0.0/tests/devices/beamlines/i03/test_undulator_dcm.py +244 -0
  273. dls_dodal-2.0.0/tests/devices/beamlines/i04/conftest.py +11 -0
  274. dls_dodal-2.0.0/tests/devices/beamlines/i04/test_beam_centre.py +209 -0
  275. dls_dodal-2.0.0/tests/devices/beamlines/i04/test_beamsize.py +50 -0
  276. dls_dodal-2.0.0/tests/devices/beamlines/i04/test_max_pixel.py +56 -0
  277. dls_dodal-2.0.0/tests/devices/beamlines/i04/test_murko_results.py +849 -0
  278. dls_dodal-2.0.0/tests/devices/beamlines/i04/test_transfocator.py +48 -0
  279. dls_dodal-2.0.0/tests/devices/beamlines/i07/test_dcm.py +36 -0
  280. dls_dodal-2.0.0/tests/devices/beamlines/i07/test_id.py +34 -0
  281. dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared/test_hard_energy.py +243 -0
  282. dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared/test_undulator_functions.py +76 -0
  283. dls_dodal-2.0.0/tests/devices/beamlines/i09_2_shared/test_i09_apple2.py +372 -0
  284. dls_dodal-2.0.0/tests/devices/beamlines/i10/test_i10_apple2.py +728 -0
  285. dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet/test_magnet.py +16 -0
  286. dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet/test_stages.py +16 -0
  287. dls_dodal-2.0.0/tests/devices/beamlines/i10_1/test_scaler_cards.py +24 -0
  288. dls_dodal-2.0.0/tests/devices/beamlines/i11/test_i11devices.py +204 -0
  289. dls_dodal-2.0.0/tests/devices/beamlines/i11/test_mythen.py +86 -0
  290. dls_dodal-2.0.0/tests/devices/beamlines/i13_1/test_merlin.py +106 -0
  291. dls_dodal-2.0.0/tests/devices/beamlines/i17/test_i17_apple2.py +70 -0
  292. dls_dodal-2.0.0/tests/devices/beamlines/i18/test_kb_mirror.py +36 -0
  293. dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_attenuator_motor_squad.py +136 -0
  294. dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_attenuator_position_demand.py +145 -0
  295. dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_piezo_control.py +174 -0
  296. dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled/test_shutter.py +215 -0
  297. dls_dodal-2.0.0/tests/devices/beamlines/i19/test_backlight.py +18 -0
  298. dls_dodal-2.0.0/tests/devices/beamlines/i19/test_beamstop.py +15 -0
  299. dls_dodal-2.0.0/tests/devices/beamlines/i19/test_diffractometer.py +39 -0
  300. dls_dodal-2.0.0/tests/devices/beamlines/i19/test_mapt.py +63 -0
  301. dls_dodal-2.0.0/tests/devices/beamlines/i19/test_pin_col.py +157 -0
  302. dls_dodal-2.0.0/tests/devices/beamlines/i22/test_dcm.py +128 -0
  303. dls_dodal-2.0.0/tests/devices/beamlines/i22/test_fswitch.py +61 -0
  304. dls_dodal-2.0.0/tests/devices/beamlines/i22/test_metadataholder.py +38 -0
  305. dls_dodal-2.0.0/tests/devices/beamlines/i24/test_commissioning_jungfrau.py +69 -0
  306. dls_dodal-2.0.0/tests/devices/beamlines/i24/test_dual_backlight.py +70 -0
  307. dls_dodal-2.0.0/tests/devices/beamlines/i24/test_focus_mirrors.py +32 -0
  308. dls_dodal-2.0.0/tests/devices/beamlines/i24/test_pmac.py +149 -0
  309. dls_dodal-2.0.0/tests/devices/beamlines/i24/test_vgonio.py +24 -0
  310. dls_dodal-2.0.0/tests/devices/beamlines/p60/test_lab_xray_source.py +117 -0
  311. dls_dodal-2.0.0/tests/devices/beamlines/p99/test_p99_stage.py +45 -0
  312. dls_dodal-2.0.0/tests/devices/current_amplifier/test_femto.py +306 -0
  313. dls_dodal-2.0.0/tests/devices/current_amplifier/test_sr570.py +306 -0
  314. dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_controller.py +210 -0
  315. dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_detector.py +212 -0
  316. dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_driver_io.py +68 -0
  317. dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_base_region.py +155 -0
  318. dls_dodal-2.0.0/tests/devices/electron_analyser/base/test_energy_sources.py +94 -0
  319. dls_dodal-2.0.0/tests/devices/electron_analyser/conftest.py +131 -0
  320. dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_detector.py +46 -0
  321. dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_driver_io.py +208 -0
  322. dls_dodal-2.0.0/tests/devices/electron_analyser/specs/test_specs_region.py +103 -0
  323. dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_detector.py +41 -0
  324. dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_driver_io.py +216 -0
  325. dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta/test_vgsicenta_region.py +125 -0
  326. dls_dodal-2.0.0/tests/devices/insertion_device/conftest.py +144 -0
  327. dls_dodal-2.0.0/tests/devices/insertion_device/test_apple2_controller.py +146 -0
  328. dls_dodal-2.0.0/tests/devices/insertion_device/test_apple2_undulator.py +473 -0
  329. dls_dodal-2.0.0/tests/devices/insertion_device/test_apple_knot_path_finder.py +248 -0
  330. dls_dodal-2.0.0/tests/devices/insertion_device/test_apple_knot_undulator.py +194 -0
  331. dls_dodal-2.0.0/tests/devices/insertion_device/test_energy.py +222 -0
  332. dls_dodal-2.0.0/tests/devices/insertion_device/test_polarisation.py +48 -0
  333. dls_dodal-2.0.0/tests/devices/insertion_device/util.py +35 -0
  334. dls_dodal-2.0.0/tests/devices/mx_phase1/test_beamstop.py +134 -0
  335. dls_dodal-2.0.0/tests/devices/oav/test_snapshots.py +190 -0
  336. dls_dodal-2.0.0/tests/devices/test_aperture_scatterguard.py +571 -0
  337. dls_dodal-2.0.0/tests/devices/test_bart_robot.py +307 -0
  338. dls_dodal-2.0.0/tests/devices/test_bimorph_mirror.py +162 -0
  339. dls_dodal-2.0.0/tests/devices/test_eiger.py +783 -0
  340. dls_dodal-2.0.0/tests/devices/test_fast_shutters.py +181 -0
  341. dls_dodal-2.0.0/tests/devices/test_focusing_mirror.py +267 -0
  342. dls_dodal-2.0.0/tests/devices/test_gridscan.py +602 -0
  343. dls_dodal-2.0.0/tests/devices/test_motors.py +360 -0
  344. dls_dodal-2.0.0/tests/devices/test_pressure_jump_cell.py +588 -0
  345. dls_dodal-2.0.0/tests/devices/test_selectable_source.py +44 -0
  346. dls_dodal-2.0.0/tests/devices/test_synchrotron.py +216 -0
  347. dls_dodal-2.0.0/tests/devices/test_tetramm.py +323 -0
  348. dls_dodal-2.0.0/tests/devices/test_zocalo_interaction.py +111 -0
  349. dls_dodal-2.0.0/tests/fake_beamline_misbehaving_builtins.py +42 -0
  350. dls_dodal-2.0.0/tests/plan_stubs/test_pressure_jump_cell_stubs.py +46 -0
  351. dls_dodal-2.0.0/tests/plans/__init__.py +0 -0
  352. dls_dodal-2.0.0/tests/plans/conftest.py +86 -0
  353. dls_dodal-2.0.0/tests/plans/device_setup_plans/__init__.py +0 -0
  354. dls_dodal-2.0.0/tests/plans/device_setup_plans/test_setup_pin_tip.py +35 -0
  355. dls_dodal-2.0.0/tests/plans/test_compliance.py +77 -0
  356. dls_dodal-2.0.0/tests/plans/test_preprocessors/__init__.py +0 -0
  357. dls_dodal-2.0.0/tests/preprocessors/__init__.py +0 -0
  358. dls_dodal-2.0.0/tests/test_cli.py +390 -0
  359. dls_dodal-2.0.0/tests/test_data/scintillator_with_beam.jpg +0 -0
  360. dls_dodal-2.0.0/tests/test_device_manager.py +922 -0
  361. dls_dodal-2.0.0/tests/test_utils.py +486 -0
  362. dls_dodal-2.0.0/tests/testing/__init__.py +0 -0
  363. dls_dodal-2.0.0/tests/testing/fixtures/__init__.py +0 -0
  364. dls_dodal-2.0.0/uv.lock +3968 -0
  365. dls_dodal-1.68.0/.copier-answers.yml +0 -19
  366. dls_dodal-1.68.0/.devcontainer/devcontainer.json +0 -46
  367. dls_dodal-1.68.0/.github/CONTRIBUTING.md +0 -27
  368. dls_dodal-1.68.0/.github/actions/install_requirements/action.yml +0 -35
  369. dls_dodal-1.68.0/.github/dependabot.yml +0 -28
  370. dls_dodal-1.68.0/.github/scripts/check_test_durations.py +0 -30
  371. dls_dodal-1.68.0/.github/workflows/_dist.yml +0 -35
  372. dls_dodal-1.68.0/.github/workflows/_docs.yml +0 -55
  373. dls_dodal-1.68.0/.github/workflows/_test.yml +0 -88
  374. dls_dodal-1.68.0/.github/workflows/_tox.yml +0 -27
  375. dls_dodal-1.68.0/.github/workflows/ci.yml +0 -54
  376. dls_dodal-1.68.0/.github/workflows/periodic.yml +0 -13
  377. dls_dodal-1.68.0/.pre-commit-config.yaml +0 -37
  378. dls_dodal-1.68.0/Dockerfile +0 -13
  379. dls_dodal-1.68.0/PKG-INFO +0 -306
  380. dls_dodal-1.68.0/docs/how-to/build-docs.md +0 -39
  381. dls_dodal-1.68.0/docs/how-to/coverage.md +0 -12
  382. dls_dodal-1.68.0/docs/how-to/create-beamline.md +0 -88
  383. dls_dodal-1.68.0/docs/how-to/create-device.md +0 -66
  384. dls_dodal-1.68.0/docs/how-to/dev-install.md +0 -60
  385. dls_dodal-1.68.0/docs/how-to/lint.md +0 -34
  386. dls_dodal-1.68.0/docs/how-to/lock-requirements.md +0 -39
  387. dls_dodal-1.68.0/docs/how-to/run-tests.md +0 -61
  388. dls_dodal-1.68.0/docs/how-to/static-analysis.md +0 -7
  389. dls_dodal-1.68.0/docs/how-to/write-tests.md +0 -152
  390. dls_dodal-1.68.0/pyproject.toml +0 -225
  391. dls_dodal-1.68.0/src/dls_dodal.egg-info/PKG-INFO +0 -306
  392. dls_dodal-1.68.0/src/dls_dodal.egg-info/SOURCES.txt +0 -676
  393. dls_dodal-1.68.0/src/dls_dodal.egg-info/requires.txt +0 -50
  394. dls_dodal-1.68.0/src/dodal/_version.py +0 -34
  395. dls_dodal-1.68.0/src/dodal/beamline_specific_utils/i05_shared.py +0 -14
  396. dls_dodal-1.68.0/src/dodal/beamlines/__init__.py +0 -98
  397. dls_dodal-1.68.0/src/dodal/beamlines/adsim.py +0 -81
  398. dls_dodal-1.68.0/src/dodal/beamlines/b01_1.py +0 -99
  399. dls_dodal-1.68.0/src/dodal/beamlines/b07.py +0 -46
  400. dls_dodal-1.68.0/src/dodal/beamlines/b07_1.py +0 -54
  401. dls_dodal-1.68.0/src/dodal/beamlines/b16.py +0 -68
  402. dls_dodal-1.68.0/src/dodal/beamlines/b21.py +0 -150
  403. dls_dodal-1.68.0/src/dodal/beamlines/i02_1.py +0 -117
  404. dls_dodal-1.68.0/src/dodal/beamlines/i02_2.py +0 -32
  405. dls_dodal-1.68.0/src/dodal/beamlines/i03.py +0 -362
  406. dls_dodal-1.68.0/src/dodal/beamlines/i04.py +0 -412
  407. dls_dodal-1.68.0/src/dodal/beamlines/i05.py +0 -49
  408. dls_dodal-1.68.0/src/dodal/beamlines/i05_1.py +0 -22
  409. dls_dodal-1.68.0/src/dodal/beamlines/i06.py +0 -62
  410. dls_dodal-1.68.0/src/dodal/beamlines/i07.py +0 -41
  411. dls_dodal-1.68.0/src/dodal/beamlines/i09.py +0 -59
  412. dls_dodal-1.68.0/src/dodal/beamlines/i09_1.py +0 -84
  413. dls_dodal-1.68.0/src/dodal/beamlines/i09_2.py +0 -113
  414. dls_dodal-1.68.0/src/dodal/beamlines/i10.py +0 -174
  415. dls_dodal-1.68.0/src/dodal/beamlines/i10_1.py +0 -35
  416. dls_dodal-1.68.0/src/dodal/beamlines/i10_optics.py +0 -260
  417. dls_dodal-1.68.0/src/dodal/beamlines/i11.py +0 -126
  418. dls_dodal-1.68.0/src/dodal/beamlines/i13_1.py +0 -58
  419. dls_dodal-1.68.0/src/dodal/beamlines/i15.py +0 -242
  420. dls_dodal-1.68.0/src/dodal/beamlines/i15_1.py +0 -156
  421. dls_dodal-1.68.0/src/dodal/beamlines/i16.py +0 -23
  422. dls_dodal-1.68.0/src/dodal/beamlines/i17.py +0 -100
  423. dls_dodal-1.68.0/src/dodal/beamlines/i18.py +0 -132
  424. dls_dodal-1.68.0/src/dodal/beamlines/i19_1.py +0 -103
  425. dls_dodal-1.68.0/src/dodal/beamlines/i19_2.py +0 -140
  426. dls_dodal-1.68.0/src/dodal/beamlines/i19_optics.py +0 -36
  427. dls_dodal-1.68.0/src/dodal/beamlines/i20_1.py +0 -88
  428. dls_dodal-1.68.0/src/dodal/beamlines/i21.py +0 -116
  429. dls_dodal-1.68.0/src/dodal/beamlines/i22.py +0 -291
  430. dls_dodal-1.68.0/src/dodal/beamlines/i23.py +0 -110
  431. dls_dodal-1.68.0/src/dodal/beamlines/i24.py +0 -218
  432. dls_dodal-1.68.0/src/dodal/beamlines/k07.py +0 -34
  433. dls_dodal-1.68.0/src/dodal/beamlines/p38.py +0 -211
  434. dls_dodal-1.68.0/src/dodal/beamlines/p60.py +0 -48
  435. dls_dodal-1.68.0/src/dodal/beamlines/p99.py +0 -92
  436. dls_dodal-1.68.0/src/dodal/beamlines/training_rig.py +0 -51
  437. dls_dodal-1.68.0/src/dodal/cli.py +0 -141
  438. dls_dodal-1.68.0/src/dodal/common/__init__.py +0 -16
  439. dls_dodal-1.68.0/src/dodal/common/beamlines/beamline_parameters.py +0 -74
  440. dls_dodal-1.68.0/src/dodal/common/beamlines/beamline_utils.py +0 -176
  441. dls_dodal-1.68.0/src/dodal/common/beamlines/commissioning_mode.py +0 -33
  442. dls_dodal-1.68.0/src/dodal/common/coordination.py +0 -41
  443. dls_dodal-1.68.0/src/dodal/common/crystal_metadata.py +0 -61
  444. dls_dodal-1.68.0/src/dodal/common/device_utils.py +0 -45
  445. dls_dodal-1.68.0/src/dodal/common/maths.py +0 -50
  446. dls_dodal-1.68.0/src/dodal/common/udc_directory_provider.py +0 -56
  447. dls_dodal-1.68.0/src/dodal/common/visit.py +0 -152
  448. dls_dodal-1.68.0/src/dodal/common/watcher_utils.py +0 -83
  449. dls_dodal-1.68.0/src/dodal/device_manager.py +0 -604
  450. dls_dodal-1.68.0/src/dodal/devices/aperturescatterguard.py +0 -375
  451. dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins/cam.py +0 -29
  452. dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins/mjpg.py +0 -90
  453. dls_dodal-1.68.0/src/dodal/devices/attenuator/attenuator.py +0 -163
  454. dls_dodal-1.68.0/src/dodal/devices/b07/__init__.py +0 -3
  455. dls_dodal-1.68.0/src/dodal/devices/b07_1/__init__.py +0 -12
  456. dls_dodal-1.68.0/src/dodal/devices/b07_1/ccmc.py +0 -79
  457. dls_dodal-1.68.0/src/dodal/devices/b16/detector.py +0 -25
  458. dls_dodal-1.68.0/src/dodal/devices/bimorph_mirror.py +0 -141
  459. dls_dodal-1.68.0/src/dodal/devices/collimation_table.py +0 -36
  460. dls_dodal-1.68.0/src/dodal/devices/common_dcm.py +0 -124
  461. dls_dodal-1.68.0/src/dodal/devices/controllers.py +0 -23
  462. dls_dodal-1.68.0/src/dodal/devices/cryostream.py +0 -101
  463. dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/current_amplifier.py +0 -98
  464. dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/current_amplifier_detector.py +0 -109
  465. dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/femto.py +0 -138
  466. dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/sr570.py +0 -209
  467. dls_dodal-1.68.0/src/dodal/devices/current_amplifiers/struck_scaler_counter.py +0 -79
  468. dls_dodal-1.68.0/src/dodal/devices/detector/det_resolution.py +0 -91
  469. dls_dodal-1.68.0/src/dodal/devices/detector/detector.py +0 -136
  470. dls_dodal-1.68.0/src/dodal/devices/diamond_filter.py +0 -34
  471. dls_dodal-1.68.0/src/dodal/devices/eiger.py +0 -443
  472. dls_dodal-1.68.0/src/dodal/devices/eiger_odin.py +0 -174
  473. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/__init__.py +0 -58
  474. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_controller.py +0 -73
  475. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_detector.py +0 -214
  476. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_driver_io.py +0 -231
  477. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_enums.py +0 -11
  478. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_region.py +0 -202
  479. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/base_util.py +0 -33
  480. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/base/energy_sources.py +0 -101
  481. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/specs/specs_detector.py +0 -46
  482. dls_dodal-1.68.0/src/dodal/devices/electron_analyser/vgscienta/vgscienta_detector.py +0 -52
  483. dls_dodal-1.68.0/src/dodal/devices/eurotherm.py +0 -126
  484. dls_dodal-1.68.0/src/dodal/devices/fast_grid_scan.py +0 -487
  485. dls_dodal-1.68.0/src/dodal/devices/fast_shutter.py +0 -69
  486. dls_dodal-1.68.0/src/dodal/devices/flux.py +0 -14
  487. dls_dodal-1.68.0/src/dodal/devices/focusing_mirror.py +0 -220
  488. dls_dodal-1.68.0/src/dodal/devices/hutch_shutter.py +0 -105
  489. dls_dodal-1.68.0/src/dodal/devices/i02_1/fast_grid_scan.py +0 -61
  490. dls_dodal-1.68.0/src/dodal/devices/i02_1/sample_motors.py +0 -19
  491. dls_dodal-1.68.0/src/dodal/devices/i03/beamsize.py +0 -35
  492. dls_dodal-1.68.0/src/dodal/devices/i03/dcm.py +0 -62
  493. dls_dodal-1.68.0/src/dodal/devices/i03/undulator_dcm.py +0 -69
  494. dls_dodal-1.68.0/src/dodal/devices/i04/beamsize.py +0 -45
  495. dls_dodal-1.68.0/src/dodal/devices/i04/max_pixel.py +0 -38
  496. dls_dodal-1.68.0/src/dodal/devices/i04/murko_results.py +0 -281
  497. dls_dodal-1.68.0/src/dodal/devices/i04/transfocator.py +0 -83
  498. dls_dodal-1.68.0/src/dodal/devices/i05/__init__.py +0 -3
  499. dls_dodal-1.68.0/src/dodal/devices/i07/dcm.py +0 -33
  500. dls_dodal-1.68.0/src/dodal/devices/i07/id.py +0 -38
  501. dls_dodal-1.68.0/src/dodal/devices/i09/__init__.py +0 -3
  502. dls_dodal-1.68.0/src/dodal/devices/i09_1_shared/hard_energy.py +0 -112
  503. dls_dodal-1.68.0/src/dodal/devices/i09_1_shared/hard_undulator_functions.py +0 -175
  504. dls_dodal-1.68.0/src/dodal/devices/i10/diagnostics.py +0 -219
  505. dls_dodal-1.68.0/src/dodal/devices/i10/i10_apple2.py +0 -197
  506. dls_dodal-1.68.0/src/dodal/devices/i10/rasor/rasor_current_amp.py +0 -72
  507. dls_dodal-1.68.0/src/dodal/devices/i10/rasor/rasor_motors.py +0 -48
  508. dls_dodal-1.68.0/src/dodal/devices/i10/slits.py +0 -156
  509. dls_dodal-1.68.0/src/dodal/devices/i11/cyberstar_blower.py +0 -34
  510. dls_dodal-1.68.0/src/dodal/devices/i11/diff_stages.py +0 -55
  511. dls_dodal-1.68.0/src/dodal/devices/i11/mythen.py +0 -165
  512. dls_dodal-1.68.0/src/dodal/devices/i11/nx100robot.py +0 -153
  513. dls_dodal-1.68.0/src/dodal/devices/i11/spinner.py +0 -30
  514. dls_dodal-1.68.0/src/dodal/devices/i13_1/merlin.py +0 -32
  515. dls_dodal-1.68.0/src/dodal/devices/i15/dcm.py +0 -39
  516. dls_dodal-1.68.0/src/dodal/devices/i15/focussing_mirror.py +0 -55
  517. dls_dodal-1.68.0/src/dodal/devices/i15/jack.py +0 -31
  518. dls_dodal-1.68.0/src/dodal/devices/i15/multilayer_mirror.py +0 -21
  519. dls_dodal-1.68.0/src/dodal/devices/i17/i17_apple2.py +0 -66
  520. dls_dodal-1.68.0/src/dodal/devices/i18/diode.py +0 -50
  521. dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/attenuator_motor_squad.py +0 -61
  522. dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/blueapi_device.py +0 -110
  523. dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled/shutter.py +0 -52
  524. dls_dodal-1.68.0/src/dodal/devices/i19/backlight.py +0 -17
  525. dls_dodal-1.68.0/src/dodal/devices/i19/mapt_configuration.py +0 -38
  526. dls_dodal-1.68.0/src/dodal/devices/i19/pin_col_stages.py +0 -170
  527. dls_dodal-1.68.0/src/dodal/devices/i21/__init__.py +0 -5
  528. dls_dodal-1.68.0/src/dodal/devices/i22/dcm.py +0 -122
  529. dls_dodal-1.68.0/src/dodal/devices/i22/fswitch.py +0 -90
  530. dls_dodal-1.68.0/src/dodal/devices/i22/nxsas.py +0 -166
  531. dls_dodal-1.68.0/src/dodal/devices/i24/beam_center.py +0 -11
  532. dls_dodal-1.68.0/src/dodal/devices/i24/beamstop.py +0 -33
  533. dls_dodal-1.68.0/src/dodal/devices/i24/commissioning_jungfrau.py +0 -122
  534. dls_dodal-1.68.0/src/dodal/devices/i24/dcm.py +0 -29
  535. dls_dodal-1.68.0/src/dodal/devices/i24/dual_backlight.py +0 -59
  536. dls_dodal-1.68.0/src/dodal/devices/i24/pmac.py +0 -232
  537. dls_dodal-1.68.0/src/dodal/devices/insertion_device/__init__.py +0 -58
  538. dls_dodal-1.68.0/src/dodal/devices/insertion_device/apple2_undulator.py +0 -809
  539. dls_dodal-1.68.0/src/dodal/devices/insertion_device/energy_motor_lookup.py +0 -88
  540. dls_dodal-1.68.0/src/dodal/devices/insertion_device/lookup_table_models.py +0 -317
  541. dls_dodal-1.68.0/src/dodal/devices/ipin.py +0 -31
  542. dls_dodal-1.68.0/src/dodal/devices/linkam3.py +0 -58
  543. dls_dodal-1.68.0/src/dodal/devices/motors.py +0 -273
  544. dls_dodal-1.68.0/src/dodal/devices/mx_phase1/beamstop.py +0 -114
  545. dls_dodal-1.68.0/src/dodal/devices/oav/oav_calculations.py +0 -66
  546. dls_dodal-1.68.0/src/dodal/devices/oav/oav_detector.py +0 -260
  547. dls_dodal-1.68.0/src/dodal/devices/oav/oav_parameters.py +0 -192
  548. dls_dodal-1.68.0/src/dodal/devices/oav/oav_to_redis_forwarder.py +0 -174
  549. dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/__init__.py +0 -169
  550. dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/manual_test.py +0 -34
  551. dls_dodal-1.68.0/src/dodal/devices/oav/pin_image_recognition/utils.py +0 -273
  552. dls_dodal-1.68.0/src/dodal/devices/oav/snapshots/grid_overlay.py +0 -118
  553. dls_dodal-1.68.0/src/dodal/devices/oav/snapshots/snapshot_image_processing.py +0 -74
  554. dls_dodal-1.68.0/src/dodal/devices/oav/utils.py +0 -121
  555. dls_dodal-1.68.0/src/dodal/devices/p45.py +0 -43
  556. dls_dodal-1.68.0/src/dodal/devices/p60/lab_xray_source.py +0 -22
  557. dls_dodal-1.68.0/src/dodal/devices/p99/andor2_point.py +0 -41
  558. dls_dodal-1.68.0/src/dodal/devices/pgm.py +0 -40
  559. dls_dodal-1.68.0/src/dodal/devices/pressure_jump_cell.py +0 -277
  560. dls_dodal-1.68.0/src/dodal/devices/qbpm.py +0 -18
  561. dls_dodal-1.68.0/src/dodal/devices/robot.py +0 -202
  562. dls_dodal-1.68.0/src/dodal/devices/s4_slit_gaps.py +0 -12
  563. dls_dodal-1.68.0/src/dodal/devices/slits.py +0 -57
  564. dls_dodal-1.68.0/src/dodal/devices/smargon.py +0 -135
  565. dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore.py +0 -204
  566. dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore/lakeshore_io.py +0 -112
  567. dls_dodal-1.68.0/src/dodal/devices/tetramm.py +0 -283
  568. dls_dodal-1.68.0/src/dodal/devices/turbo_slit.py +0 -31
  569. dls_dodal-1.68.0/src/dodal/devices/undulator.py +0 -271
  570. dls_dodal-1.68.0/src/dodal/devices/util/adjuster_plans.py +0 -25
  571. dls_dodal-1.68.0/src/dodal/devices/util/epics_util.py +0 -128
  572. dls_dodal-1.68.0/src/dodal/devices/util/lookup_tables.py +0 -110
  573. dls_dodal-1.68.0/src/dodal/devices/v2f.py +0 -39
  574. dls_dodal-1.68.0/src/dodal/devices/watsonmarlow323_pump.py +0 -45
  575. dls_dodal-1.68.0/src/dodal/devices/xbpm_feedback.py +0 -34
  576. dls_dodal-1.68.0/src/dodal/devices/xspress3/xspress3.py +0 -144
  577. dls_dodal-1.68.0/src/dodal/devices/xspress3/xspress3_channel.py +0 -40
  578. dls_dodal-1.68.0/src/dodal/devices/zebra/zebra.py +0 -296
  579. dls_dodal-1.68.0/src/dodal/devices/zebra/zebra_constants_mapping.py +0 -96
  580. dls_dodal-1.68.0/src/dodal/devices/zebra/zebra_controlled_shutter.py +0 -52
  581. dls_dodal-1.68.0/src/dodal/devices/zocalo/zocalo_interaction.py +0 -111
  582. dls_dodal-1.68.0/src/dodal/devices/zocalo/zocalo_results.py +0 -347
  583. dls_dodal-1.68.0/src/dodal/log.py +0 -291
  584. dls_dodal-1.68.0/src/dodal/plan_stubs/check_topup.py +0 -137
  585. dls_dodal-1.68.0/src/dodal/plan_stubs/data_session.py +0 -62
  586. dls_dodal-1.68.0/src/dodal/plan_stubs/motor_utils.py +0 -117
  587. dls_dodal-1.68.0/src/dodal/plan_stubs/wrapped.py +0 -148
  588. dls_dodal-1.68.0/src/dodal/plans/bimorph.py +0 -333
  589. dls_dodal-1.68.0/src/dodal/plans/configure_arm_trigger_and_disarm_detector.py +0 -189
  590. dls_dodal-1.68.0/src/dodal/plans/preprocessors/verify_undulator_gap.py +0 -49
  591. dls_dodal-1.68.0/src/dodal/plans/spec_path.py +0 -66
  592. dls_dodal-1.68.0/src/dodal/plans/verify_undulator_gap.py +0 -19
  593. dls_dodal-1.68.0/src/dodal/plans/wrapped.py +0 -57
  594. dls_dodal-1.68.0/src/dodal/testing/electron_analyser/device_factory.py +0 -59
  595. dls_dodal-1.68.0/src/dodal/testing/fixtures/devices/apple2.py +0 -78
  596. dls_dodal-1.68.0/src/dodal/testing/fixtures/run_engine.py +0 -122
  597. dls_dodal-1.68.0/src/dodal/testing/fixtures/utils.py +0 -57
  598. dls_dodal-1.68.0/src/dodal/utils.py +0 -565
  599. dls_dodal-1.68.0/system_tests/test_adsim.py +0 -238
  600. dls_dodal-1.68.0/system_tests/test_cli.py +0 -48
  601. dls_dodal-1.68.0/tests/beamlines/test_b16.py +0 -60
  602. dls_dodal-1.68.0/tests/beamlines/test_i24.py +0 -13
  603. dls_dodal-1.68.0/tests/common/beamlines/test_beamline_utils.py +0 -211
  604. dls_dodal-1.68.0/tests/common/beamlines/test_device_instantiation.py +0 -66
  605. dls_dodal-1.68.0/tests/common/test_maths.py +0 -63
  606. dls_dodal-1.68.0/tests/conftest.py +0 -161
  607. dls_dodal-1.68.0/tests/devices/b07_1/test_ccmc.py +0 -109
  608. dls_dodal-1.68.0/tests/devices/current_amplifier/test_femto.py +0 -306
  609. dls_dodal-1.68.0/tests/devices/current_amplifier/test_sr570.py +0 -306
  610. dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_controller.py +0 -115
  611. dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_detector.py +0 -212
  612. dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_driver_io.py +0 -68
  613. dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_base_region.py +0 -155
  614. dls_dodal-1.68.0/tests/devices/electron_analyser/base/test_energy_sources.py +0 -93
  615. dls_dodal-1.68.0/tests/devices/electron_analyser/conftest.py +0 -121
  616. dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_detector.py +0 -46
  617. dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_driver_io.py +0 -208
  618. dls_dodal-1.68.0/tests/devices/electron_analyser/specs/test_specs_region.py +0 -102
  619. dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_detector.py +0 -41
  620. dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgscienta_driver_io.py +0 -216
  621. dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta/test_vgsicenta_region.py +0 -124
  622. dls_dodal-1.68.0/tests/devices/i02_1/test_fast_grid_scan.py +0 -22
  623. dls_dodal-1.68.0/tests/devices/i03/test_beamsize.py +0 -43
  624. dls_dodal-1.68.0/tests/devices/i03/test_dcm.py +0 -43
  625. dls_dodal-1.68.0/tests/devices/i03/test_undulator_dcm.py +0 -244
  626. dls_dodal-1.68.0/tests/devices/i04/conftest.py +0 -11
  627. dls_dodal-1.68.0/tests/devices/i04/test_beamsize.py +0 -50
  628. dls_dodal-1.68.0/tests/devices/i04/test_max_pixel.py +0 -71
  629. dls_dodal-1.68.0/tests/devices/i04/test_murko_results.py +0 -809
  630. dls_dodal-1.68.0/tests/devices/i04/test_transfocator.py +0 -55
  631. dls_dodal-1.68.0/tests/devices/i07/test_dcm.py +0 -36
  632. dls_dodal-1.68.0/tests/devices/i07/test_id.py +0 -28
  633. dls_dodal-1.68.0/tests/devices/i09_1_shared/test_hard_energy.py +0 -243
  634. dls_dodal-1.68.0/tests/devices/i09_1_shared/test_undulator_functions.py +0 -73
  635. dls_dodal-1.68.0/tests/devices/i09_2_shared/test_i09_apple2.py +0 -372
  636. dls_dodal-1.68.0/tests/devices/i10/test_i10_apple2.py +0 -726
  637. dls_dodal-1.68.0/tests/devices/i11/test_i11devices.py +0 -200
  638. dls_dodal-1.68.0/tests/devices/i11/test_mythen.py +0 -81
  639. dls_dodal-1.68.0/tests/devices/i13_1/test_merlin.py +0 -106
  640. dls_dodal-1.68.0/tests/devices/i17/test_i17_apple2.py +0 -70
  641. dls_dodal-1.68.0/tests/devices/i18/test_kb_mirror.py +0 -38
  642. dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_attenuator_motor_squad.py +0 -134
  643. dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_attenuator_position_demand.py +0 -145
  644. dls_dodal-1.68.0/tests/devices/i19/access_controlled/test_shutter.py +0 -212
  645. dls_dodal-1.68.0/tests/devices/i19/test_backlight.py +0 -18
  646. dls_dodal-1.68.0/tests/devices/i19/test_beamstop.py +0 -15
  647. dls_dodal-1.68.0/tests/devices/i19/test_diffractometer.py +0 -36
  648. dls_dodal-1.68.0/tests/devices/i19/test_mapt.py +0 -63
  649. dls_dodal-1.68.0/tests/devices/i19/test_pin_col.py +0 -157
  650. dls_dodal-1.68.0/tests/devices/i22/test_dcm.py +0 -128
  651. dls_dodal-1.68.0/tests/devices/i22/test_fswitch.py +0 -61
  652. dls_dodal-1.68.0/tests/devices/i22/test_metadataholder.py +0 -38
  653. dls_dodal-1.68.0/tests/devices/i24/test_commissioning_jungfrau.py +0 -69
  654. dls_dodal-1.68.0/tests/devices/i24/test_dual_backlight.py +0 -70
  655. dls_dodal-1.68.0/tests/devices/i24/test_focus_mirrors.py +0 -28
  656. dls_dodal-1.68.0/tests/devices/i24/test_pmac.py +0 -149
  657. dls_dodal-1.68.0/tests/devices/i24/test_vgonio.py +0 -24
  658. dls_dodal-1.68.0/tests/devices/insertion_device/conftest.py +0 -44
  659. dls_dodal-1.68.0/tests/devices/insertion_device/test_apple2_undulator.py +0 -463
  660. dls_dodal-1.68.0/tests/devices/insertion_device/util.py +0 -37
  661. dls_dodal-1.68.0/tests/devices/mx_phase1/test_beamstop.py +0 -134
  662. dls_dodal-1.68.0/tests/devices/oav/test_snapshots.py +0 -188
  663. dls_dodal-1.68.0/tests/devices/p60/test_lab_xray_source.py +0 -114
  664. dls_dodal-1.68.0/tests/devices/p99/test_p99_stage.py +0 -47
  665. dls_dodal-1.68.0/tests/devices/test_aperture_scatterguard.py +0 -570
  666. dls_dodal-1.68.0/tests/devices/test_bart_robot.py +0 -301
  667. dls_dodal-1.68.0/tests/devices/test_bimorph_mirror.py +0 -162
  668. dls_dodal-1.68.0/tests/devices/test_eiger.py +0 -780
  669. dls_dodal-1.68.0/tests/devices/test_fast_shutters.py +0 -47
  670. dls_dodal-1.68.0/tests/devices/test_focusing_mirror.py +0 -255
  671. dls_dodal-1.68.0/tests/devices/test_gridscan.py +0 -602
  672. dls_dodal-1.68.0/tests/devices/test_motors.py +0 -244
  673. dls_dodal-1.68.0/tests/devices/test_pressure_jump_cell.py +0 -416
  674. dls_dodal-1.68.0/tests/devices/test_synchrotron.py +0 -217
  675. dls_dodal-1.68.0/tests/devices/test_tetramm.py +0 -323
  676. dls_dodal-1.68.0/tests/devices/test_zocalo_interaction.py +0 -113
  677. dls_dodal-1.68.0/tests/fake_beamline_misbehaving_builtins.py +0 -47
  678. dls_dodal-1.68.0/tests/plans/conftest.py +0 -86
  679. dls_dodal-1.68.0/tests/plans/test_compliance.py +0 -78
  680. dls_dodal-1.68.0/tests/test_cli.py +0 -343
  681. dls_dodal-1.68.0/tests/test_device_manager.py +0 -763
  682. dls_dodal-1.68.0/tests/test_utils.py +0 -511
  683. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/CODEOWNERS +0 -0
  684. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/ISSUE_TEMPLATE/issue_template.md +0 -0
  685. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/pages/index.html +0 -0
  686. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/pages/make_switcher.py +0 -0
  687. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/workflows/_pypi.yml +0 -0
  688. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.github/workflows/_release.yml +0 -0
  689. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.gitignore +0 -0
  690. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/extensions.json +0 -0
  691. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/launch.json +0 -0
  692. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/settings.json +0 -0
  693. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/.vscode/tasks.json +0 -0
  694. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/LICENSE +0 -0
  695. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/README.md +0 -0
  696. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/catalog-info.yaml +0 -0
  697. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/autosummary/class.rst +0 -0
  698. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/autosummary/module.rst +0 -0
  699. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/_templates/custom-module-template.rst +0 -0
  700. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/assets/where-to-put-dodal-logic.png +0 -0
  701. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/assets/zocalo.png +0 -0
  702. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/conf.py +0 -0
  703. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  704. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  705. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0003-codeowners.md +0 -0
  706. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0004-make-devices-factory.md +0 -0
  707. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0005-standardise-devices-at-epics-level.md +0 -0
  708. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/0006-devices-shared-between-endstations.md +0 -0
  709. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions/COPYME +0 -0
  710. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/decisions.md +0 -0
  711. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/reviews.md +0 -0
  712. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/umls/apple2_design.png +0 -0
  713. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations/umls/i10_id_design.png +0 -0
  714. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/explanations.md +0 -0
  715. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/genindex.md +0 -0
  716. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/contribute.md +0 -0
  717. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/excalidraw.md +0 -0
  718. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/external-io-devices.md +0 -0
  719. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/make-release.md +0 -0
  720. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/move-code.md +0 -0
  721. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/pypi.md +0 -0
  722. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/tidy-docs.md +0 -0
  723. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/update-template.md +0 -0
  724. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to/zocalo.md +0 -0
  725. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/how-to.md +0 -0
  726. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/images/dls-logo.svg +0 -0
  727. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/images/excalidraw-example.svg +0 -0
  728. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/index.md +0 -0
  729. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/api.md +0 -0
  730. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/device-standards.md +0 -0
  731. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference/standards.md +0 -0
  732. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/reference.md +0 -0
  733. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials/get_started.md +0 -0
  734. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials/installation.md +0 -0
  735. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/docs/tutorials.md +0 -0
  736. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/pull_request_template.md +0 -0
  737. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/setup.cfg +0 -0
  738. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/__init__.py +0 -0
  739. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/dependency_links.txt +0 -0
  740. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/entry_points.txt +0 -0
  741. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dls_dodal.egg-info/top_level.txt +0 -0
  742. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/__init__.py +0 -0
  743. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/__main__.py +0 -0
  744. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/README.md +0 -0
  745. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/aithre.py +0 -0
  746. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/b18.py +0 -0
  747. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/k11.py +0 -0
  748. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/beamlines/p45.py +0 -0
  749. {dls_dodal-1.68.0/src/dodal/beamline_specific_utils → dls_dodal-2.0.0/src/dodal/common/beamlines}/__init__.py +0 -0
  750. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/beamlines/device_helpers.py +0 -0
  751. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/data_util.py +0 -0
  752. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/enums.py +0 -0
  753. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/common/types.py +0 -0
  754. {dls_dodal-1.68.0/src/dodal/common/beamlines → dls_dodal-2.0.0/src/dodal/devices}/__init__.py +0 -0
  755. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/aithre_lasershaping}/__init__.py +0 -0
  756. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aithre_lasershaping/goniometer.py +0 -0
  757. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aithre_lasershaping/laser_robot.py +0 -0
  758. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/aperture.py +0 -0
  759. {dls_dodal-1.68.0/src/dodal/devices/aithre_lasershaping → dls_dodal-2.0.0/src/dodal/devices/areadetector}/__init__.py +0 -0
  760. {dls_dodal-1.68.0/src/dodal/devices/areadetector → dls_dodal-2.0.0/src/dodal/devices/areadetector/plugins}/__init__.py +0 -0
  761. {dls_dodal-1.68.0/src/dodal/devices/areadetector/plugins → dls_dodal-2.0.0/src/dodal/devices/attenuator}/__init__.py +0 -0
  762. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/attenuator/filter.py +0 -0
  763. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/attenuator/filter_selections.py +0 -0
  764. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/backlight.py +0 -0
  765. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/baton.py +0 -0
  766. {dls_dodal-1.68.0/src/dodal/devices/attenuator → dls_dodal-2.0.0/src/dodal/devices/beamlines}/__init__.py +0 -0
  767. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b07/enums.py +0 -0
  768. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b07_1/enums.py +0 -0
  769. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/b16/__init__.py +0 -0
  770. {dls_dodal-1.68.0/src/dodal/devices/beamsize → dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_1}/__init__.py +0 -0
  771. {dls_dodal-1.68.0/src/dodal/devices/electron_analyser → dls_dodal-2.0.0/src/dodal/devices/beamlines/i02_2}/__init__.py +0 -0
  772. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i03/__init__.py +0 -0
  773. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i03/constants.py +0 -0
  774. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i04/__init__.py +0 -0
  775. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i04/constants.py +0 -0
  776. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i05/enums.py +0 -0
  777. {dls_dodal-1.68.0/src/dodal/devices/i02_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i07}/__init__.py +0 -0
  778. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09/enums.py +0 -0
  779. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1/__init__.py +0 -0
  780. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1/enums.py +0 -0
  781. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_1_shared/__init__.py +0 -0
  782. {dls_dodal-1.68.0/src/dodal/devices/i02_2 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i09_2_shared}/__init__.py +0 -0
  783. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i09_2_shared/i09_apple2.py +0 -0
  784. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/__init__.py +0 -0
  785. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/i10_setting_data.py +0 -0
  786. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/mirrors.py +0 -0
  787. {dls_dodal-1.68.0/src/dodal/devices/i07 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i10/rasor}/__init__.py +0 -0
  788. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i10/rasor/rasor_scaler_cards.py +0 -0
  789. {dls_dodal-1.68.0/src/dodal/devices/i09_2_shared → dls_dodal-2.0.0/src/dodal/devices/beamlines/i10_1/electromagnet}/__init__.py +0 -0
  790. {dls_dodal-1.68.0/src/dodal/devices/i10/rasor → dls_dodal-2.0.0/src/dodal/devices/beamlines/i11}/__init__.py +0 -0
  791. {dls_dodal-1.68.0/src/dodal/devices/i11 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i13_1}/__init__.py +0 -0
  792. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i13_1/merlin_controller.py +0 -0
  793. {dls_dodal-1.68.0/src/dodal/devices/i13_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i15}/__init__.py +0 -0
  794. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/laue.py +0 -0
  795. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/motors.py +0 -0
  796. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i15/rail.py +0 -0
  797. {dls_dodal-1.68.0/src/dodal/devices/i15 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i17}/__init__.py +0 -0
  798. {dls_dodal-1.68.0/src/dodal/devices/i17 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i18}/__init__.py +0 -0
  799. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i18/kb_mirror.py +0 -0
  800. {dls_dodal-1.68.0/src/dodal/devices/i18 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i19}/__init__.py +0 -0
  801. {dls_dodal-1.68.0/src/dodal/devices/i19 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i19/access_controlled}/__init__.py +0 -0
  802. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/access_controlled/hutch_access.py +0 -0
  803. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/beamstop.py +0 -0
  804. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i19/diffractometer.py +0 -0
  805. {dls_dodal-1.68.0/src/dodal/devices/i19/access_controlled → dls_dodal-2.0.0/src/dodal/devices/beamlines/i20_1}/__init__.py +0 -0
  806. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i21/enums.py +0 -0
  807. {dls_dodal-1.68.0/src/dodal/devices/i20_1 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i22}/__init__.py +0 -0
  808. {dls_dodal-1.68.0/src/dodal/devices/i22 → dls_dodal-2.0.0/src/dodal/devices/beamlines/i24}/__init__.py +0 -0
  809. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/aperture.py +0 -0
  810. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/focus_mirrors.py +0 -0
  811. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/i24/vgonio.py +0 -0
  812. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p60/__init__.py +0 -0
  813. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p60/enums.py +0 -0
  814. {dls_dodal-1.68.0/src/dodal/devices/i24 → dls_dodal-2.0.0/src/dodal/devices/beamlines/p99}/__init__.py +0 -0
  815. {dls_dodal-1.68.0/src/dodal/devices → dls_dodal-2.0.0/src/dodal/devices/beamlines}/p99/sample_stage.py +0 -0
  816. {dls_dodal-1.68.0/src/dodal/devices/mx_phase1 → dls_dodal-2.0.0/src/dodal/devices/beamsize}/__init__.py +0 -0
  817. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/beamsize/beamsize.py +0 -0
  818. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/current_amplifiers/__init__.py +0 -0
  819. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/__init__.py +0 -0
  820. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/det_dim_constants.py +0 -0
  821. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/det_dist_to_beam_converter.py +0 -0
  822. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/detector/detector_motion.py +0 -0
  823. {dls_dodal-1.68.0/src/dodal/devices/oav → dls_dodal-2.0.0/src/dodal/devices/electron_analyser}/__init__.py +0 -0
  824. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/__init__.py +0 -0
  825. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_driver_io.py +0 -0
  826. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_enums.py +0 -0
  827. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/specs/specs_region.py +0 -0
  828. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/__init__.py +0 -0
  829. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_driver_io.py +0 -0
  830. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_enums.py +0 -0
  831. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/electron_analyser/vgscienta/vgscienta_region.py +0 -0
  832. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/fluorescence_detector_motion.py +0 -0
  833. /dls_dodal-1.68.0/src/dodal/devices/insertion_device/id_enum.py → /dls_dodal-2.0.0/src/dodal/devices/insertion_device/enum.py +0 -0
  834. {dls_dodal-1.68.0/src/dodal/devices/oav/snapshots → dls_dodal-2.0.0/src/dodal/devices/mx_phase1}/__init__.py +0 -0
  835. {dls_dodal-1.68.0/src/dodal/devices/p99 → dls_dodal-2.0.0/src/dodal/devices/oav}/__init__.py +0 -0
  836. {dls_dodal-1.68.0/src/dodal/devices/temperture_controller/lakeshore → dls_dodal-2.0.0/src/dodal/devices/oav/snapshots}/__init__.py +0 -0
  837. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/oav/snapshots/snapshot.py +0 -0
  838. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/oav/snapshots/snapshot_with_grid.py +0 -0
  839. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/positioner.py +0 -0
  840. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/scintillator.py +0 -0
  841. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/status.py +0 -0
  842. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/synchrotron.py +0 -0
  843. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/temperture_controller/__init__.py +0 -0
  844. {dls_dodal-1.68.0/src/dodal/devices/util → dls_dodal-2.0.0/src/dodal/devices/temperture_controller/lakeshore}/__init__.py +0 -0
  845. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/thawer.py +0 -0
  846. {dls_dodal-1.68.0/src/dodal/devices/xspress3 → dls_dodal-2.0.0/src/dodal/devices/util}/__init__.py +0 -0
  847. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/webcam.py +0 -0
  848. {dls_dodal-1.68.0/src/dodal/devices/zebra → dls_dodal-2.0.0/src/dodal/devices/xspress3}/__init__.py +0 -0
  849. {dls_dodal-1.68.0/src/dodal/parameters → dls_dodal-2.0.0/src/dodal/devices/zebra}/__init__.py +0 -0
  850. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/zocalo/__init__.py +0 -0
  851. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/devices/zocalo/zocalo_constants.py +0 -0
  852. {dls_dodal-1.68.0/src/dodal/plans/preprocessors → dls_dodal-2.0.0/src/dodal/parameters}/__init__.py +0 -0
  853. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/parameters/experiment_parameter_base.py +0 -0
  854. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plan_stubs/__init__.py +0 -0
  855. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/__init__.py +0 -0
  856. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/load_panda_yaml.py +0 -0
  857. {dls_dodal-1.68.0/src/dodal/testing/fixtures → dls_dodal-2.0.0/src/dodal/plans/preprocessors}/__init__.py +0 -0
  858. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/plans/save_panda.py +0 -0
  859. {dls_dodal-1.68.0/src/dodal/testing/fixtures/devices → dls_dodal-2.0.0/src/dodal/testing}/__init__.py +0 -0
  860. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/src/dodal/testing/electron_analyser/__init__.py +0 -0
  861. {dls_dodal-1.68.0/system_tests → dls_dodal-2.0.0/src/dodal/testing/fixtures}/__init__.py +0 -0
  862. {dls_dodal-1.68.0/tests → dls_dodal-2.0.0/src/dodal/testing/fixtures/devices}/__init__.py +0 -0
  863. {dls_dodal-1.68.0/tests/beamlines → dls_dodal-2.0.0/system_tests}/__init__.py +0 -0
  864. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/conftest.py +0 -0
  865. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/test_oav_system.py +0 -0
  866. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/system_tests/test_oav_to_redis_system.py +0 -0
  867. {dls_dodal-1.68.0/tests/common → dls_dodal-2.0.0/tests}/__init__.py +0 -0
  868. {dls_dodal-1.68.0/tests/common → dls_dodal-2.0.0/tests}/beamlines/__init__.py +0 -0
  869. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/beamlines/test_i03.py +0 -0
  870. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/beamlines/test_mapping.py +0 -0
  871. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/common}/__init__.py +0 -0
  872. {dls_dodal-1.68.0/tests/devices/aithre_lasershaping → dls_dodal-2.0.0/tests/common/beamlines}/__init__.py +0 -0
  873. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/beamlines/test_beamline_parameters.py +0 -0
  874. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/beamlines/test_commissioning_mode.py +0 -0
  875. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_coordination.py +0 -0
  876. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_crystal_metadata.py +0 -0
  877. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_udc_directory_provider.py +0 -0
  878. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_visit.py +0 -0
  879. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/common/test_watcher_utils.py +0 -0
  880. {dls_dodal-1.68.0/tests/devices/b07_1 → dls_dodal-2.0.0/tests/devices}/__init__.py +0 -0
  881. {dls_dodal-1.68.0/tests/devices/current_amplifier → dls_dodal-2.0.0/tests/devices/aithre_lasershaping}/__init__.py +0 -0
  882. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/aithre_lasershaping/test_goniometer.py +0 -0
  883. {dls_dodal-1.68.0/tests/devices/detector → dls_dodal-2.0.0/tests/devices/beamlines}/__init__.py +0 -0
  884. {dls_dodal-1.68.0/tests/devices/electron_analyser → dls_dodal-2.0.0/tests/devices/beamlines/b07_1}/__init__.py +0 -0
  885. {dls_dodal-1.68.0/tests/devices/electron_analyser/base → dls_dodal-2.0.0/tests/devices/beamlines/i02_1}/__init__.py +0 -0
  886. {dls_dodal-1.68.0/tests/devices/electron_analyser/specs → dls_dodal-2.0.0/tests/devices/beamlines/i03}/__init__.py +0 -0
  887. {dls_dodal-1.68.0/tests/devices/electron_analyser/vgscienta → dls_dodal-2.0.0/tests/devices/beamlines/i04}/__init__.py +0 -0
  888. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i07/IIDCalibrationTable.txt +0 -0
  889. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i07/__init__.py +0 -0
  890. {dls_dodal-1.68.0/tests/devices/i02_1 → dls_dodal-2.0.0/tests/devices/beamlines/i09}/__init__.py +0 -0
  891. {dls_dodal-1.68.0/tests/devices/i03 → dls_dodal-2.0.0/tests/devices/beamlines/i09_1}/__init__.py +0 -0
  892. {dls_dodal-1.68.0/tests/devices/i04 → dls_dodal-2.0.0/tests/devices/beamlines/i09_1_shared}/__init__.py +0 -0
  893. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_1_shared/test_data/__init__.py +0 -0
  894. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_1_shared/test_data/test_lookuptable_i09_hu.txt +0 -0
  895. {dls_dodal-1.68.0/tests/devices/i09 → dls_dodal-2.0.0/tests/devices/beamlines/i09_2_shared}/__init__.py +0 -0
  896. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/ExpectedJIDEnergy2GapCalibrations.json +0 -0
  897. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/ExpectedJIDEnergy2PhaseCalibrations.json +0 -0
  898. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/JIDEnergy2GapCalibrations.csv +0 -0
  899. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/JIDEnergy2PhaseCalibrations.csv +0 -0
  900. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i09_2_shared/test_data/__init__.py +0 -0
  901. {dls_dodal-1.68.0/tests/devices/i09_1 → dls_dodal-2.0.0/tests/devices/beamlines/i10}/__init__.py +0 -0
  902. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/IDEnergy2GapCalibrations.csv +0 -0
  903. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/IDEnergy2PhaseCalibrations.csv +0 -0
  904. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/__init__.py +0 -0
  905. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2GapCalibrationsIdd.json +0 -0
  906. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2GapCalibrationsIdu.json +0 -0
  907. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2PhaseCalibrationsidd.json +0 -0
  908. {dls_dodal-1.68.0/tests/devices → dls_dodal-2.0.0/tests/devices/beamlines}/i10/test_data/expectedIDEnergy2PhaseCalibrationsidu.json +0 -0
  909. {dls_dodal-1.68.0/tests/devices/i09_1_shared → dls_dodal-2.0.0/tests/devices/beamlines/i10_1}/__init__.py +0 -0
  910. {dls_dodal-1.68.0/tests/devices/i09_2_shared → dls_dodal-2.0.0/tests/devices/beamlines/i10_1/electromagnet}/__init__.py +0 -0
  911. {dls_dodal-1.68.0/tests/devices/i10 → dls_dodal-2.0.0/tests/devices/beamlines/i11}/__init__.py +0 -0
  912. {dls_dodal-1.68.0/tests/devices/i11 → dls_dodal-2.0.0/tests/devices/beamlines/i13_1}/__init__.py +0 -0
  913. {dls_dodal-1.68.0/tests/devices/i13_1 → dls_dodal-2.0.0/tests/devices/beamlines/i15}/__init__.py +0 -0
  914. {dls_dodal-1.68.0/tests/devices/i15 → dls_dodal-2.0.0/tests/devices/beamlines/i17}/__init__.py +0 -0
  915. {dls_dodal-1.68.0/tests/devices/i17 → dls_dodal-2.0.0/tests/devices/beamlines/i18}/__init__.py +0 -0
  916. {dls_dodal-1.68.0/tests/devices/i18 → dls_dodal-2.0.0/tests/devices/beamlines/i19}/__init__.py +0 -0
  917. {dls_dodal-1.68.0/tests/devices/i19 → dls_dodal-2.0.0/tests/devices/beamlines/i19/access_controlled}/__init__.py +0 -0
  918. {dls_dodal-1.68.0/tests/devices/i19/access_controlled → dls_dodal-2.0.0/tests/devices/beamlines/i22}/__init__.py +0 -0
  919. {dls_dodal-1.68.0/tests/devices/i22 → dls_dodal-2.0.0/tests/devices/beamlines/i24}/__init__.py +0 -0
  920. {dls_dodal-1.68.0/tests/devices/i24 → dls_dodal-2.0.0/tests/devices/beamlines/p60}/__init__.py +0 -0
  921. {dls_dodal-1.68.0/tests/devices/insertion_device → dls_dodal-2.0.0/tests/devices/beamlines/p99}/__init__.py +0 -0
  922. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/conftest.py +0 -0
  923. {dls_dodal-1.68.0/tests/devices/mx_phase1 → dls_dodal-2.0.0/tests/devices/current_amplifier}/__init__.py +0 -0
  924. {dls_dodal-1.68.0/tests/devices/oav → dls_dodal-2.0.0/tests/devices/detector}/__init__.py +0 -0
  925. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_data/__init__.py +0 -0
  926. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_data/test_det_dist_converter.txt +0 -0
  927. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_det_dim_constants.py +0 -0
  928. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_det_resolution.py +0 -0
  929. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/detector/test_detector.py +0 -0
  930. {dls_dodal-1.68.0/tests/devices/oav/image_recognition → dls_dodal-2.0.0/tests/devices/electron_analyser}/__init__.py +0 -0
  931. {dls_dodal-1.68.0/tests/devices/p60 → dls_dodal-2.0.0/tests/devices/electron_analyser/base}/__init__.py +0 -0
  932. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/base/test_base_util.py +0 -0
  933. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/__init__.py +0 -0
  934. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/assert_func.py +0 -0
  935. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/helper_util/sequence.py +0 -0
  936. {dls_dodal-1.68.0/tests/devices/p99 → dls_dodal-2.0.0/tests/devices/electron_analyser/specs}/__init__.py +0 -0
  937. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/__init__.py +0 -0
  938. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/specs_sequence.seq +0 -0
  939. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/electron_analyser/test_data/vgscienta_sequence.seq +0 -0
  940. {dls_dodal-1.68.0/tests/devices/temperature_controller → dls_dodal-2.0.0/tests/devices/electron_analyser/vgscienta}/__init__.py +0 -0
  941. {dls_dodal-1.68.0/tests/devices/temperature_controller/lakeshore → dls_dodal-2.0.0/tests/devices/insertion_device}/__init__.py +0 -0
  942. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/insertion_device/test_energy_motor_lookup.py +0 -0
  943. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/insertion_device/test_lookup_tables_models.py +0 -0
  944. {dls_dodal-1.68.0/tests/devices/util → dls_dodal-2.0.0/tests/devices/mx_phase1}/__init__.py +0 -0
  945. {dls_dodal-1.68.0/tests/fake_zocalo → dls_dodal-2.0.0/tests/devices/oav}/__init__.py +0 -0
  946. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/conftest.py +0 -0
  947. {dls_dodal-1.68.0/tests/plan_stubs → dls_dodal-2.0.0/tests/devices/oav/image_recognition}/__init__.py +0 -0
  948. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/image_recognition/test_pin_tip_detect.py +0 -0
  949. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/image_recognition/test_pin_tip_detect_utils.py +0 -0
  950. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/__init__.py +0 -0
  951. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/oav_snapshot_expected.png +0 -0
  952. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/oav_snapshot_test.png +0 -0
  953. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_data/test_OAVCentring.json +0 -0
  954. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_grid_overlay.py +0 -0
  955. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav.py +0 -0
  956. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_parameters.py +0 -0
  957. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_to_redis_forwarder.py +0 -0
  958. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_oav_utils.py +0 -0
  959. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/oav/test_snapshot_image_processing.py +0 -0
  960. {dls_dodal-1.68.0/tests/plans → dls_dodal-2.0.0/tests/devices/temperature_controller}/__init__.py +0 -0
  961. {dls_dodal-1.68.0/tests/plans/test_preprocessors → dls_dodal-2.0.0/tests/devices/temperature_controller/lakeshore}/__init__.py +0 -0
  962. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore.py +0 -0
  963. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/temperature_controller/lakeshore/test_lakeshore_io.py +0 -0
  964. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_aperture.py +0 -0
  965. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_attenuator.py +0 -0
  966. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_backlight.py +0 -0
  967. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_baton.py +0 -0
  968. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_beam_converter.py +0 -0
  969. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_common_dcm.py +0 -0
  970. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_controllers.py +0 -0
  971. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/__init__.py +0 -0
  972. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/domain/__init__.py +0 -0
  973. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/domain/beamlineParameters +0 -0
  974. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
  975. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
  976. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_daq_configuration/lookup/__init__.py +0 -0
  977. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/__init__.py +0 -0
  978. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/test_beamline_undulator_to_gap_lookup_table.txt +0 -0
  979. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_data/test_lookup_table.txt +0 -0
  980. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_diamond_filter.py +0 -0
  981. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_hutch_shutter.py +0 -0
  982. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_odin.py +0 -0
  983. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_positioner.py +0 -0
  984. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_qbpm.py +0 -0
  985. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_scintillator.py +0 -0
  986. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_slits.py +0 -0
  987. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_smargon.py +0 -0
  988. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_thawer.py +0 -0
  989. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_turbo_slit.py +0 -0
  990. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_undulator.py +0 -0
  991. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_utils.py +0 -0
  992. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_watsonmarlow323_pump.py +0 -0
  993. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_webcam.py +0 -0
  994. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_xbpm_feedback.py +0 -0
  995. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_xspress3.py +0 -0
  996. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra.py +0 -0
  997. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra_constants_mapping.py +0 -0
  998. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zebra_shutter.py +0 -0
  999. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/test_zocalo_results.py +0 -0
  1000. {dls_dodal-1.68.0/tests/preprocessors → dls_dodal-2.0.0/tests/devices/util}/__init__.py +0 -0
  1001. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_adjuster_plans.py +0 -0
  1002. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/__init__.py +0 -0
  1003. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter.txt +0 -0
  1004. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_non_monotonic.txt +0 -0
  1005. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_data/test_beamline_dcm_roll_converter_reversed.txt +0 -0
  1006. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/devices/util/test_lookup_tables.py +0 -0
  1007. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline.py +0 -0
  1008. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_all_devices_raise_exception.py +0 -0
  1009. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_broken_dependency.py +0 -0
  1010. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_dependencies.py +0 -0
  1011. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_disordered_dependencies.py +0 -0
  1012. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_beamline_some_devices_working.py +0 -0
  1013. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_device_factory_beamline.py +0 -0
  1014. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/README.rst +0 -0
  1015. {dls_dodal-1.68.0/tests/testing → dls_dodal-2.0.0/tests/fake_zocalo}/__init__.py +0 -0
  1016. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/__main__.py +0 -0
  1017. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/fake_zocalo/dls_start_fake_zocalo.sh +0 -0
  1018. {dls_dodal-1.68.0/tests/testing/fixtures → dls_dodal-2.0.0/tests/plan_stubs}/__init__.py +0 -0
  1019. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/__init__.py +0 -0
  1020. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/topup_long_delay.txt +0 -0
  1021. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data/topup_short_params.txt +0 -0
  1022. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_data_session.py +0 -0
  1023. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_motor_util_plans.py +0 -0
  1024. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_topup_plan.py +0 -0
  1025. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plan_stubs/test_wrapped_stubs.py +0 -0
  1026. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_bimorph.py +0 -0
  1027. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_configure_arm_trigger_and_disarm_detector.py +0 -0
  1028. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_load_panda_yaml.py +0 -0
  1029. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_preprocessors/test_verify_undulator_gap.py +0 -0
  1030. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_save_panda.py +0 -0
  1031. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_scanspec.py +0 -0
  1032. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_verify_undulator_gap_plan.py +0 -0
  1033. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/plans/test_wrapped.py +0 -0
  1034. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/preprocessors/test_filesystem_metadata.py +0 -0
  1035. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/__init__.py +0 -0
  1036. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/bad_beamlineParameters +0 -0
  1037. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/i04_beamlineParameters +0 -0
  1038. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_beamline_parameters.txt +0 -0
  1039. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_display.configuration +0 -0
  1040. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_data/test_oav_zoom_levels.xml +0 -0
  1041. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/test_log.py +0 -0
  1042. {dls_dodal-1.68.0 → dls_dodal-2.0.0}/tests/testing/fixtures/test_run_engine.py +0 -0
@@ -0,0 +1,19 @@
1
+ # Changes here will be overwritten by Copier
2
+ _commit: 5.0.1
3
+ _src_path: https://github.com/DiamondLightSource/python-copier-template
4
+ author_email: dominic.oram@diamond.ac.uk
5
+ author_name: Dominic Oram
6
+ component_lifecycle: production
7
+ component_owner: group:data-acquisition
8
+ component_type: library
9
+ description: Ophyd devices and other utils that could be used across DLS beamlines
10
+ distribution_name: dls-dodal # Can change to dodal https://github.com/DiamondLightSource/dodal/issues/681
11
+ docker: false
12
+ docs_type: sphinx
13
+ git_platform: github.com
14
+ github_org: DiamondLightSource
15
+ package_name: dodal
16
+ pypi: true
17
+ repo_name: dodal
18
+ strict_typing: false # Should move to strict typing in future
19
+ type_checker: pyright
@@ -0,0 +1,72 @@
1
+ // For format details, see https://containers.dev/implementors/json_reference/
2
+ {
3
+ "name": "Python 3 Developer Container",
4
+ "build": {
5
+ "dockerfile": "../Dockerfile",
6
+ "target": "developer"
7
+ },
8
+ "remoteEnv": {
9
+ // Allow X11 apps to run inside the container
10
+ "DISPLAY": "${localEnv:DISPLAY}",
11
+ // Put things that allow it in the persistent cache
12
+ "PRE_COMMIT_HOME": "/cache/pre-commit",
13
+ "UV_CACHE_DIR": "/cache/uv",
14
+ "UV_PYTHON_CACHE_DIR": "/cache/uv-python",
15
+ // Make a venv that is specific for this workspace path as the cache is shared
16
+ "UV_PROJECT_ENVIRONMENT": "/cache/venv-for${localWorkspaceFolder}",
17
+ // Do the equivalent of "activate" the venv so we don't have to "uv run" everything
18
+ "VIRTUAL_ENV": "/cache/venv-for${localWorkspaceFolder}",
19
+ "PATH": "/cache/venv-for${localWorkspaceFolder}/bin:${containerEnv:PATH}"
20
+ },
21
+ "customizations": {
22
+ "vscode": {
23
+ // Set *default* container specific settings.json values on container create.
24
+ "settings": {
25
+ // Use the container's python by default
26
+ "python.defaultInterpreterPath": "/cache/venv-for${localWorkspaceFolder}/bin/python",
27
+ // Don't activate the venv as it is already in the PATH
28
+ "python.terminal.activateEnvInCurrentTerminal": false,
29
+ "python.terminal.activateEnvironment": false,
30
+ // Workaround to prevent garbled python REPL in the terminal
31
+ // https://github.com/microsoft/vscode-python/issues/25505
32
+ "python.terminal.shellIntegration.enabled": false
33
+ },
34
+ // Add the IDs of extensions you want installed when the container is created.
35
+ "extensions": [
36
+ "ms-python.python",
37
+ "github.vscode-github-actions",
38
+ "tamasfe.even-better-toml",
39
+ "redhat.vscode-yaml",
40
+ "ryanluker.vscode-coverage-gutters",
41
+ "charliermarsh.ruff",
42
+ "ms-azuretools.vscode-docker"
43
+ ]
44
+ }
45
+ },
46
+ // Create the config folder for the bash-config feature and uv cache
47
+ "initializeCommand": "mkdir -p ${localEnv:HOME}/.config/terminal-config",
48
+ "runArgs": [
49
+ // Allow the container to access the host X11 display and EPICS CA
50
+ "--net=host",
51
+ // Make sure SELinux does not disable with access to host filesystems like tmp
52
+ "--security-opt=label=disable"
53
+ ],
54
+ "mounts": [
55
+ // Mount in the user terminal config folder so it can be edited
56
+ {
57
+ "source": "${localEnv:HOME}/.config/terminal-config",
58
+ "target": "/user-terminal-config",
59
+ "type": "bind"
60
+ },
61
+ // Keep a persistent cross container cache for uv, pre-commit, and the venvs
62
+ {
63
+ "source": "devcontainer-shared-cache",
64
+ "target": "/cache",
65
+ "type": "volume"
66
+ }
67
+ ],
68
+ // Mount the parent as /workspaces so we can pip install peers as editable
69
+ "workspaceMount": "source=${localWorkspaceFolder}/..,target=/workspaces,type=bind",
70
+ // After the container is created, recreate the venv then make pre-commit first run faster
71
+ "postCreateCommand": "uv venv --clear && uv sync && pre-commit install --install-hooks"
72
+ }
@@ -0,0 +1,27 @@
1
+ # Contribute to the project
2
+
3
+ Contributions and issues are most welcome! All issues and pull requests are
4
+ handled through [GitHub](https://github.com/DiamondLightSource/dodal/issues). Also, please check for any existing issues before
5
+ filing a new one. If you have a great idea but it involves big changes, please
6
+ file a ticket before making a pull request! We want to make sure you don't spend
7
+ your time coding something that might not fit the scope of the project.
8
+
9
+ ## Issue or Discussion?
10
+
11
+ Github also offers [discussions](https://github.com/DiamondLightSource/dodal/discussions) as a place to ask questions and share ideas. If
12
+ your issue is open ended and it is not obvious when it can be "closed", please
13
+ raise it as a discussion instead.
14
+
15
+ ## Code Coverage
16
+
17
+ While 100% code coverage does not make a library bug-free, it significantly
18
+ reduces the number of easily caught bugs! Please make sure coverage remains the
19
+ same or is improved by a pull request!
20
+
21
+ ## Developer Information
22
+
23
+ It is recommended that developers use a [vscode devcontainer](https://code.visualstudio.com/docs/devcontainers/containers). This repository contains configuration to set up a containerized development environment that suits its own needs.
24
+
25
+ This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects.
26
+
27
+ For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/5.0.1/how-to.html).
@@ -0,0 +1,36 @@
1
+ on:
2
+ workflow_call:
3
+
4
+ jobs:
5
+ build:
6
+ runs-on: "ubuntu-latest"
7
+
8
+ steps:
9
+ - name: Checkout
10
+ uses: actions/checkout@v5
11
+ with:
12
+ # Need this to get version number from last tag
13
+ fetch-depth: 0
14
+
15
+ - name: Install uv
16
+ uses: astral-sh/setup-uv@v7
17
+
18
+ - name: Build sdist and wheel
19
+ run: >
20
+ export SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) &&
21
+ uvx --from build pyproject-build
22
+
23
+ - name: Upload sdist and wheel as artifacts
24
+ uses: actions/upload-artifact@v5
25
+ with:
26
+ name: dist
27
+ path: dist
28
+
29
+ - name: Check for packaging errors
30
+ run: uvx twine check --strict dist/*
31
+
32
+ - name: Install produced wheel
33
+ run: python -m pip install dist/*.whl
34
+
35
+ - name: Test module --version works using the installed wheel
36
+ run: python -m dodal --version
@@ -0,0 +1,58 @@
1
+ on:
2
+ workflow_call:
3
+
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+
9
+ steps:
10
+ - name: Avoid git conflicts when tag and branch pushed at same time
11
+ if: github.ref_type == 'tag'
12
+ run: sleep 60
13
+
14
+ - name: Checkout
15
+ uses: actions/checkout@v5
16
+ with:
17
+ # Need this to get version number from last tag
18
+ fetch-depth: 0
19
+
20
+ - name: Install system packages
21
+ run: sudo apt-get install graphviz
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v7
25
+
26
+ # - name: Install requirements
27
+ # run: uv sync --group dev
28
+
29
+ - name: Build docs
30
+ run: uv run --locked tox -e docs
31
+
32
+ - name: Remove environment.pickle
33
+ run: rm build/html/.doctrees/environment.pickle
34
+
35
+ - name: Upload built docs artifact
36
+ uses: actions/upload-artifact@v5
37
+ with:
38
+ name: docs
39
+ path: build
40
+
41
+ - name: Sanitize ref name for docs version
42
+ run: echo "DOCS_VERSION=${GITHUB_REF_NAME//[^A-Za-z0-9._-]/_}" >> $GITHUB_ENV
43
+
44
+ - name: Move to versioned directory
45
+ run: mv build/html .github/pages/$DOCS_VERSION
46
+
47
+ - name: Write switcher.json
48
+ run: python .github/pages/make_switcher.py --add $DOCS_VERSION ${{ github.repository }} .github/pages/switcher.json
49
+
50
+ - name: Publish Docs to gh-pages
51
+ if: github.ref_type == 'tag' || github.ref_name == 'main'
52
+ # We pin to the SHA, not the tag, for security reasons.
53
+ # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions
54
+ uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
55
+ with:
56
+ github_token: ${{ secrets.GITHUB_TOKEN }}
57
+ publish_dir: .github/pages
58
+ keep_files: true
@@ -0,0 +1,62 @@
1
+ on:
2
+ workflow_call:
3
+ inputs:
4
+ python-version:
5
+ type: string
6
+ description: The version of python to install, default is from .python-version file
7
+ default: ""
8
+ runs-on:
9
+ type: string
10
+ description: The runner to run this job on
11
+ required: true
12
+
13
+ env:
14
+ # https://github.com/pytest-dev/pytest/issues/2042
15
+ PY_IGNORE_IMPORTMISMATCH: "1"
16
+ UV_PYTHON: ${{ inputs.python-version }}
17
+
18
+ jobs:
19
+ run:
20
+ runs-on: ${{ inputs.runs-on }}
21
+
22
+ steps:
23
+ - name: Checkout
24
+ uses: actions/checkout@v5
25
+ with:
26
+ # Need this to get version number from last tag
27
+ fetch-depth: 0
28
+
29
+ - name: Install uv
30
+ uses: astral-sh/setup-uv@v7
31
+
32
+ - name: Install latest versions of python packages
33
+ run: uv sync --python ${{ inputs.python-version }} --group dev
34
+
35
+ - name: Run tests
36
+ run: uv run --locked tox -e tests
37
+
38
+ - name: Checkout simulated devices
39
+ uses: actions/checkout@v5
40
+ with:
41
+ repository: epics-containers/example-services
42
+ path: example-services
43
+
44
+ - name: Run docker compose
45
+ uses: hoverkraft-tech/compose-action@v2.4.1
46
+ with:
47
+ compose-file: "./example-services/compose.yaml"
48
+ services: |
49
+ bl01t-di-cam-01
50
+ bl01t-mo-sim-01
51
+ ca-gateway
52
+
53
+ - name: Run system tests
54
+ run: uv run --locked tox -e system-tests
55
+
56
+ - name: Upload coverage to Codecov
57
+ uses: codecov/codecov-action@v5
58
+ with:
59
+ name: ${{ inputs.python-version }}/${{ inputs.runs-on }}
60
+ files: ./cov.xml
61
+ env:
62
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,25 @@
1
+ on:
2
+ workflow_call:
3
+ inputs:
4
+ tox:
5
+ type: string
6
+ description: What to run under tox
7
+ required: true
8
+
9
+
10
+ jobs:
11
+ run:
12
+ runs-on: "ubuntu-latest"
13
+
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v5
17
+
18
+ - name: Install uv
19
+ uses: astral-sh/setup-uv@v7
20
+
21
+ - name: Run import linter
22
+ run: uv run --locked lint-imports
23
+
24
+ - name: Run tox
25
+ run: uv run --locked tox -e ${{ inputs.tox }}
@@ -0,0 +1,49 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ tags:
8
+ - '*'
9
+ pull_request:
10
+
11
+ jobs:
12
+
13
+ lint:
14
+ uses: ./.github/workflows/_tox.yml
15
+ with:
16
+ tox: pre-commit,type-checking
17
+
18
+ test:
19
+ strategy:
20
+ matrix:
21
+ runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest
22
+ python-version: ["3.11", "3.12", "3.13"]
23
+ fail-fast: false
24
+ uses: ./.github/workflows/_test.yml
25
+ with:
26
+ runs-on: ${{ matrix.runs-on }}
27
+ python-version: ${{ matrix.python-version }}
28
+
29
+ docs:
30
+ uses: ./.github/workflows/_docs.yml
31
+ permissions:
32
+ contents: write
33
+
34
+ dist:
35
+ uses: ./.github/workflows/_dist.yml
36
+
37
+ pypi:
38
+ needs: [dist, test]
39
+ if: github.ref_type == 'tag'
40
+ uses: ./.github/workflows/_pypi.yml
41
+ permissions:
42
+ id-token: write
43
+
44
+ release:
45
+ needs: [dist, test, docs]
46
+ if: github.ref_type == 'tag'
47
+ uses: ./.github/workflows/_release.yml
48
+ permissions:
49
+ contents: write
@@ -0,0 +1,13 @@
1
+ name: Periodic
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ # Run weekly to check URL links still resolve
7
+ - cron: "0 8 * * WED"
8
+
9
+ jobs:
10
+ linkcheck:
11
+ uses: ./.github/workflows/_tox.yml
12
+ with:
13
+ tox: docs -- -b linkcheck
@@ -0,0 +1,19 @@
1
+ # This allow-list is limited to YAML/YML files to cut down SealedSecrets false positives.
2
+ # All gitleaks default rules still apply everywhere (useDefault = true).
3
+ # To broaden this allow-list to all files, comment out the 'paths' line below.
4
+
5
+ [extend]
6
+ useDefault = true
7
+
8
+ [[rules]]
9
+ id = "generic-api-key"
10
+
11
+ # Pattern-only allowlist for long Ag… tokens in YAML
12
+ [[rules.allowlists]]
13
+ condition = "AND"
14
+ regexes = [
15
+ # Boundary-safe Ag… token without lookarounds (RE2-safe)
16
+ '''(?:^|[^A-Za-z0-9+/=])(Ag[A-Za-z0-9+/]{500,}={0,2})(?:[^A-Za-z0-9+/=]|$)'''
17
+ ]
18
+ # Limit to YAML only for now. Comment this out if you want it to apply everywhere.
19
+ paths = ['''(?i).*\.ya?ml$''']
@@ -0,0 +1,45 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
+ hooks:
5
+ - id: check-added-large-files
6
+ exclude: ^uv.lock
7
+ - id: check-yaml
8
+ - id: check-merge-conflict
9
+ - id: end-of-file-fixer
10
+
11
+ - repo: local
12
+ hooks:
13
+ - id: ruff
14
+ name: lint with ruff
15
+ language: system
16
+ entry: ruff check --force-exclude --fix
17
+ types: [python]
18
+ require_serial: true
19
+
20
+ - id: ruff-format
21
+ name: format with ruff
22
+ language: system
23
+ entry: ruff format --force-exclude
24
+ types: [python]
25
+ require_serial: true
26
+
27
+ - id: import-contracts
28
+ name: Ensure import directionality
29
+ pass_filenames: false
30
+ language: system
31
+ entry: lint-imports
32
+ types: [python]
33
+ require_serial: false
34
+
35
+ - id: uv-sync
36
+ name: update uv.lock and venv
37
+ pass_filenames: false
38
+ language: system
39
+ entry: uv sync
40
+ files: ^(uv\.lock|pyproject\.toml)$
41
+
42
+ - repo: https://github.com/gitleaks/gitleaks
43
+ rev: v8.28.0
44
+ hooks:
45
+ - id: gitleaks
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,8 @@
1
+ # The devcontainer should use the developer target and run as root with podman
2
+ # or docker with user namespaces.
3
+ FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:noble AS developer
4
+
5
+ # Add any system dependencies for the developer/build environment here
6
+ RUN apt-get update -y && apt-get install -y --no-install-recommends \
7
+ graphviz \
8
+ && apt-get dist-clean