opentrons 8.8.1__tar.gz → 9.0.0a0__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 (2059) hide show
  1. opentrons-9.0.0a0/PKG-INFO +35 -0
  2. opentrons-9.0.0a0/pyproject.toml +220 -0
  3. opentrons-9.0.0a0/src/opentrons/__init__.py +153 -0
  4. opentrons-9.0.0a0/src/opentrons/_version.py +34 -0
  5. opentrons-9.0.0a0/src/opentrons/calibration_storage/__init__.py +52 -0
  6. opentrons-9.0.0a0/src/opentrons/calibration_storage/deck_configuration.py +62 -0
  7. opentrons-9.0.0a0/src/opentrons/calibration_storage/encoder_decoder.py +32 -0
  8. opentrons-9.0.0a0/src/opentrons/calibration_storage/file_operators.py +142 -0
  9. opentrons-9.0.0a0/src/opentrons/calibration_storage/helpers.py +102 -0
  10. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/__init__.py +33 -0
  11. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/deck_attitude.py +84 -0
  12. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/mark_bad_calibration.py +24 -0
  13. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/models/v1.py +149 -0
  14. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/pipette_offset.py +128 -0
  15. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot2/tip_length.py +281 -0
  16. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/__init__.py +33 -0
  17. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/deck_attitude.py +82 -0
  18. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/gripper_offset.py +154 -0
  19. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/models/v1.py +121 -0
  20. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/module_offset.py +137 -0
  21. opentrons-9.0.0a0/src/opentrons/calibration_storage/ot3/pipette_offset.py +94 -0
  22. opentrons-9.0.0a0/src/opentrons/calibration_storage/types.py +45 -0
  23. opentrons-9.0.0a0/src/opentrons/cli/analyze.py +557 -0
  24. opentrons-9.0.0a0/src/opentrons/config/__init__.py +638 -0
  25. opentrons-9.0.0a0/src/opentrons/config/advanced_settings.py +898 -0
  26. opentrons-9.0.0a0/src/opentrons/config/defaults_ot2.py +216 -0
  27. opentrons-9.0.0a0/src/opentrons/config/defaults_ot3.py +508 -0
  28. opentrons-9.0.0a0/src/opentrons/config/feature_flags.py +99 -0
  29. opentrons-9.0.0a0/src/opentrons/config/gripper_config.py +56 -0
  30. opentrons-9.0.0a0/src/opentrons/config/reset.py +203 -0
  31. opentrons-9.0.0a0/src/opentrons/config/robot_configs.py +192 -0
  32. opentrons-9.0.0a0/src/opentrons/config/types.py +212 -0
  33. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/__init__.py +11 -0
  34. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/abstract.py +70 -0
  35. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/async_byonoy.py +353 -0
  36. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/driver.py +81 -0
  37. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/hid_protocol.py +152 -0
  38. opentrons-9.0.0a0/src/opentrons/drivers/absorbance_reader/simulator.py +83 -0
  39. opentrons-9.0.0a0/src/opentrons/drivers/asyncio/communication/__init__.py +22 -0
  40. opentrons-9.0.0a0/src/opentrons/drivers/asyncio/communication/async_serial.py +187 -0
  41. opentrons-9.0.0a0/src/opentrons/drivers/asyncio/communication/errors.py +88 -0
  42. opentrons-9.0.0a0/src/opentrons/drivers/asyncio/communication/serial_connection.py +660 -0
  43. opentrons-9.0.0a0/src/opentrons/drivers/command_builder.py +102 -0
  44. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/__init__.py +13 -0
  45. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/abstract.py +214 -0
  46. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/driver.py +771 -0
  47. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/simulator.py +308 -0
  48. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/types.py +368 -0
  49. opentrons-9.0.0a0/src/opentrons/drivers/flex_stacker/utils.py +19 -0
  50. opentrons-9.0.0a0/src/opentrons/drivers/heater_shaker/__init__.py +5 -0
  51. opentrons-9.0.0a0/src/opentrons/drivers/heater_shaker/abstract.py +81 -0
  52. opentrons-9.0.0a0/src/opentrons/drivers/heater_shaker/driver.py +215 -0
  53. opentrons-9.0.0a0/src/opentrons/drivers/heater_shaker/simulator.py +99 -0
  54. opentrons-9.0.0a0/src/opentrons/drivers/mag_deck/__init__.py +5 -0
  55. opentrons-9.0.0a0/src/opentrons/drivers/mag_deck/abstract.py +35 -0
  56. opentrons-9.0.0a0/src/opentrons/drivers/mag_deck/driver.py +209 -0
  57. opentrons-9.0.0a0/src/opentrons/drivers/mag_deck/simulator.py +62 -0
  58. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/dev_types.py +71 -0
  59. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/gpio.py +283 -0
  60. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/gpio_simulator.py +127 -0
  61. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/interfaces.py +15 -0
  62. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/types.py +366 -0
  63. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/usb.py +101 -0
  64. opentrons-9.0.0a0/src/opentrons/drivers/rpi_drivers/usb_simulator.py +22 -0
  65. opentrons-9.0.0a0/src/opentrons/drivers/serial_communication.py +150 -0
  66. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/connection.py +50 -0
  67. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/constants.py +121 -0
  68. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/driver_3_0.py +1943 -0
  69. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/parse_utils.py +142 -0
  70. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/simulator.py +99 -0
  71. opentrons-9.0.0a0/src/opentrons/drivers/smoothie_drivers/types.py +19 -0
  72. opentrons-9.0.0a0/src/opentrons/drivers/temp_deck/__init__.py +9 -0
  73. opentrons-9.0.0a0/src/opentrons/drivers/temp_deck/abstract.py +47 -0
  74. opentrons-9.0.0a0/src/opentrons/drivers/temp_deck/driver.py +198 -0
  75. opentrons-9.0.0a0/src/opentrons/drivers/temp_deck/simulator.py +57 -0
  76. opentrons-9.0.0a0/src/opentrons/drivers/thermocycler/__init__.py +11 -0
  77. opentrons-9.0.0a0/src/opentrons/drivers/thermocycler/abstract.py +104 -0
  78. opentrons-9.0.0a0/src/opentrons/drivers/thermocycler/driver.py +447 -0
  79. opentrons-9.0.0a0/src/opentrons/drivers/thermocycler/simulator.py +132 -0
  80. opentrons-9.0.0a0/src/opentrons/drivers/types.py +110 -0
  81. opentrons-9.0.0a0/src/opentrons/drivers/utils.py +222 -0
  82. opentrons-9.0.0a0/src/opentrons/drivers/vacuum_module/__init__.py +5 -0
  83. opentrons-9.0.0a0/src/opentrons/drivers/vacuum_module/abstract.py +79 -0
  84. opentrons-9.0.0a0/src/opentrons/drivers/vacuum_module/driver.py +282 -0
  85. opentrons-9.0.0a0/src/opentrons/drivers/vacuum_module/simulator.py +120 -0
  86. opentrons-9.0.0a0/src/opentrons/drivers/vacuum_module/types.py +117 -0
  87. opentrons-9.0.0a0/src/opentrons/execute.py +755 -0
  88. opentrons-9.0.0a0/src/opentrons/hardware_control/__init__.py +68 -0
  89. opentrons-9.0.0a0/src/opentrons/hardware_control/__main__.py +77 -0
  90. opentrons-9.0.0a0/src/opentrons/hardware_control/adapters.py +98 -0
  91. opentrons-9.0.0a0/src/opentrons/hardware_control/api.py +1367 -0
  92. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/controller.py +410 -0
  93. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/estop_state.py +164 -0
  94. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/flex_protocol.py +464 -0
  95. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/ot3controller.py +1993 -0
  96. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/ot3simulator.py +904 -0
  97. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/ot3utils.py +706 -0
  98. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/simulator.py +445 -0
  99. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/status_bar_state.py +241 -0
  100. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/subsystem_manager.py +433 -0
  101. opentrons-9.0.0a0/src/opentrons/hardware_control/backends/tip_presence_manager.py +175 -0
  102. opentrons-9.0.0a0/src/opentrons/hardware_control/constants.py +6 -0
  103. opentrons-9.0.0a0/src/opentrons/hardware_control/dev_types.py +133 -0
  104. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/heater_shaker.py +158 -0
  105. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/magdeck.py +61 -0
  106. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/module_server/__init__.py +9 -0
  107. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/module_server/client.py +79 -0
  108. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/module_server/helpers.py +130 -0
  109. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/module_server/models.py +30 -0
  110. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/module_server/server.py +112 -0
  111. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/proxy.py +300 -0
  112. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/scripts/run_app.py +55 -0
  113. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/scripts/run_module_emulator.py +72 -0
  114. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/scripts/run_smoothie.py +36 -0
  115. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/settings.py +121 -0
  116. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/simulations.py +132 -0
  117. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/smoothie.py +192 -0
  118. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/tempdeck.py +67 -0
  119. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/thermocycler.py +184 -0
  120. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/types.py +10 -0
  121. opentrons-9.0.0a0/src/opentrons/hardware_control/emulation/util.py +38 -0
  122. opentrons-9.0.0a0/src/opentrons/hardware_control/errors.py +44 -0
  123. opentrons-9.0.0a0/src/opentrons/hardware_control/execution_manager.py +166 -0
  124. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/__init__.py +4 -0
  125. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/instrument_abc.py +38 -0
  126. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot2/instrument_calibration.py +153 -0
  127. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot2/pipette.py +773 -0
  128. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py +997 -0
  129. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot3/gripper.py +419 -0
  130. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot3/gripper_handler.py +173 -0
  131. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot3/instrument_calibration.py +217 -0
  132. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot3/pipette.py +861 -0
  133. opentrons-9.0.0a0/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py +1032 -0
  134. opentrons-9.0.0a0/src/opentrons/hardware_control/module_control.py +426 -0
  135. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/__init__.py +74 -0
  136. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/absorbance_reader.py +379 -0
  137. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/flex_stacker.py +977 -0
  138. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/heater_shaker.py +464 -0
  139. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/magdeck.py +238 -0
  140. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/mod_abc.py +254 -0
  141. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/module_calibration.py +91 -0
  142. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/plate_temp_status.py +60 -0
  143. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/tempdeck.py +320 -0
  144. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/thermocycler.py +787 -0
  145. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/types.py +462 -0
  146. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/update.py +253 -0
  147. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/utils.py +80 -0
  148. opentrons-9.0.0a0/src/opentrons/hardware_control/modules/vacuum_module.py +353 -0
  149. opentrons-9.0.0a0/src/opentrons/hardware_control/motion_utilities.py +317 -0
  150. opentrons-9.0.0a0/src/opentrons/hardware_control/nozzle_manager.py +426 -0
  151. opentrons-9.0.0a0/src/opentrons/hardware_control/ot3_calibration.py +1175 -0
  152. opentrons-9.0.0a0/src/opentrons/hardware_control/ot3api.py +3319 -0
  153. opentrons-9.0.0a0/src/opentrons/hardware_control/poller.py +127 -0
  154. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/__init__.py +106 -0
  155. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/asyncio_configurable.py +12 -0
  156. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/calibratable.py +45 -0
  157. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/chassis_accessory_manager.py +92 -0
  158. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/configurable.py +46 -0
  159. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/event_sourcer.py +19 -0
  160. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/execution_controllable.py +34 -0
  161. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/flex_calibratable.py +91 -0
  162. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/flex_instrument_configurer.py +53 -0
  163. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/gripper_controller.py +57 -0
  164. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/hardware_manager.py +52 -0
  165. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/instrument_configurer.py +210 -0
  166. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/liquid_handler.py +272 -0
  167. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/module_provider.py +17 -0
  168. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/motion_controller.py +244 -0
  169. opentrons-9.0.0a0/src/opentrons/hardware_control/protocols/types.py +35 -0
  170. opentrons-9.0.0a0/src/opentrons/hardware_control/robot_calibration.py +221 -0
  171. opentrons-9.0.0a0/src/opentrons/hardware_control/scripts/README.md +28 -0
  172. opentrons-9.0.0a0/src/opentrons/hardware_control/scripts/gripper_control.py +209 -0
  173. opentrons-9.0.0a0/src/opentrons/hardware_control/scripts/repl.py +185 -0
  174. opentrons-9.0.0a0/src/opentrons/hardware_control/scripts/tc_control.py +98 -0
  175. opentrons-9.0.0a0/src/opentrons/hardware_control/scripts/update_module_fw.py +278 -0
  176. opentrons-9.0.0a0/src/opentrons/hardware_control/simulator_setup.py +261 -0
  177. opentrons-9.0.0a0/src/opentrons/hardware_control/thread_manager.py +425 -0
  178. opentrons-9.0.0a0/src/opentrons/hardware_control/threaded_async_lock.py +95 -0
  179. opentrons-9.0.0a0/src/opentrons/hardware_control/types.py +811 -0
  180. opentrons-9.0.0a0/src/opentrons/hardware_control/util.py +235 -0
  181. opentrons-9.0.0a0/src/opentrons/legacy_broker.py +54 -0
  182. opentrons-9.0.0a0/src/opentrons/legacy_commands/commands.py +535 -0
  183. opentrons-9.0.0a0/src/opentrons/legacy_commands/helpers.py +152 -0
  184. opentrons-9.0.0a0/src/opentrons/legacy_commands/module_commands.py +337 -0
  185. opentrons-9.0.0a0/src/opentrons/legacy_commands/protocol_commands.py +105 -0
  186. opentrons-9.0.0a0/src/opentrons/legacy_commands/publisher.py +158 -0
  187. opentrons-9.0.0a0/src/opentrons/legacy_commands/robot_commands.py +52 -0
  188. opentrons-9.0.0a0/src/opentrons/legacy_commands/types.py +1341 -0
  189. opentrons-9.0.0a0/src/opentrons/motion_planning/__init__.py +30 -0
  190. opentrons-9.0.0a0/src/opentrons/motion_planning/adjacent_slots_getters.py +169 -0
  191. opentrons-9.0.0a0/src/opentrons/motion_planning/deck_conflict.py +511 -0
  192. opentrons-9.0.0a0/src/opentrons/motion_planning/errors.py +36 -0
  193. opentrons-9.0.0a0/src/opentrons/motion_planning/types.py +45 -0
  194. opentrons-9.0.0a0/src/opentrons/motion_planning/waypoints.py +205 -0
  195. opentrons-9.0.0a0/src/opentrons/ordered_set.py +136 -0
  196. opentrons-9.0.0a0/src/opentrons/protocol_api/__init__.py +110 -0
  197. opentrons-9.0.0a0/src/opentrons/protocol_api/_liquid.py +156 -0
  198. opentrons-9.0.0a0/src/opentrons/protocol_api/_liquid_properties.py +909 -0
  199. opentrons-9.0.0a0/src/opentrons/protocol_api/_nozzle_layout.py +32 -0
  200. opentrons-9.0.0a0/src/opentrons/protocol_api/_parameter_context.py +300 -0
  201. opentrons-9.0.0a0/src/opentrons/protocol_api/_parameters.py +31 -0
  202. opentrons-9.0.0a0/src/opentrons/protocol_api/_transfer_liquid_validation.py +121 -0
  203. opentrons-9.0.0a0/src/opentrons/protocol_api/_types.py +48 -0
  204. opentrons-9.0.0a0/src/opentrons/protocol_api/core/common.py +36 -0
  205. opentrons-9.0.0a0/src/opentrons/protocol_api/core/core_map.py +68 -0
  206. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/__init__.py +22 -0
  207. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/_default_labware_versions.py +206 -0
  208. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/_default_liquid_class_versions.py +61 -0
  209. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/deck_conflict.py +405 -0
  210. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/instrument.py +2619 -0
  211. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/labware.py +256 -0
  212. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/load_labware_params.py +73 -0
  213. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/module_core.py +1121 -0
  214. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/overlap_versions.py +23 -0
  215. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/pipette_movement_conflict.py +411 -0
  216. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/protocol.py +1263 -0
  217. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/robot.py +138 -0
  218. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/stringify.py +76 -0
  219. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/tasks.py +49 -0
  220. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/transfer_components_executor.py +1123 -0
  221. opentrons-9.0.0a0/src/opentrons/protocol_api/core/engine/well.py +247 -0
  222. opentrons-9.0.0a0/src/opentrons/protocol_api/core/instrument.py +443 -0
  223. opentrons-9.0.0a0/src/opentrons/protocol_api/core/labware.py +147 -0
  224. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/_labware_geometry.py +38 -0
  225. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/deck.py +365 -0
  226. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/labware_offset_provider.py +107 -0
  227. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/legacy_instrument_core.py +726 -0
  228. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/legacy_labware_core.py +235 -0
  229. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/legacy_module_core.py +621 -0
  230. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/legacy_protocol_core.py +633 -0
  231. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/legacy_well_core.py +164 -0
  232. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/load_info.py +67 -0
  233. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/module_geometry.py +547 -0
  234. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/tasks.py +20 -0
  235. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy/well_geometry.py +153 -0
  236. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy_simulator/__init__.py +17 -0
  237. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +639 -0
  238. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +94 -0
  239. opentrons-9.0.0a0/src/opentrons/protocol_api/core/legacy_simulator/tasks.py +20 -0
  240. opentrons-9.0.0a0/src/opentrons/protocol_api/core/module.py +552 -0
  241. opentrons-9.0.0a0/src/opentrons/protocol_api/core/protocol.py +307 -0
  242. opentrons-9.0.0a0/src/opentrons/protocol_api/core/robot.py +48 -0
  243. opentrons-9.0.0a0/src/opentrons/protocol_api/core/tasks.py +31 -0
  244. opentrons-9.0.0a0/src/opentrons/protocol_api/core/well.py +119 -0
  245. opentrons-9.0.0a0/src/opentrons/protocol_api/core/well_grid.py +46 -0
  246. opentrons-9.0.0a0/src/opentrons/protocol_api/create_protocol_context.py +173 -0
  247. opentrons-9.0.0a0/src/opentrons/protocol_api/deck.py +221 -0
  248. opentrons-9.0.0a0/src/opentrons/protocol_api/disposal_locations.py +244 -0
  249. opentrons-9.0.0a0/src/opentrons/protocol_api/instrument_context.py +3845 -0
  250. opentrons-9.0.0a0/src/opentrons/protocol_api/labware.py +1699 -0
  251. opentrons-9.0.0a0/src/opentrons/protocol_api/module_contexts.py +1843 -0
  252. opentrons-9.0.0a0/src/opentrons/protocol_api/protocol_context.py +1934 -0
  253. opentrons-9.0.0a0/src/opentrons/protocol_api/robot_context.py +333 -0
  254. opentrons-9.0.0a0/src/opentrons/protocol_api/tasks.py +50 -0
  255. opentrons-9.0.0a0/src/opentrons/protocol_api/validation.py +823 -0
  256. opentrons-9.0.0a0/src/opentrons/protocol_engine/__init__.py +157 -0
  257. opentrons-9.0.0a0/src/opentrons/protocol_engine/actions/__init__.py +71 -0
  258. opentrons-9.0.0a0/src/opentrons/protocol_engine/actions/action_dispatcher.py +31 -0
  259. opentrons-9.0.0a0/src/opentrons/protocol_engine/actions/action_handler.py +14 -0
  260. opentrons-9.0.0a0/src/opentrons/protocol_engine/actions/actions.py +337 -0
  261. opentrons-9.0.0a0/src/opentrons/protocol_engine/actions/get_state_update.py +39 -0
  262. opentrons-9.0.0a0/src/opentrons/protocol_engine/clients/__init__.py +6 -0
  263. opentrons-9.0.0a0/src/opentrons/protocol_engine/clients/sync_client.py +211 -0
  264. opentrons-9.0.0a0/src/opentrons/protocol_engine/clients/transports.py +195 -0
  265. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/__init__.py +763 -0
  266. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/absorbance_reader/__init__.py +58 -0
  267. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +138 -0
  268. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/absorbance_reader/initialize.py +152 -0
  269. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +138 -0
  270. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/absorbance_reader/read.py +227 -0
  271. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/air_gap_in_place.py +163 -0
  272. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/aspirate.py +245 -0
  273. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/aspirate_in_place.py +185 -0
  274. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/aspirate_while_tracking.py +239 -0
  275. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/blow_out.py +145 -0
  276. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/blow_out_in_place.py +119 -0
  277. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/calibration/__init__.py +58 -0
  278. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/calibration/calibrate_gripper.py +165 -0
  279. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/calibration/calibrate_module.py +117 -0
  280. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/calibration/calibrate_pipette.py +94 -0
  281. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py +157 -0
  282. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/capture_image.py +302 -0
  283. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/command.py +309 -0
  284. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/command_unions.py +986 -0
  285. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/comment.py +60 -0
  286. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/configure_for_volume.py +109 -0
  287. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/configure_nozzle_layout.py +123 -0
  288. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/create_timer.py +85 -0
  289. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/custom.py +68 -0
  290. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/dispense.py +196 -0
  291. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/dispense_in_place.py +180 -0
  292. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/dispense_while_tracking.py +234 -0
  293. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/drop_tip.py +251 -0
  294. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/drop_tip_in_place.py +206 -0
  295. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/__init__.py +60 -0
  296. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/common.py +947 -0
  297. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/empty.py +292 -0
  298. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/fill.py +282 -0
  299. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/retrieve.py +340 -0
  300. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py +336 -0
  301. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/flex_stacker/store.py +358 -0
  302. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/generate_command_schema.py +62 -0
  303. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/get_next_tip.py +133 -0
  304. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/get_tip_presence.py +88 -0
  305. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/hash_command_params.py +39 -0
  306. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/__init__.py +109 -0
  307. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py +85 -0
  308. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/common.py +21 -0
  309. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py +84 -0
  310. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/deactivate_shaker.py +86 -0
  311. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/open_labware_latch.py +113 -0
  312. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py +128 -0
  313. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py +139 -0
  314. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +118 -0
  315. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py +104 -0
  316. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/home.py +101 -0
  317. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/identify_module.py +85 -0
  318. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/liquid_probe.py +468 -0
  319. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_labware.py +210 -0
  320. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_lid.py +155 -0
  321. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_lid_stack.py +273 -0
  322. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_liquid.py +97 -0
  323. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_liquid_class.py +145 -0
  324. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_module.py +222 -0
  325. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/load_pipette.py +164 -0
  326. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/magnetic_module/__init__.py +31 -0
  327. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/magnetic_module/disengage.py +96 -0
  328. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/magnetic_module/engage.py +121 -0
  329. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_labware.py +548 -0
  330. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_relative.py +104 -0
  331. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_to_addressable_area.py +179 -0
  332. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py +200 -0
  333. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_to_coordinates.py +108 -0
  334. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/move_to_well.py +121 -0
  335. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/movement_common.py +367 -0
  336. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/pick_up_tip.py +253 -0
  337. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/pipetting_common.py +494 -0
  338. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/prepare_to_aspirate.py +123 -0
  339. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/pressure_dispense.py +156 -0
  340. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/reload_labware.py +92 -0
  341. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/retract_axis.py +78 -0
  342. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/__init__.py +70 -0
  343. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/close_gripper_jaw.py +96 -0
  344. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/common.py +19 -0
  345. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/move_axes_relative.py +101 -0
  346. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/move_axes_to.py +101 -0
  347. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/move_to.py +94 -0
  348. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/robot/open_gripper_jaw.py +87 -0
  349. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/save_position.py +110 -0
  350. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/seal_pipette_to_tip.py +353 -0
  351. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/set_rail_lights.py +70 -0
  352. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/set_status_bar.py +92 -0
  353. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/set_tip_state.py +97 -0
  354. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/temperature_module/__init__.py +44 -0
  355. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/temperature_module/deactivate.py +88 -0
  356. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py +130 -0
  357. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/temperature_module/wait_for_temperature.py +106 -0
  358. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/__init__.py +157 -0
  359. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/close_lid.py +89 -0
  360. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/deactivate_block.py +82 -0
  361. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py +82 -0
  362. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/open_lid.py +89 -0
  363. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +176 -0
  364. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/run_profile.py +133 -0
  365. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +179 -0
  366. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +131 -0
  367. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py +190 -0
  368. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py +95 -0
  369. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py +91 -0
  370. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/touch_tip.py +189 -0
  371. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/__init__.py +151 -0
  372. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py +100 -0
  373. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py +121 -0
  374. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_engage_axes.py +83 -0
  375. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +193 -0
  376. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_close_latch.py +93 -0
  377. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_manual_retrieve.py +297 -0
  378. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py +90 -0
  379. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py +135 -0
  380. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py +76 -0
  381. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unsafe/update_position_estimators.py +91 -0
  382. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/unseal_pipette_from_tip.py +149 -0
  383. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/verify_tip_presence.py +101 -0
  384. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/wait_for_duration.py +78 -0
  385. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/wait_for_resume.py +77 -0
  386. opentrons-9.0.0a0/src/opentrons/protocol_engine/commands/wait_for_tasks.py +101 -0
  387. opentrons-9.0.0a0/src/opentrons/protocol_engine/create_protocol_engine.py +204 -0
  388. opentrons-9.0.0a0/src/opentrons/protocol_engine/engine_support.py +31 -0
  389. opentrons-9.0.0a0/src/opentrons/protocol_engine/error_recovery_policy.py +80 -0
  390. opentrons-9.0.0a0/src/opentrons/protocol_engine/errors/__init__.py +202 -0
  391. opentrons-9.0.0a0/src/opentrons/protocol_engine/errors/error_occurrence.py +185 -0
  392. opentrons-9.0.0a0/src/opentrons/protocol_engine/errors/exceptions.py +1427 -0
  393. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/__init__.py +56 -0
  394. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/command_executor.py +274 -0
  395. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/create_queue_worker.py +109 -0
  396. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/door_watcher.py +116 -0
  397. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/equipment.py +846 -0
  398. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/gantry_mover.py +687 -0
  399. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/hardware_stopper.py +145 -0
  400. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py +211 -0
  401. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/labware_movement.py +290 -0
  402. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/movement.py +350 -0
  403. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/pipetting.py +608 -0
  404. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/queue_worker.py +91 -0
  405. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/run_control.py +42 -0
  406. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/task_handler.py +160 -0
  407. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/thermocycler_movement_flagger.py +186 -0
  408. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/thermocycler_plate_lifter.py +83 -0
  409. opentrons-9.0.0a0/src/opentrons/protocol_engine/execution/tip_handler.py +550 -0
  410. opentrons-9.0.0a0/src/opentrons/protocol_engine/labware_offset_standardization.py +194 -0
  411. opentrons-9.0.0a0/src/opentrons/protocol_engine/notes/__init__.py +17 -0
  412. opentrons-9.0.0a0/src/opentrons/protocol_engine/notes/notes.py +61 -0
  413. opentrons-9.0.0a0/src/opentrons/protocol_engine/plugins.py +107 -0
  414. opentrons-9.0.0a0/src/opentrons/protocol_engine/protocol_engine.py +801 -0
  415. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/__init__.py +29 -0
  416. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/camera_provider.py +113 -0
  417. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/concurrency_provider.py +28 -0
  418. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/deck_configuration_provider.py +238 -0
  419. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/deck_data_provider.py +97 -0
  420. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/file_provider.py +239 -0
  421. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/labware_data_provider.py +107 -0
  422. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/model_utils.py +33 -0
  423. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/module_data_provider.py +46 -0
  424. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/ot3_validation.py +22 -0
  425. opentrons-9.0.0a0/src/opentrons/protocol_engine/resources/pipette_data_provider.py +400 -0
  426. opentrons-9.0.0a0/src/opentrons/protocol_engine/slot_standardization.py +130 -0
  427. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/_abstract_store.py +28 -0
  428. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/_move_types.py +84 -0
  429. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/_well_math.py +236 -0
  430. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/addressable_areas.py +703 -0
  431. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/camera.py +130 -0
  432. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/command_history.py +309 -0
  433. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/commands.py +1185 -0
  434. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/config.py +40 -0
  435. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/files.py +57 -0
  436. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/fluid_stack.py +141 -0
  437. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/geometry.py +2338 -0
  438. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/inner_well_math_utils.py +550 -0
  439. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/labware.py +1485 -0
  440. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/labware_origin_math/errors.py +95 -0
  441. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +1337 -0
  442. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/liquid_classes.py +83 -0
  443. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/liquids.py +74 -0
  444. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/__init__.py +46 -0
  445. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py +36 -0
  446. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py +113 -0
  447. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/heater_shaker_module_substate.py +115 -0
  448. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py +69 -0
  449. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/temperature_module_substate.py +67 -0
  450. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +200 -0
  451. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/modules.py +1546 -0
  452. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/motion.py +414 -0
  453. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/pipettes.py +942 -0
  454. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/preconditions.py +59 -0
  455. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/state.py +465 -0
  456. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/state_summary.py +42 -0
  457. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/tasks.py +141 -0
  458. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/tips.py +335 -0
  459. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/update_types.py +923 -0
  460. opentrons-9.0.0a0/src/opentrons/protocol_engine/state/wells.py +286 -0
  461. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/__init__.py +328 -0
  462. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/automatic_tip_selection.py +40 -0
  463. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/command_annotations.py +54 -0
  464. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/command_preconditions.py +20 -0
  465. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/deck_configuration.py +86 -0
  466. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/execution.py +99 -0
  467. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/hardware_passthrough.py +25 -0
  468. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/instrument.py +55 -0
  469. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/instrument_sensors.py +50 -0
  470. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/labware.py +128 -0
  471. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/labware_movement.py +22 -0
  472. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/labware_offset_location.py +110 -0
  473. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/labware_offset_vector.py +17 -0
  474. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/liquid.py +42 -0
  475. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/liquid_class.py +62 -0
  476. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/liquid_level_detection.py +193 -0
  477. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/location.py +221 -0
  478. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/module.py +332 -0
  479. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/run_time_parameters.py +134 -0
  480. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/tasks.py +40 -0
  481. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/util.py +22 -0
  482. opentrons-9.0.0a0/src/opentrons/protocol_engine/types/well_position.py +127 -0
  483. opentrons-9.0.0a0/src/opentrons/protocol_reader/__init__.py +37 -0
  484. opentrons-9.0.0a0/src/opentrons/protocol_reader/file_format_validator.py +156 -0
  485. opentrons-9.0.0a0/src/opentrons/protocol_reader/file_hasher.py +29 -0
  486. opentrons-9.0.0a0/src/opentrons/protocol_reader/file_identifier.py +282 -0
  487. opentrons-9.0.0a0/src/opentrons/protocol_reader/file_reader_writer.py +90 -0
  488. opentrons-9.0.0a0/src/opentrons/protocol_reader/input_file.py +18 -0
  489. opentrons-9.0.0a0/src/opentrons/protocol_reader/protocol_reader.py +189 -0
  490. opentrons-9.0.0a0/src/opentrons/protocol_reader/protocol_source.py +126 -0
  491. opentrons-9.0.0a0/src/opentrons/protocol_reader/role_analyzer.py +87 -0
  492. opentrons-9.0.0a0/src/opentrons/protocol_runner/__init__.py +27 -0
  493. opentrons-9.0.0a0/src/opentrons/protocol_runner/create_simulating_orchestrator.py +147 -0
  494. opentrons-9.0.0a0/src/opentrons/protocol_runner/json_file_reader.py +57 -0
  495. opentrons-9.0.0a0/src/opentrons/protocol_runner/json_translator.py +320 -0
  496. opentrons-9.0.0a0/src/opentrons/protocol_runner/legacy_command_mapper.py +874 -0
  497. opentrons-9.0.0a0/src/opentrons/protocol_runner/legacy_context_plugin.py +117 -0
  498. opentrons-9.0.0a0/src/opentrons/protocol_runner/protocol_runner.py +544 -0
  499. opentrons-9.0.0a0/src/opentrons/protocol_runner/python_protocol_wrappers.py +177 -0
  500. opentrons-9.0.0a0/src/opentrons/protocol_runner/run_orchestrator.py +571 -0
  501. opentrons-9.0.0a0/src/opentrons/protocol_runner/task_queue.py +96 -0
  502. opentrons-9.0.0a0/src/opentrons/protocols/__init__.py +6 -0
  503. opentrons-9.0.0a0/src/opentrons/protocols/advanced_control/common.py +39 -0
  504. opentrons-9.0.0a0/src/opentrons/protocols/advanced_control/mix.py +63 -0
  505. opentrons-9.0.0a0/src/opentrons/protocols/advanced_control/transfers/common.py +181 -0
  506. opentrons-9.0.0a0/src/opentrons/protocols/advanced_control/transfers/transfer.py +971 -0
  507. opentrons-9.0.0a0/src/opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +272 -0
  508. opentrons-9.0.0a0/src/opentrons/protocols/api_support/deck_type.py +108 -0
  509. opentrons-9.0.0a0/src/opentrons/protocols/api_support/definitions.py +18 -0
  510. opentrons-9.0.0a0/src/opentrons/protocols/api_support/instrument.py +151 -0
  511. opentrons-9.0.0a0/src/opentrons/protocols/api_support/labware_like.py +233 -0
  512. opentrons-9.0.0a0/src/opentrons/protocols/api_support/tip_tracker.py +174 -0
  513. opentrons-9.0.0a0/src/opentrons/protocols/api_support/types.py +54 -0
  514. opentrons-9.0.0a0/src/opentrons/protocols/api_support/util.py +404 -0
  515. opentrons-9.0.0a0/src/opentrons/protocols/bundle.py +89 -0
  516. opentrons-9.0.0a0/src/opentrons/protocols/duration/__init__.py +3 -0
  517. opentrons-9.0.0a0/src/opentrons/protocols/duration/estimator.py +626 -0
  518. opentrons-9.0.0a0/src/opentrons/protocols/execution/dev_types.py +180 -0
  519. opentrons-9.0.0a0/src/opentrons/protocols/execution/execute.py +82 -0
  520. opentrons-9.0.0a0/src/opentrons/protocols/execution/execute_json_v3.py +278 -0
  521. opentrons-9.0.0a0/src/opentrons/protocols/execution/execute_json_v4.py +361 -0
  522. opentrons-9.0.0a0/src/opentrons/protocols/execution/execute_json_v5.py +29 -0
  523. opentrons-9.0.0a0/src/opentrons/protocols/execution/execute_python.py +168 -0
  524. opentrons-9.0.0a0/src/opentrons/protocols/execution/json_dispatchers.py +86 -0
  525. opentrons-9.0.0a0/src/opentrons/protocols/execution/types.py +7 -0
  526. opentrons-9.0.0a0/src/opentrons/protocols/geometry/planning.py +294 -0
  527. opentrons-9.0.0a0/src/opentrons/protocols/labware.py +312 -0
  528. opentrons-9.0.0a0/src/opentrons/protocols/models/json_protocol.py +675 -0
  529. opentrons-9.0.0a0/src/opentrons/protocols/parameters/csv_parameter_definition.py +79 -0
  530. opentrons-9.0.0a0/src/opentrons/protocols/parameters/csv_parameter_interface.py +101 -0
  531. opentrons-9.0.0a0/src/opentrons/protocols/parameters/exceptions.py +34 -0
  532. opentrons-9.0.0a0/src/opentrons/protocols/parameters/parameter_definition.py +269 -0
  533. opentrons-9.0.0a0/src/opentrons/protocols/parameters/types.py +16 -0
  534. opentrons-9.0.0a0/src/opentrons/protocols/parameters/validation.py +267 -0
  535. opentrons-9.0.0a0/src/opentrons/protocols/parse.py +672 -0
  536. opentrons-9.0.0a0/src/opentrons/protocols/types.py +162 -0
  537. opentrons-9.0.0a0/src/opentrons/simulate.py +1115 -0
  538. opentrons-9.0.0a0/src/opentrons/system/__init__.py +6 -0
  539. opentrons-9.0.0a0/src/opentrons/system/camera.py +390 -0
  540. opentrons-9.0.0a0/src/opentrons/system/ffmpeg.py +113 -0
  541. opentrons-9.0.0a0/src/opentrons/system/log_control.py +59 -0
  542. opentrons-9.0.0a0/src/opentrons/system/nmcli.py +857 -0
  543. opentrons-9.0.0a0/src/opentrons/system/resin.py +25 -0
  544. opentrons-9.0.0a0/src/opentrons/system/smoothie_update.py +16 -0
  545. opentrons-9.0.0a0/src/opentrons/system/wifi.py +204 -0
  546. opentrons-9.0.0a0/src/opentrons/tools/args_handler.py +22 -0
  547. opentrons-9.0.0a0/src/opentrons/tools/write_pipette_memory.py +157 -0
  548. opentrons-9.0.0a0/src/opentrons/types.py +614 -0
  549. opentrons-9.0.0a0/src/opentrons/util/async_helpers.py +165 -0
  550. opentrons-9.0.0a0/src/opentrons/util/broker.py +82 -0
  551. opentrons-9.0.0a0/src/opentrons/util/change_notifier.py +48 -0
  552. opentrons-9.0.0a0/src/opentrons/util/entrypoint_util.py +277 -0
  553. opentrons-9.0.0a0/src/opentrons/util/linal.py +180 -0
  554. opentrons-9.0.0a0/src/opentrons/util/logging_config.py +265 -0
  555. opentrons-9.0.0a0/src/opentrons/util/logging_queue_handler.py +62 -0
  556. opentrons-9.0.0a0/src/opentrons/util/performance_helpers.py +160 -0
  557. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_deck_attitude.py +113 -0
  558. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_gripper_offset.py +106 -0
  559. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_helpers.py +38 -0
  560. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_pipette_offset_ot2.py +97 -0
  561. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_pipette_offset_ot3.py +85 -0
  562. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_schema_validation.py +47 -0
  563. opentrons-9.0.0a0/tests/opentrons/calibration_storage/test_tip_length_ot2.py +148 -0
  564. opentrons-9.0.0a0/tests/opentrons/cli/test_cli.py +571 -0
  565. opentrons-9.0.0a0/tests/opentrons/config/test_advanced_settings.py +274 -0
  566. opentrons-9.0.0a0/tests/opentrons/config/test_advanced_settings_migration.py +606 -0
  567. opentrons-9.0.0a0/tests/opentrons/config/test_defaults_ot2.py +22 -0
  568. opentrons-9.0.0a0/tests/opentrons/config/test_defaults_ot3.py +199 -0
  569. opentrons-9.0.0a0/tests/opentrons/config/test_gripper_config.py +22 -0
  570. opentrons-9.0.0a0/tests/opentrons/config/test_reset.py +167 -0
  571. opentrons-9.0.0a0/tests/opentrons/config/test_robots_config.py +83 -0
  572. opentrons-9.0.0a0/tests/opentrons/conftest.py +1348 -0
  573. opentrons-9.0.0a0/tests/opentrons/data/mad_mag_v2.py +35 -0
  574. opentrons-9.0.0a0/tests/opentrons/data/testosaur.py +26 -0
  575. opentrons-9.0.0a0/tests/opentrons/drivers/absorbance_reader/test_driver.py +280 -0
  576. opentrons-9.0.0a0/tests/opentrons/drivers/asyncio/communication/test_async_serial.py +165 -0
  577. opentrons-9.0.0a0/tests/opentrons/drivers/asyncio/communication/test_serial_connection.py +441 -0
  578. opentrons-9.0.0a0/tests/opentrons/drivers/flex_stacker/conftest.py +1308 -0
  579. opentrons-9.0.0a0/tests/opentrons/drivers/flex_stacker/test_driver.py +810 -0
  580. opentrons-9.0.0a0/tests/opentrons/drivers/heater_shaker/test_driver.py +161 -0
  581. opentrons-9.0.0a0/tests/opentrons/drivers/mag_deck/test_driver.py +114 -0
  582. opentrons-9.0.0a0/tests/opentrons/drivers/rpi_drivers/test_usb.py +198 -0
  583. opentrons-9.0.0a0/tests/opentrons/drivers/smoothie_drivers/test_connection.py +90 -0
  584. opentrons-9.0.0a0/tests/opentrons/drivers/smoothie_drivers/test_driver.py +475 -0
  585. opentrons-9.0.0a0/tests/opentrons/drivers/smoothie_drivers/test_parse_utils.py +55 -0
  586. opentrons-9.0.0a0/tests/opentrons/drivers/smoothie_drivers/v3_0_0/test_driver_position_cache.py +52 -0
  587. opentrons-9.0.0a0/tests/opentrons/drivers/temp_deck/test_driver.py +128 -0
  588. opentrons-9.0.0a0/tests/opentrons/drivers/test_command_builder.py +77 -0
  589. opentrons-9.0.0a0/tests/opentrons/drivers/test_utils.py +237 -0
  590. opentrons-9.0.0a0/tests/opentrons/drivers/thermocycler/test_driver.py +247 -0
  591. opentrons-9.0.0a0/tests/opentrons/drivers/thermocycler/test_gen2_driver.py +270 -0
  592. opentrons-9.0.0a0/tests/opentrons/drivers/vacuum_module/test_driver.py +279 -0
  593. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_controller.py +1681 -0
  594. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_estop_state.py +248 -0
  595. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_status_bar.py +60 -0
  596. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_subsystem_manager.py +1107 -0
  597. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_tip_presence_manager.py +177 -0
  598. opentrons-9.0.0a0/tests/opentrons/hardware_control/backends/test_ot3_utils.py +193 -0
  599. opentrons-9.0.0a0/tests/opentrons/hardware_control/conftest.py +23 -0
  600. opentrons-9.0.0a0/tests/opentrons/hardware_control/emulation/module_server/test_helpers.py +153 -0
  601. opentrons-9.0.0a0/tests/opentrons/hardware_control/emulation/test_parser.py +82 -0
  602. opentrons-9.0.0a0/tests/opentrons/hardware_control/emulation/test_proxy.py +192 -0
  603. opentrons-9.0.0a0/tests/opentrons/hardware_control/instruments/test_instrument_calibration.py +309 -0
  604. opentrons-9.0.0a0/tests/opentrons/hardware_control/instruments/test_nozzle_manager.py +1094 -0
  605. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/build_module.py +48 -0
  606. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/conftest.py +104 -0
  607. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_controller.py +57 -0
  608. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_heatershaker.py +109 -0
  609. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_magdeck.py +75 -0
  610. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_smoothie.py +445 -0
  611. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_tempdeck.py +109 -0
  612. opentrons-9.0.0a0/tests/opentrons/hardware_control/integration/test_thermocycler.py +262 -0
  613. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_flexstacker.py +646 -0
  614. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_heatershaker.py +325 -0
  615. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_magdeck.py +84 -0
  616. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_tempdeck.py +118 -0
  617. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_thermocycler.py +612 -0
  618. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_hc_vacuummodule.py +170 -0
  619. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_lid_temp_status.py +61 -0
  620. opentrons-9.0.0a0/tests/opentrons/hardware_control/modules/test_plate_temp_status.py +78 -0
  621. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_adapters.py +10 -0
  622. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_api_helpers.py +41 -0
  623. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_calibration_functions.py +103 -0
  624. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_execution_manager.py +80 -0
  625. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_gpio.py +41 -0
  626. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_gripper.py +203 -0
  627. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_importability.py +9 -0
  628. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_instruments.py +934 -0
  629. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_module_control.py +182 -0
  630. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_modules.py +661 -0
  631. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_moves.py +721 -0
  632. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_ot3_api.py +2620 -0
  633. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_ot3_calibration.py +462 -0
  634. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_ot3_transforms.py +100 -0
  635. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_pipette.py +510 -0
  636. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_pipette_handler.py +271 -0
  637. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_poller.py +181 -0
  638. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_simulator_setup.py +266 -0
  639. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_thread_manager.py +132 -0
  640. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_types.py +26 -0
  641. opentrons-9.0.0a0/tests/opentrons/hardware_control/test_util.py +109 -0
  642. opentrons-9.0.0a0/tests/opentrons/legacy_commands/test_protocol_commands.py +43 -0
  643. opentrons-9.0.0a0/tests/opentrons/legacy_commands/test_publisher.py +331 -0
  644. opentrons-9.0.0a0/tests/opentrons/motion_planning/test_adjacent_slots_getters.py +211 -0
  645. opentrons-9.0.0a0/tests/opentrons/motion_planning/test_deck_conflict.py +686 -0
  646. opentrons-9.0.0a0/tests/opentrons/motion_planning/test_waypoints.py +311 -0
  647. opentrons-9.0.0a0/tests/opentrons/protocol_api/__init__.py +186 -0
  648. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_absorbance_reader_core.py +189 -0
  649. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_deck_conflict.py +1583 -0
  650. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_default_labware_versions.py +110 -0
  651. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_flex_stacker_core.py +757 -0
  652. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_heater_shaker_core.py +286 -0
  653. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_instrument_core.py +3294 -0
  654. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_labware_core.py +572 -0
  655. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_load_labware_params.py +185 -0
  656. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_magnetic_module_core.py +193 -0
  657. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_module_core.py +129 -0
  658. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_overlap_versions.py +33 -0
  659. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_point_calculations.py +69 -0
  660. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_protocol_core.py +2080 -0
  661. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_stringify.py +108 -0
  662. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_tasks.py +48 -0
  663. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_temperature_module_core.py +177 -0
  664. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_thermocycler_core.py +561 -0
  665. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_transfer_components_executor.py +2745 -0
  666. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/engine/test_well_core.py +415 -0
  667. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_base_module_core.py +77 -0
  668. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_deck.py +305 -0
  669. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_heater_shaker_core.py +396 -0
  670. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_labware_offset_provider.py +101 -0
  671. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_magnetic_module_core.py +189 -0
  672. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_module_geometry.py +443 -0
  673. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_protocol_context_implementation.py +491 -0
  674. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_temperature_module_core.py +141 -0
  675. opentrons-9.0.0a0/tests/opentrons/protocol_api/core/legacy/test_thermocycler_core.py +452 -0
  676. opentrons-9.0.0a0/tests/opentrons/protocol_api/partial_tip_configurations.py +505 -0
  677. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_absorbance_reader_context.py +67 -0
  678. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_deck.py +475 -0
  679. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_flex_stacker_context.py +449 -0
  680. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_heater_shaker_context.py +415 -0
  681. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_instrument_context.py +4481 -0
  682. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_labware.py +692 -0
  683. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_lc_blowout_properties.py +196 -0
  684. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_lc_delay_properties.py +107 -0
  685. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_lc_mix_properties.py +115 -0
  686. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_lc_touch_tip_properties.py +226 -0
  687. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_liquid_class.py +112 -0
  688. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_liquid_class_properties.py +546 -0
  689. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_magnetic_module_context.py +200 -0
  690. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_module_context.py +359 -0
  691. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_parameter_context.py +290 -0
  692. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_protocol_context.py +2274 -0
  693. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_robot_context.py +258 -0
  694. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_temperature_module_context.py +260 -0
  695. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_thermocycler_context.py +791 -0
  696. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_validation.py +925 -0
  697. opentrons-9.0.0a0/tests/opentrons/protocol_api/test_well.py +181 -0
  698. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/conftest.py +29 -0
  699. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/test_liquid_classes.py +166 -0
  700. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/test_modules.py +84 -0
  701. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/test_pipette_movement_deck_conflicts.py +370 -0
  702. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/test_transfer_with_liquid_classes.py +3193 -0
  703. opentrons-9.0.0a0/tests/opentrons/protocol_api_integration/test_trashes.py +171 -0
  704. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/core/protocol_api/test_instrument_context.py +101 -0
  705. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/core/simulator/conftest.py +136 -0
  706. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/core/simulator/test_instrument_context.py +337 -0
  707. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/core/simulator/test_protocol_context.py +66 -0
  708. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_accessor_fn.py +127 -0
  709. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_instrument.py +123 -0
  710. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_labware.py +684 -0
  711. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_labware_load.py +58 -0
  712. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_module_context.py +538 -0
  713. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_module_validation_and_errors.py +59 -0
  714. opentrons-9.0.0a0/tests/opentrons/protocol_api_old/test_offsets.py +27 -0
  715. opentrons-9.0.0a0/tests/opentrons/protocol_engine/actions/test_action_dispatcher.py +41 -0
  716. opentrons-9.0.0a0/tests/opentrons/protocol_engine/clients/test_child_thread_transport.py +127 -0
  717. opentrons-9.0.0a0/tests/opentrons/protocol_engine/clients/test_sync_client.py +124 -0
  718. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/absorbance_reader/test_close_lid.py +150 -0
  719. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/absorbance_reader/test_initialize.py +239 -0
  720. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/absorbance_reader/test_open_lid.py +151 -0
  721. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/absorbance_reader/test_read.py +189 -0
  722. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_gripper.py +154 -0
  723. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_module.py +110 -0
  724. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_pipette.py +109 -0
  725. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/calibration/test_move_to_maintenance_position.py +181 -0
  726. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/conftest.py +153 -0
  727. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/conftest.py +26 -0
  728. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_common.py +2226 -0
  729. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_empty.py +279 -0
  730. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_fill.py +379 -0
  731. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_retrieve.py +768 -0
  732. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_set_stored_labware.py +905 -0
  733. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_store.py +584 -0
  734. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_close_latch.py +61 -0
  735. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_open_latch.py +61 -0
  736. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_prepare_shuttle.py +116 -0
  737. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_close_labware_latch.py +81 -0
  738. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_deactivate_heater.py +50 -0
  739. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_deactivate_shaker.py +82 -0
  740. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_open_labware_latch.py +87 -0
  741. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_and_wait_for_shake_speed.py +90 -0
  742. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_shake_speed.py +115 -0
  743. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_target_temperature.py +80 -0
  744. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/heater_shaker/test_wait_for_temperature.py +54 -0
  745. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/magnetic_module/test_disengage.py +49 -0
  746. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/magnetic_module/test_engage.py +54 -0
  747. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/robot/test_close_gripper_jaw.py +50 -0
  748. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/robot/test_move_axes_relative_to.py +51 -0
  749. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/robot/test_move_axes_to.py +53 -0
  750. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/robot/test_move_to.py +47 -0
  751. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/robot/test_open_gripper_jaw.py +50 -0
  752. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/temperature_module/test_deactivate.py +49 -0
  753. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/temperature_module/test_set_target_temperature.py +81 -0
  754. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/temperature_module/test_wait_for_temperature.py +94 -0
  755. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_air_gap_in_place.py +292 -0
  756. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_aspirate.py +757 -0
  757. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_aspirate_in_place.py +346 -0
  758. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_aspirate_while_tracking.py +516 -0
  759. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_blow_out.py +252 -0
  760. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_blow_out_in_place.py +125 -0
  761. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_capture_image.py +469 -0
  762. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_command_schema_snapshot.py +27 -0
  763. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_command_unions.py +27 -0
  764. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_comment.py +19 -0
  765. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py +118 -0
  766. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_configure_nozzle_layout.py +217 -0
  767. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_create_timer.py +64 -0
  768. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_dispense.py +324 -0
  769. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_dispense_in_place.py +332 -0
  770. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_dispense_while_tracking.py +408 -0
  771. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_drop_tip.py +461 -0
  772. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_drop_tip_in_place.py +124 -0
  773. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_get_next_tip.py +142 -0
  774. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_get_tip_presence.py +45 -0
  775. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_hash_command_params.py +77 -0
  776. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_home.py +79 -0
  777. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_liquid_probe.py +779 -0
  778. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_labware.py +271 -0
  779. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_lid.py +117 -0
  780. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_lid_stack.py +164 -0
  781. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_liquid.py +103 -0
  782. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_liquid_class.py +171 -0
  783. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_module.py +382 -0
  784. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_load_pipette.py +246 -0
  785. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_labware.py +967 -0
  786. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_relative.py +92 -0
  787. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_to_addressable_area.py +222 -0
  788. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_to_addressable_area_for_drop_tip.py +145 -0
  789. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_to_coordinates.py +104 -0
  790. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_move_to_well.py +167 -0
  791. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_pick_up_tip.py +296 -0
  792. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_prepare_to_aspirate.py +139 -0
  793. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_pressure_dispense.py +146 -0
  794. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_reload_labware.py +111 -0
  795. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_retract_axis.py +30 -0
  796. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_save_position.py +54 -0
  797. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_seal_pipette_to_tip.py +319 -0
  798. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_set_rail_lights.py +31 -0
  799. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_set_status_bar.py +67 -0
  800. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_set_tip_state.py +52 -0
  801. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_touch_tip.py +295 -0
  802. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_unseal_pipette_from_tip.py +331 -0
  803. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_verify_tip_presence.py +35 -0
  804. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_wait_for_duration.py +26 -0
  805. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_wait_for_resume.py +33 -0
  806. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/test_wait_for_tasks.py +97 -0
  807. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_close_lid.py +62 -0
  808. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_deactivate_block.py +48 -0
  809. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_deactivate_lid.py +48 -0
  810. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_open_lid.py +60 -0
  811. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_run_extended_profile.py +125 -0
  812. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_run_profile.py +81 -0
  813. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_set_target_block_temperature.py +101 -0
  814. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_set_target_lid_temperature.py +84 -0
  815. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_start_run_extended_profile.py +149 -0
  816. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_wait_for_block_temperature.py +54 -0
  817. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/thermocycler/test_wait_for_lid_temperature.py +54 -0
  818. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_engage_axes.py +60 -0
  819. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_ungrip_labware.py +42 -0
  820. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_blow_out_in_place.py +61 -0
  821. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_drop_tip_in_place.py +74 -0
  822. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_manual_retrieve.py +635 -0
  823. opentrons-9.0.0a0/tests/opentrons/protocol_engine/commands/unsafe/test_update_position_estimators.py +56 -0
  824. opentrons-9.0.0a0/tests/opentrons/protocol_engine/conftest.py +316 -0
  825. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_command_executor.py +776 -0
  826. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_door_watcher.py +147 -0
  827. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_equipment_handler.py +1342 -0
  828. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_gantry_mover.py +715 -0
  829. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_hardware_stopper.py +369 -0
  830. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_heater_shaker_movement_flagger.py +486 -0
  831. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_labware_movement_handler.py +663 -0
  832. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_movement_handler.py +572 -0
  833. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_pipetting_handler.py +882 -0
  834. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_queue_worker.py +159 -0
  835. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_rail_lights_handler.py +28 -0
  836. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_run_control_handler.py +122 -0
  837. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_status_bar_handler.py +55 -0
  838. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_task_handler.py +594 -0
  839. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_thermocycler_movement_flagger.py +233 -0
  840. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_thermocycler_plate_lifter.py +164 -0
  841. opentrons-9.0.0a0/tests/opentrons/protocol_engine/execution/test_tip_handler.py +783 -0
  842. opentrons-9.0.0a0/tests/opentrons/protocol_engine/mock_circular_frusta.py +216 -0
  843. opentrons-9.0.0a0/tests/opentrons/protocol_engine/mock_rectangular_frusta.py +327 -0
  844. opentrons-9.0.0a0/tests/opentrons/protocol_engine/note_utils.py +65 -0
  845. opentrons-9.0.0a0/tests/opentrons/protocol_engine/pipette_fixtures.py +374 -0
  846. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_concurrency_provider.py +30 -0
  847. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_deck_configuration_provider.py +409 -0
  848. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_deck_data_provider.py +136 -0
  849. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_labware_data_provider.py +49 -0
  850. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_labware_validation.py +122 -0
  851. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_model_utils.py +38 -0
  852. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_ot3_validation.py +37 -0
  853. opentrons-9.0.0a0/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py +430 -0
  854. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/command_fixtures.py +735 -0
  855. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/conftest.py +33 -0
  856. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/inner_geometry_test_params.py +179 -0
  857. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_addressable_area_store_old.py +195 -0
  858. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_addressable_area_view_old.py +525 -0
  859. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_command_history.py +318 -0
  860. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_command_state.py +1372 -0
  861. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_command_store_old.py +856 -0
  862. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_command_view_old.py +1117 -0
  863. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_flex_stacker_state.py +220 -0
  864. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_fluid_stack.py +220 -0
  865. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_geometry_view.py +4822 -0
  866. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_labware_origin_math.py +1291 -0
  867. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_labware_state.py +154 -0
  868. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_labware_store_old.py +536 -0
  869. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_labware_view_old.py +1846 -0
  870. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_liquid_class_store_old.py +66 -0
  871. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_liquid_class_view_old.py +68 -0
  872. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_liquid_store_old.py +34 -0
  873. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_liquid_view_old.py +60 -0
  874. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_module_store_old.py +967 -0
  875. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_module_view_old.py +2168 -0
  876. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_motion_view.py +1153 -0
  877. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_move_types.py +101 -0
  878. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_pipette_state.py +296 -0
  879. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_pipette_store_old.py +797 -0
  880. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_pipette_view_old.py +1218 -0
  881. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_state_store.py +153 -0
  882. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_task_state.py +289 -0
  883. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_tip_state.py +744 -0
  884. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_update_types.py +94 -0
  885. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_well_math.py +461 -0
  886. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_well_store_old.py +236 -0
  887. opentrons-9.0.0a0/tests/opentrons/protocol_engine/state/test_well_view_old.py +66 -0
  888. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_create_protocol_engine.py +184 -0
  889. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_labware_offset_standardization.py +750 -0
  890. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_plugins.py +77 -0
  891. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_protocol_engine.py +1437 -0
  892. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_slot_standardization.py +229 -0
  893. opentrons-9.0.0a0/tests/opentrons/protocol_engine/test_types.py +132 -0
  894. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_extract_labware_definitions.py +274 -0
  895. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_file_format_validator.py +114 -0
  896. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_file_hasher.py +66 -0
  897. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_file_identifier.py +342 -0
  898. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_file_reader_writer.py +69 -0
  899. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_protocol_reader.py +291 -0
  900. opentrons-9.0.0a0/tests/opentrons/protocol_reader/test_role_analyzer.py +225 -0
  901. opentrons-9.0.0a0/tests/opentrons/protocol_runner/smoke_tests/conftest.py +245 -0
  902. opentrons-9.0.0a0/tests/opentrons/protocol_runner/smoke_tests/test_legacy_command_mapper.py +833 -0
  903. opentrons-9.0.0a0/tests/opentrons/protocol_runner/smoke_tests/test_legacy_custom_labware.py +74 -0
  904. opentrons-9.0.0a0/tests/opentrons/protocol_runner/smoke_tests/test_legacy_module_commands.py +155 -0
  905. opentrons-9.0.0a0/tests/opentrons/protocol_runner/smoke_tests/test_protocol_runner.py +391 -0
  906. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_json_translator.py +866 -0
  907. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_legacy_command_mapper.py +667 -0
  908. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_legacy_context_plugin.py +236 -0
  909. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_protocol_runner.py +878 -0
  910. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_run_orchestrator.py +584 -0
  911. opentrons-9.0.0a0/tests/opentrons/protocol_runner/test_task_queue.py +85 -0
  912. opentrons-9.0.0a0/tests/opentrons/protocols/advanced_control/transfers/test_common_functions.py +178 -0
  913. opentrons-9.0.0a0/tests/opentrons/protocols/advanced_control/transfers/test_transfer_liquid_utils.py +650 -0
  914. opentrons-9.0.0a0/tests/opentrons/protocols/advanced_control/transfers/test_transfers.py +1659 -0
  915. opentrons-9.0.0a0/tests/opentrons/protocols/api_support/test_instrument.py +166 -0
  916. opentrons-9.0.0a0/tests/opentrons/protocols/api_support/test_labware_like.py +137 -0
  917. opentrons-9.0.0a0/tests/opentrons/protocols/api_support/test_tip_tracker.py +168 -0
  918. opentrons-9.0.0a0/tests/opentrons/protocols/api_support/test_util.py +195 -0
  919. opentrons-9.0.0a0/tests/opentrons/protocols/duration/test_estimator.py +279 -0
  920. opentrons-9.0.0a0/tests/opentrons/protocols/execution/test_execute_json_v3.py +536 -0
  921. opentrons-9.0.0a0/tests/opentrons/protocols/execution/test_execute_json_v4.py +628 -0
  922. opentrons-9.0.0a0/tests/opentrons/protocols/execution/test_execute_json_v5.py +115 -0
  923. opentrons-9.0.0a0/tests/opentrons/protocols/execution/test_execute_python.py +126 -0
  924. opentrons-9.0.0a0/tests/opentrons/protocols/fixtures/bundled_protocols/simple_bundle/protocol.py +20 -0
  925. opentrons-9.0.0a0/tests/opentrons/protocols/geometry/test_geometry.py +458 -0
  926. opentrons-9.0.0a0/tests/opentrons/protocols/geometry/test_inner_well_math_utils.py +489 -0
  927. opentrons-9.0.0a0/tests/opentrons/protocols/geometry/test_planning.py +43 -0
  928. opentrons-9.0.0a0/tests/opentrons/protocols/models/test_json_protocol.py +32 -0
  929. opentrons-9.0.0a0/tests/opentrons/protocols/parameters/test_csv_parameter_definition.py +103 -0
  930. opentrons-9.0.0a0/tests/opentrons/protocols/parameters/test_csv_parameter_interface.py +227 -0
  931. opentrons-9.0.0a0/tests/opentrons/protocols/parameters/test_parameter_definition.py +337 -0
  932. opentrons-9.0.0a0/tests/opentrons/protocols/parameters/test_validation.py +307 -0
  933. opentrons-9.0.0a0/tests/opentrons/protocols/test_bundle.py +53 -0
  934. opentrons-9.0.0a0/tests/opentrons/protocols/test_parse.py +741 -0
  935. opentrons-9.0.0a0/tests/opentrons/system/test_nmcli.py +197 -0
  936. opentrons-9.0.0a0/tests/opentrons/system/test_wifi.py +219 -0
  937. opentrons-9.0.0a0/tests/opentrons/test_execute.py +542 -0
  938. opentrons-9.0.0a0/tests/opentrons/test_init.py +14 -0
  939. opentrons-9.0.0a0/tests/opentrons/test_legacy_broker.py +79 -0
  940. opentrons-9.0.0a0/tests/opentrons/test_ordered_set.py +156 -0
  941. opentrons-9.0.0a0/tests/opentrons/test_simulate.py +419 -0
  942. opentrons-9.0.0a0/tests/opentrons/test_types.py +120 -0
  943. opentrons-9.0.0a0/tests/opentrons/tools/test_pipette_memory.py +110 -0
  944. opentrons-9.0.0a0/tests/opentrons/util/test_broker.py +57 -0
  945. opentrons-9.0.0a0/tests/opentrons/util/test_change_notifier.py +86 -0
  946. opentrons-9.0.0a0/tests/opentrons/util/test_entrypoint_util.py +80 -0
  947. opentrons-9.0.0a0/tests/opentrons/util/test_get_union_elements.py +48 -0
  948. opentrons-9.0.0a0/tests/opentrons/util/test_linal.py +70 -0
  949. opentrons-9.0.0a0/tests/opentrons/util/test_performance_helpers.py +25 -0
  950. opentrons-9.0.0a0/uv.lock +2606 -0
  951. opentrons-8.8.1/.flake8 +0 -67
  952. opentrons-8.8.1/PKG-INFO +0 -37
  953. opentrons-8.8.1/Pipfile +0 -58
  954. opentrons-8.8.1/Pipfile.lock +0 -1935
  955. opentrons-8.8.1/mypy.ini +0 -12
  956. opentrons-8.8.1/pyproject.toml +0 -84
  957. opentrons-8.8.1/pytest.ini +0 -15
  958. opentrons-8.8.1/src/opentrons/__init__.py +0 -150
  959. opentrons-8.8.1/src/opentrons/_version.py +0 -34
  960. opentrons-8.8.1/src/opentrons/calibration_storage/__init__.py +0 -54
  961. opentrons-8.8.1/src/opentrons/calibration_storage/deck_configuration.py +0 -62
  962. opentrons-8.8.1/src/opentrons/calibration_storage/encoder_decoder.py +0 -31
  963. opentrons-8.8.1/src/opentrons/calibration_storage/file_operators.py +0 -142
  964. opentrons-8.8.1/src/opentrons/calibration_storage/helpers.py +0 -103
  965. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/__init__.py +0 -34
  966. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/deck_attitude.py +0 -85
  967. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/mark_bad_calibration.py +0 -27
  968. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/models/v1.py +0 -149
  969. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/pipette_offset.py +0 -129
  970. opentrons-8.8.1/src/opentrons/calibration_storage/ot2/tip_length.py +0 -281
  971. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/__init__.py +0 -31
  972. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/deck_attitude.py +0 -83
  973. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/gripper_offset.py +0 -156
  974. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/models/v1.py +0 -122
  975. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/module_offset.py +0 -138
  976. opentrons-8.8.1/src/opentrons/calibration_storage/ot3/pipette_offset.py +0 -95
  977. opentrons-8.8.1/src/opentrons/calibration_storage/types.py +0 -45
  978. opentrons-8.8.1/src/opentrons/cli/analyze.py +0 -560
  979. opentrons-8.8.1/src/opentrons/config/__init__.py +0 -638
  980. opentrons-8.8.1/src/opentrons/config/advanced_settings.py +0 -871
  981. opentrons-8.8.1/src/opentrons/config/defaults_ot2.py +0 -214
  982. opentrons-8.8.1/src/opentrons/config/defaults_ot3.py +0 -499
  983. opentrons-8.8.1/src/opentrons/config/feature_flags.py +0 -86
  984. opentrons-8.8.1/src/opentrons/config/gripper_config.py +0 -55
  985. opentrons-8.8.1/src/opentrons/config/reset.py +0 -203
  986. opentrons-8.8.1/src/opentrons/config/robot_configs.py +0 -187
  987. opentrons-8.8.1/src/opentrons/config/types.py +0 -183
  988. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/__init__.py +0 -11
  989. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/abstract.py +0 -72
  990. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/async_byonoy.py +0 -352
  991. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/driver.py +0 -81
  992. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/hid_protocol.py +0 -161
  993. opentrons-8.8.1/src/opentrons/drivers/absorbance_reader/simulator.py +0 -84
  994. opentrons-8.8.1/src/opentrons/drivers/asyncio/communication/__init__.py +0 -22
  995. opentrons-8.8.1/src/opentrons/drivers/asyncio/communication/async_serial.py +0 -187
  996. opentrons-8.8.1/src/opentrons/drivers/asyncio/communication/errors.py +0 -88
  997. opentrons-8.8.1/src/opentrons/drivers/asyncio/communication/serial_connection.py +0 -658
  998. opentrons-8.8.1/src/opentrons/drivers/command_builder.py +0 -102
  999. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/__init__.py +0 -13
  1000. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/abstract.py +0 -214
  1001. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/driver.py +0 -773
  1002. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/simulator.py +0 -309
  1003. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/types.py +0 -367
  1004. opentrons-8.8.1/src/opentrons/drivers/flex_stacker/utils.py +0 -19
  1005. opentrons-8.8.1/src/opentrons/drivers/heater_shaker/__init__.py +0 -5
  1006. opentrons-8.8.1/src/opentrons/drivers/heater_shaker/abstract.py +0 -81
  1007. opentrons-8.8.1/src/opentrons/drivers/heater_shaker/driver.py +0 -214
  1008. opentrons-8.8.1/src/opentrons/drivers/heater_shaker/simulator.py +0 -98
  1009. opentrons-8.8.1/src/opentrons/drivers/mag_deck/__init__.py +0 -6
  1010. opentrons-8.8.1/src/opentrons/drivers/mag_deck/abstract.py +0 -44
  1011. opentrons-8.8.1/src/opentrons/drivers/mag_deck/driver.py +0 -208
  1012. opentrons-8.8.1/src/opentrons/drivers/mag_deck/simulator.py +0 -63
  1013. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/dev_types.py +0 -94
  1014. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/gpio.py +0 -282
  1015. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/gpio_simulator.py +0 -127
  1016. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/interfaces.py +0 -15
  1017. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/types.py +0 -364
  1018. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/usb.py +0 -102
  1019. opentrons-8.8.1/src/opentrons/drivers/rpi_drivers/usb_simulator.py +0 -22
  1020. opentrons-8.8.1/src/opentrons/drivers/serial_communication.py +0 -151
  1021. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/connection.py +0 -51
  1022. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/constants.py +0 -121
  1023. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/driver_3_0.py +0 -1933
  1024. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/parse_utils.py +0 -143
  1025. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/simulator.py +0 -99
  1026. opentrons-8.8.1/src/opentrons/drivers/smoothie_drivers/types.py +0 -16
  1027. opentrons-8.8.1/src/opentrons/drivers/temp_deck/__init__.py +0 -10
  1028. opentrons-8.8.1/src/opentrons/drivers/temp_deck/abstract.py +0 -54
  1029. opentrons-8.8.1/src/opentrons/drivers/temp_deck/driver.py +0 -197
  1030. opentrons-8.8.1/src/opentrons/drivers/temp_deck/simulator.py +0 -57
  1031. opentrons-8.8.1/src/opentrons/drivers/thermocycler/__init__.py +0 -12
  1032. opentrons-8.8.1/src/opentrons/drivers/thermocycler/abstract.py +0 -105
  1033. opentrons-8.8.1/src/opentrons/drivers/thermocycler/driver.py +0 -446
  1034. opentrons-8.8.1/src/opentrons/drivers/thermocycler/simulator.py +0 -132
  1035. opentrons-8.8.1/src/opentrons/drivers/types.py +0 -107
  1036. opentrons-8.8.1/src/opentrons/drivers/utils.py +0 -222
  1037. opentrons-8.8.1/src/opentrons/drivers/vacuum_module/__init__.py +0 -5
  1038. opentrons-8.8.1/src/opentrons/drivers/vacuum_module/abstract.py +0 -93
  1039. opentrons-8.8.1/src/opentrons/drivers/vacuum_module/driver.py +0 -208
  1040. opentrons-8.8.1/src/opentrons/drivers/vacuum_module/simulator.py +0 -85
  1041. opentrons-8.8.1/src/opentrons/drivers/vacuum_module/types.py +0 -79
  1042. opentrons-8.8.1/src/opentrons/execute.py +0 -745
  1043. opentrons-8.8.1/src/opentrons/hardware_control/__init__.py +0 -65
  1044. opentrons-8.8.1/src/opentrons/hardware_control/__main__.py +0 -77
  1045. opentrons-8.8.1/src/opentrons/hardware_control/adapters.py +0 -98
  1046. opentrons-8.8.1/src/opentrons/hardware_control/api.py +0 -1366
  1047. opentrons-8.8.1/src/opentrons/hardware_control/backends/controller.py +0 -406
  1048. opentrons-8.8.1/src/opentrons/hardware_control/backends/estop_state.py +0 -164
  1049. opentrons-8.8.1/src/opentrons/hardware_control/backends/flex_protocol.py +0 -499
  1050. opentrons-8.8.1/src/opentrons/hardware_control/backends/ot3controller.py +0 -1975
  1051. opentrons-8.8.1/src/opentrons/hardware_control/backends/ot3simulator.py +0 -903
  1052. opentrons-8.8.1/src/opentrons/hardware_control/backends/ot3utils.py +0 -701
  1053. opentrons-8.8.1/src/opentrons/hardware_control/backends/simulator.py +0 -443
  1054. opentrons-8.8.1/src/opentrons/hardware_control/backends/status_bar_state.py +0 -240
  1055. opentrons-8.8.1/src/opentrons/hardware_control/backends/subsystem_manager.py +0 -434
  1056. opentrons-8.8.1/src/opentrons/hardware_control/backends/tip_presence_manager.py +0 -173
  1057. opentrons-8.8.1/src/opentrons/hardware_control/constants.py +0 -6
  1058. opentrons-8.8.1/src/opentrons/hardware_control/dev_types.py +0 -127
  1059. opentrons-8.8.1/src/opentrons/hardware_control/emulation/heater_shaker.py +0 -159
  1060. opentrons-8.8.1/src/opentrons/hardware_control/emulation/magdeck.py +0 -60
  1061. opentrons-8.8.1/src/opentrons/hardware_control/emulation/module_server/__init__.py +0 -8
  1062. opentrons-8.8.1/src/opentrons/hardware_control/emulation/module_server/client.py +0 -78
  1063. opentrons-8.8.1/src/opentrons/hardware_control/emulation/module_server/helpers.py +0 -130
  1064. opentrons-8.8.1/src/opentrons/hardware_control/emulation/module_server/models.py +0 -31
  1065. opentrons-8.8.1/src/opentrons/hardware_control/emulation/module_server/server.py +0 -110
  1066. opentrons-8.8.1/src/opentrons/hardware_control/emulation/proxy.py +0 -241
  1067. opentrons-8.8.1/src/opentrons/hardware_control/emulation/scripts/run_app.py +0 -54
  1068. opentrons-8.8.1/src/opentrons/hardware_control/emulation/scripts/run_module_emulator.py +0 -72
  1069. opentrons-8.8.1/src/opentrons/hardware_control/emulation/scripts/run_smoothie.py +0 -37
  1070. opentrons-8.8.1/src/opentrons/hardware_control/emulation/settings.py +0 -119
  1071. opentrons-8.8.1/src/opentrons/hardware_control/emulation/simulations.py +0 -133
  1072. opentrons-8.8.1/src/opentrons/hardware_control/emulation/smoothie.py +0 -192
  1073. opentrons-8.8.1/src/opentrons/hardware_control/emulation/tempdeck.py +0 -69
  1074. opentrons-8.8.1/src/opentrons/hardware_control/emulation/thermocycler.py +0 -180
  1075. opentrons-8.8.1/src/opentrons/hardware_control/emulation/types.py +0 -10
  1076. opentrons-8.8.1/src/opentrons/hardware_control/emulation/util.py +0 -38
  1077. opentrons-8.8.1/src/opentrons/hardware_control/errors.py +0 -43
  1078. opentrons-8.8.1/src/opentrons/hardware_control/execution_manager.py +0 -164
  1079. opentrons-8.8.1/src/opentrons/hardware_control/instruments/__init__.py +0 -5
  1080. opentrons-8.8.1/src/opentrons/hardware_control/instruments/instrument_abc.py +0 -39
  1081. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot2/instrument_calibration.py +0 -152
  1082. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot2/pipette.py +0 -777
  1083. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot2/pipette_handler.py +0 -996
  1084. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot3/gripper.py +0 -420
  1085. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot3/gripper_handler.py +0 -173
  1086. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot3/instrument_calibration.py +0 -214
  1087. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot3/pipette.py +0 -858
  1088. opentrons-8.8.1/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py +0 -1031
  1089. opentrons-8.8.1/src/opentrons/hardware_control/module_control.py +0 -427
  1090. opentrons-8.8.1/src/opentrons/hardware_control/modules/__init__.py +0 -72
  1091. opentrons-8.8.1/src/opentrons/hardware_control/modules/absorbance_reader.py +0 -380
  1092. opentrons-8.8.1/src/opentrons/hardware_control/modules/flex_stacker.py +0 -977
  1093. opentrons-8.8.1/src/opentrons/hardware_control/modules/heater_shaker.py +0 -463
  1094. opentrons-8.8.1/src/opentrons/hardware_control/modules/magdeck.py +0 -237
  1095. opentrons-8.8.1/src/opentrons/hardware_control/modules/mod_abc.py +0 -253
  1096. opentrons-8.8.1/src/opentrons/hardware_control/modules/module_calibration.py +0 -93
  1097. opentrons-8.8.1/src/opentrons/hardware_control/modules/plate_temp_status.py +0 -61
  1098. opentrons-8.8.1/src/opentrons/hardware_control/modules/tempdeck.py +0 -319
  1099. opentrons-8.8.1/src/opentrons/hardware_control/modules/thermocycler.py +0 -788
  1100. opentrons-8.8.1/src/opentrons/hardware_control/modules/types.py +0 -436
  1101. opentrons-8.8.1/src/opentrons/hardware_control/modules/update.py +0 -255
  1102. opentrons-8.8.1/src/opentrons/hardware_control/modules/utils.py +0 -80
  1103. opentrons-8.8.1/src/opentrons/hardware_control/motion_utilities.py +0 -318
  1104. opentrons-8.8.1/src/opentrons/hardware_control/nozzle_manager.py +0 -425
  1105. opentrons-8.8.1/src/opentrons/hardware_control/ot3_calibration.py +0 -1171
  1106. opentrons-8.8.1/src/opentrons/hardware_control/ot3api.py +0 -3304
  1107. opentrons-8.8.1/src/opentrons/hardware_control/poller.py +0 -126
  1108. opentrons-8.8.1/src/opentrons/hardware_control/protocols/__init__.py +0 -106
  1109. opentrons-8.8.1/src/opentrons/hardware_control/protocols/asyncio_configurable.py +0 -11
  1110. opentrons-8.8.1/src/opentrons/hardware_control/protocols/calibratable.py +0 -45
  1111. opentrons-8.8.1/src/opentrons/hardware_control/protocols/chassis_accessory_manager.py +0 -90
  1112. opentrons-8.8.1/src/opentrons/hardware_control/protocols/configurable.py +0 -48
  1113. opentrons-8.8.1/src/opentrons/hardware_control/protocols/event_sourcer.py +0 -18
  1114. opentrons-8.8.1/src/opentrons/hardware_control/protocols/execution_controllable.py +0 -33
  1115. opentrons-8.8.1/src/opentrons/hardware_control/protocols/flex_calibratable.py +0 -96
  1116. opentrons-8.8.1/src/opentrons/hardware_control/protocols/flex_instrument_configurer.py +0 -52
  1117. opentrons-8.8.1/src/opentrons/hardware_control/protocols/gripper_controller.py +0 -56
  1118. opentrons-8.8.1/src/opentrons/hardware_control/protocols/hardware_manager.py +0 -51
  1119. opentrons-8.8.1/src/opentrons/hardware_control/protocols/instrument_configurer.py +0 -206
  1120. opentrons-8.8.1/src/opentrons/hardware_control/protocols/liquid_handler.py +0 -274
  1121. opentrons-8.8.1/src/opentrons/hardware_control/protocols/module_provider.py +0 -16
  1122. opentrons-8.8.1/src/opentrons/hardware_control/protocols/motion_controller.py +0 -243
  1123. opentrons-8.8.1/src/opentrons/hardware_control/protocols/types.py +0 -27
  1124. opentrons-8.8.1/src/opentrons/hardware_control/robot_calibration.py +0 -224
  1125. opentrons-8.8.1/src/opentrons/hardware_control/scripts/README.md +0 -28
  1126. opentrons-8.8.1/src/opentrons/hardware_control/scripts/gripper_control.py +0 -208
  1127. opentrons-8.8.1/src/opentrons/hardware_control/scripts/repl.py +0 -187
  1128. opentrons-8.8.1/src/opentrons/hardware_control/scripts/tc_control.py +0 -97
  1129. opentrons-8.8.1/src/opentrons/hardware_control/scripts/update_module_fw.py +0 -279
  1130. opentrons-8.8.1/src/opentrons/hardware_control/simulator_setup.py +0 -260
  1131. opentrons-8.8.1/src/opentrons/hardware_control/thread_manager.py +0 -431
  1132. opentrons-8.8.1/src/opentrons/hardware_control/threaded_async_lock.py +0 -97
  1133. opentrons-8.8.1/src/opentrons/hardware_control/types.py +0 -833
  1134. opentrons-8.8.1/src/opentrons/hardware_control/util.py +0 -234
  1135. opentrons-8.8.1/src/opentrons/legacy_broker.py +0 -53
  1136. opentrons-8.8.1/src/opentrons/legacy_commands/commands.py +0 -536
  1137. opentrons-8.8.1/src/opentrons/legacy_commands/helpers.py +0 -153
  1138. opentrons-8.8.1/src/opentrons/legacy_commands/module_commands.py +0 -328
  1139. opentrons-8.8.1/src/opentrons/legacy_commands/protocol_commands.py +0 -106
  1140. opentrons-8.8.1/src/opentrons/legacy_commands/publisher.py +0 -155
  1141. opentrons-8.8.1/src/opentrons/legacy_commands/robot_commands.py +0 -51
  1142. opentrons-8.8.1/src/opentrons/legacy_commands/types.py +0 -1340
  1143. opentrons-8.8.1/src/opentrons/motion_planning/__init__.py +0 -32
  1144. opentrons-8.8.1/src/opentrons/motion_planning/adjacent_slots_getters.py +0 -168
  1145. opentrons-8.8.1/src/opentrons/motion_planning/deck_conflict.py +0 -506
  1146. opentrons-8.8.1/src/opentrons/motion_planning/errors.py +0 -35
  1147. opentrons-8.8.1/src/opentrons/motion_planning/types.py +0 -42
  1148. opentrons-8.8.1/src/opentrons/motion_planning/waypoints.py +0 -204
  1149. opentrons-8.8.1/src/opentrons/ordered_set.py +0 -138
  1150. opentrons-8.8.1/src/opentrons/protocol_api/__init__.py +0 -109
  1151. opentrons-8.8.1/src/opentrons/protocol_api/_liquid.py +0 -157
  1152. opentrons-8.8.1/src/opentrons/protocol_api/_liquid_properties.py +0 -814
  1153. opentrons-8.8.1/src/opentrons/protocol_api/_nozzle_layout.py +0 -31
  1154. opentrons-8.8.1/src/opentrons/protocol_api/_parameter_context.py +0 -300
  1155. opentrons-8.8.1/src/opentrons/protocol_api/_parameters.py +0 -31
  1156. opentrons-8.8.1/src/opentrons/protocol_api/_transfer_liquid_validation.py +0 -123
  1157. opentrons-8.8.1/src/opentrons/protocol_api/_types.py +0 -50
  1158. opentrons-8.8.1/src/opentrons/protocol_api/core/common.py +0 -35
  1159. opentrons-8.8.1/src/opentrons/protocol_api/core/core_map.py +0 -74
  1160. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/__init__.py +0 -22
  1161. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/_default_labware_versions.py +0 -201
  1162. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/_default_liquid_class_versions.py +0 -56
  1163. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/deck_conflict.py +0 -402
  1164. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/instrument.py +0 -2599
  1165. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/labware.py +0 -245
  1166. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/load_labware_params.py +0 -73
  1167. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/module_core.py +0 -1118
  1168. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/overlap_versions.py +0 -20
  1169. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/pipette_movement_conflict.py +0 -404
  1170. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/protocol.py +0 -1248
  1171. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/robot.py +0 -139
  1172. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/stringify.py +0 -76
  1173. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/tasks.py +0 -48
  1174. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/transfer_components_executor.py +0 -1006
  1175. opentrons-8.8.1/src/opentrons/protocol_api/core/engine/well.py +0 -249
  1176. opentrons-8.8.1/src/opentrons/protocol_api/core/instrument.py +0 -476
  1177. opentrons-8.8.1/src/opentrons/protocol_api/core/labware.py +0 -151
  1178. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/_labware_geometry.py +0 -37
  1179. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/deck.py +0 -369
  1180. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/labware_offset_provider.py +0 -108
  1181. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/legacy_instrument_core.py +0 -726
  1182. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/legacy_labware_core.py +0 -235
  1183. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/legacy_module_core.py +0 -623
  1184. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/legacy_protocol_core.py +0 -634
  1185. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/legacy_well_core.py +0 -166
  1186. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/load_info.py +0 -67
  1187. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/module_geometry.py +0 -547
  1188. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/tasks.py +0 -19
  1189. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy/well_geometry.py +0 -148
  1190. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy_simulator/__init__.py +0 -16
  1191. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +0 -641
  1192. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +0 -97
  1193. opentrons-8.8.1/src/opentrons/protocol_api/core/legacy_simulator/tasks.py +0 -19
  1194. opentrons-8.8.1/src/opentrons/protocol_api/core/module.py +0 -540
  1195. opentrons-8.8.1/src/opentrons/protocol_api/core/protocol.py +0 -332
  1196. opentrons-8.8.1/src/opentrons/protocol_api/core/robot.py +0 -51
  1197. opentrons-8.8.1/src/opentrons/protocol_api/core/tasks.py +0 -31
  1198. opentrons-8.8.1/src/opentrons/protocol_api/core/well.py +0 -120
  1199. opentrons-8.8.1/src/opentrons/protocol_api/core/well_grid.py +0 -45
  1200. opentrons-8.8.1/src/opentrons/protocol_api/create_protocol_context.py +0 -177
  1201. opentrons-8.8.1/src/opentrons/protocol_api/deck.py +0 -223
  1202. opentrons-8.8.1/src/opentrons/protocol_api/disposal_locations.py +0 -244
  1203. opentrons-8.8.1/src/opentrons/protocol_api/instrument_context.py +0 -3666
  1204. opentrons-8.8.1/src/opentrons/protocol_api/labware.py +0 -1621
  1205. opentrons-8.8.1/src/opentrons/protocol_api/module_contexts.py +0 -1733
  1206. opentrons-8.8.1/src/opentrons/protocol_api/protocol_context.py +0 -1902
  1207. opentrons-8.8.1/src/opentrons/protocol_api/robot_context.py +0 -319
  1208. opentrons-8.8.1/src/opentrons/protocol_api/tasks.py +0 -48
  1209. opentrons-8.8.1/src/opentrons/protocol_api/validation.py +0 -811
  1210. opentrons-8.8.1/src/opentrons/protocol_engine/__init__.py +0 -159
  1211. opentrons-8.8.1/src/opentrons/protocol_engine/actions/__init__.py +0 -69
  1212. opentrons-8.8.1/src/opentrons/protocol_engine/actions/action_dispatcher.py +0 -30
  1213. opentrons-8.8.1/src/opentrons/protocol_engine/actions/action_handler.py +0 -13
  1214. opentrons-8.8.1/src/opentrons/protocol_engine/actions/actions.py +0 -324
  1215. opentrons-8.8.1/src/opentrons/protocol_engine/actions/get_state_update.py +0 -38
  1216. opentrons-8.8.1/src/opentrons/protocol_engine/clients/__init__.py +0 -5
  1217. opentrons-8.8.1/src/opentrons/protocol_engine/clients/sync_client.py +0 -209
  1218. opentrons-8.8.1/src/opentrons/protocol_engine/clients/transports.py +0 -197
  1219. opentrons-8.8.1/src/opentrons/protocol_engine/commands/__init__.py +0 -813
  1220. opentrons-8.8.1/src/opentrons/protocol_engine/commands/absorbance_reader/__init__.py +0 -61
  1221. opentrons-8.8.1/src/opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +0 -141
  1222. opentrons-8.8.1/src/opentrons/protocol_engine/commands/absorbance_reader/initialize.py +0 -151
  1223. opentrons-8.8.1/src/opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +0 -141
  1224. opentrons-8.8.1/src/opentrons/protocol_engine/commands/absorbance_reader/read.py +0 -225
  1225. opentrons-8.8.1/src/opentrons/protocol_engine/commands/air_gap_in_place.py +0 -162
  1226. opentrons-8.8.1/src/opentrons/protocol_engine/commands/aspirate.py +0 -245
  1227. opentrons-8.8.1/src/opentrons/protocol_engine/commands/aspirate_in_place.py +0 -184
  1228. opentrons-8.8.1/src/opentrons/protocol_engine/commands/aspirate_while_tracking.py +0 -238
  1229. opentrons-8.8.1/src/opentrons/protocol_engine/commands/blow_out.py +0 -146
  1230. opentrons-8.8.1/src/opentrons/protocol_engine/commands/blow_out_in_place.py +0 -119
  1231. opentrons-8.8.1/src/opentrons/protocol_engine/commands/calibration/__init__.py +0 -60
  1232. opentrons-8.8.1/src/opentrons/protocol_engine/commands/calibration/calibrate_gripper.py +0 -166
  1233. opentrons-8.8.1/src/opentrons/protocol_engine/commands/calibration/calibrate_module.py +0 -117
  1234. opentrons-8.8.1/src/opentrons/protocol_engine/commands/calibration/calibrate_pipette.py +0 -96
  1235. opentrons-8.8.1/src/opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py +0 -156
  1236. opentrons-8.8.1/src/opentrons/protocol_engine/commands/capture_image.py +0 -302
  1237. opentrons-8.8.1/src/opentrons/protocol_engine/commands/command.py +0 -310
  1238. opentrons-8.8.1/src/opentrons/protocol_engine/commands/command_unions.py +0 -1038
  1239. opentrons-8.8.1/src/opentrons/protocol_engine/commands/comment.py +0 -57
  1240. opentrons-8.8.1/src/opentrons/protocol_engine/commands/configure_for_volume.py +0 -108
  1241. opentrons-8.8.1/src/opentrons/protocol_engine/commands/configure_nozzle_layout.py +0 -115
  1242. opentrons-8.8.1/src/opentrons/protocol_engine/commands/create_timer.py +0 -83
  1243. opentrons-8.8.1/src/opentrons/protocol_engine/commands/custom.py +0 -67
  1244. opentrons-8.8.1/src/opentrons/protocol_engine/commands/dispense.py +0 -195
  1245. opentrons-8.8.1/src/opentrons/protocol_engine/commands/dispense_in_place.py +0 -179
  1246. opentrons-8.8.1/src/opentrons/protocol_engine/commands/dispense_while_tracking.py +0 -234
  1247. opentrons-8.8.1/src/opentrons/protocol_engine/commands/drop_tip.py +0 -256
  1248. opentrons-8.8.1/src/opentrons/protocol_engine/commands/drop_tip_in_place.py +0 -205
  1249. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/__init__.py +0 -64
  1250. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/common.py +0 -948
  1251. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/empty.py +0 -293
  1252. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/fill.py +0 -281
  1253. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/retrieve.py +0 -339
  1254. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py +0 -335
  1255. opentrons-8.8.1/src/opentrons/protocol_engine/commands/flex_stacker/store.py +0 -357
  1256. opentrons-8.8.1/src/opentrons/protocol_engine/commands/generate_command_schema.py +0 -61
  1257. opentrons-8.8.1/src/opentrons/protocol_engine/commands/get_next_tip.py +0 -134
  1258. opentrons-8.8.1/src/opentrons/protocol_engine/commands/get_tip_presence.py +0 -87
  1259. opentrons-8.8.1/src/opentrons/protocol_engine/commands/hash_command_params.py +0 -38
  1260. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/__init__.py +0 -116
  1261. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py +0 -83
  1262. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/common.py +0 -20
  1263. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py +0 -82
  1264. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/deactivate_shaker.py +0 -84
  1265. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/open_labware_latch.py +0 -110
  1266. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py +0 -126
  1267. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py +0 -136
  1268. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +0 -116
  1269. opentrons-8.8.1/src/opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py +0 -102
  1270. opentrons-8.8.1/src/opentrons/protocol_engine/commands/home.py +0 -100
  1271. opentrons-8.8.1/src/opentrons/protocol_engine/commands/identify_module.py +0 -86
  1272. opentrons-8.8.1/src/opentrons/protocol_engine/commands/liquid_probe.py +0 -464
  1273. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_labware.py +0 -210
  1274. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_lid.py +0 -154
  1275. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_lid_stack.py +0 -272
  1276. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_liquid.py +0 -95
  1277. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_liquid_class.py +0 -144
  1278. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_module.py +0 -223
  1279. opentrons-8.8.1/src/opentrons/protocol_engine/commands/load_pipette.py +0 -167
  1280. opentrons-8.8.1/src/opentrons/protocol_engine/commands/magnetic_module/__init__.py +0 -32
  1281. opentrons-8.8.1/src/opentrons/protocol_engine/commands/magnetic_module/disengage.py +0 -97
  1282. opentrons-8.8.1/src/opentrons/protocol_engine/commands/magnetic_module/engage.py +0 -119
  1283. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_labware.py +0 -545
  1284. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_relative.py +0 -102
  1285. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_to_addressable_area.py +0 -176
  1286. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py +0 -198
  1287. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_to_coordinates.py +0 -107
  1288. opentrons-8.8.1/src/opentrons/protocol_engine/commands/move_to_well.py +0 -119
  1289. opentrons-8.8.1/src/opentrons/protocol_engine/commands/movement_common.py +0 -367
  1290. opentrons-8.8.1/src/opentrons/protocol_engine/commands/pick_up_tip.py +0 -251
  1291. opentrons-8.8.1/src/opentrons/protocol_engine/commands/pipetting_common.py +0 -488
  1292. opentrons-8.8.1/src/opentrons/protocol_engine/commands/prepare_to_aspirate.py +0 -121
  1293. opentrons-8.8.1/src/opentrons/protocol_engine/commands/pressure_dispense.py +0 -155
  1294. opentrons-8.8.1/src/opentrons/protocol_engine/commands/reload_labware.py +0 -90
  1295. opentrons-8.8.1/src/opentrons/protocol_engine/commands/retract_axis.py +0 -75
  1296. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/__init__.py +0 -70
  1297. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/close_gripper_jaw.py +0 -96
  1298. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/common.py +0 -18
  1299. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/move_axes_relative.py +0 -101
  1300. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/move_axes_to.py +0 -100
  1301. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/move_to.py +0 -94
  1302. opentrons-8.8.1/src/opentrons/protocol_engine/commands/robot/open_gripper_jaw.py +0 -86
  1303. opentrons-8.8.1/src/opentrons/protocol_engine/commands/save_position.py +0 -109
  1304. opentrons-8.8.1/src/opentrons/protocol_engine/commands/seal_pipette_to_tip.py +0 -353
  1305. opentrons-8.8.1/src/opentrons/protocol_engine/commands/set_rail_lights.py +0 -67
  1306. opentrons-8.8.1/src/opentrons/protocol_engine/commands/set_status_bar.py +0 -89
  1307. opentrons-8.8.1/src/opentrons/protocol_engine/commands/set_tip_state.py +0 -97
  1308. opentrons-8.8.1/src/opentrons/protocol_engine/commands/temperature_module/__init__.py +0 -46
  1309. opentrons-8.8.1/src/opentrons/protocol_engine/commands/temperature_module/deactivate.py +0 -86
  1310. opentrons-8.8.1/src/opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py +0 -128
  1311. opentrons-8.8.1/src/opentrons/protocol_engine/commands/temperature_module/wait_for_temperature.py +0 -104
  1312. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/__init__.py +0 -168
  1313. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/close_lid.py +0 -87
  1314. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/deactivate_block.py +0 -80
  1315. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py +0 -80
  1316. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/open_lid.py +0 -87
  1317. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +0 -177
  1318. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/run_profile.py +0 -132
  1319. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +0 -177
  1320. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +0 -129
  1321. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py +0 -191
  1322. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py +0 -93
  1323. opentrons-8.8.1/src/opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py +0 -89
  1324. opentrons-8.8.1/src/opentrons/protocol_engine/commands/touch_tip.py +0 -189
  1325. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/__init__.py +0 -161
  1326. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py +0 -100
  1327. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py +0 -121
  1328. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_engage_axes.py +0 -82
  1329. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +0 -192
  1330. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_close_latch.py +0 -94
  1331. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_manual_retrieve.py +0 -295
  1332. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py +0 -91
  1333. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py +0 -136
  1334. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py +0 -77
  1335. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unsafe/update_position_estimators.py +0 -90
  1336. opentrons-8.8.1/src/opentrons/protocol_engine/commands/unseal_pipette_from_tip.py +0 -153
  1337. opentrons-8.8.1/src/opentrons/protocol_engine/commands/verify_tip_presence.py +0 -100
  1338. opentrons-8.8.1/src/opentrons/protocol_engine/commands/wait_for_duration.py +0 -76
  1339. opentrons-8.8.1/src/opentrons/protocol_engine/commands/wait_for_resume.py +0 -75
  1340. opentrons-8.8.1/src/opentrons/protocol_engine/commands/wait_for_tasks.py +0 -98
  1341. opentrons-8.8.1/src/opentrons/protocol_engine/create_protocol_engine.py +0 -205
  1342. opentrons-8.8.1/src/opentrons/protocol_engine/engine_support.py +0 -31
  1343. opentrons-8.8.1/src/opentrons/protocol_engine/error_recovery_policy.py +0 -81
  1344. opentrons-8.8.1/src/opentrons/protocol_engine/errors/__init__.py +0 -203
  1345. opentrons-8.8.1/src/opentrons/protocol_engine/errors/error_occurrence.py +0 -182
  1346. opentrons-8.8.1/src/opentrons/protocol_engine/errors/exceptions.py +0 -1427
  1347. opentrons-8.8.1/src/opentrons/protocol_engine/execution/__init__.py +0 -54
  1348. opentrons-8.8.1/src/opentrons/protocol_engine/execution/command_executor.py +0 -277
  1349. opentrons-8.8.1/src/opentrons/protocol_engine/execution/create_queue_worker.py +0 -109
  1350. opentrons-8.8.1/src/opentrons/protocol_engine/execution/door_watcher.py +0 -119
  1351. opentrons-8.8.1/src/opentrons/protocol_engine/execution/equipment.py +0 -819
  1352. opentrons-8.8.1/src/opentrons/protocol_engine/execution/gantry_mover.py +0 -686
  1353. opentrons-8.8.1/src/opentrons/protocol_engine/execution/hardware_stopper.py +0 -147
  1354. opentrons-8.8.1/src/opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py +0 -207
  1355. opentrons-8.8.1/src/opentrons/protocol_engine/execution/labware_movement.py +0 -297
  1356. opentrons-8.8.1/src/opentrons/protocol_engine/execution/movement.py +0 -352
  1357. opentrons-8.8.1/src/opentrons/protocol_engine/execution/pipetting.py +0 -608
  1358. opentrons-8.8.1/src/opentrons/protocol_engine/execution/queue_worker.py +0 -90
  1359. opentrons-8.8.1/src/opentrons/protocol_engine/execution/run_control.py +0 -41
  1360. opentrons-8.8.1/src/opentrons/protocol_engine/execution/task_handler.py +0 -157
  1361. opentrons-8.8.1/src/opentrons/protocol_engine/execution/thermocycler_movement_flagger.py +0 -188
  1362. opentrons-8.8.1/src/opentrons/protocol_engine/execution/thermocycler_plate_lifter.py +0 -81
  1363. opentrons-8.8.1/src/opentrons/protocol_engine/execution/tip_handler.py +0 -550
  1364. opentrons-8.8.1/src/opentrons/protocol_engine/labware_offset_standardization.py +0 -194
  1365. opentrons-8.8.1/src/opentrons/protocol_engine/notes/__init__.py +0 -17
  1366. opentrons-8.8.1/src/opentrons/protocol_engine/notes/notes.py +0 -59
  1367. opentrons-8.8.1/src/opentrons/protocol_engine/plugins.py +0 -104
  1368. opentrons-8.8.1/src/opentrons/protocol_engine/protocol_engine.py +0 -784
  1369. opentrons-8.8.1/src/opentrons/protocol_engine/resources/__init__.py +0 -30
  1370. opentrons-8.8.1/src/opentrons/protocol_engine/resources/camera_provider.py +0 -110
  1371. opentrons-8.8.1/src/opentrons/protocol_engine/resources/concurrency_provider.py +0 -27
  1372. opentrons-8.8.1/src/opentrons/protocol_engine/resources/deck_configuration_provider.py +0 -239
  1373. opentrons-8.8.1/src/opentrons/protocol_engine/resources/deck_data_provider.py +0 -94
  1374. opentrons-8.8.1/src/opentrons/protocol_engine/resources/file_provider.py +0 -236
  1375. opentrons-8.8.1/src/opentrons/protocol_engine/resources/labware_data_provider.py +0 -106
  1376. opentrons-8.8.1/src/opentrons/protocol_engine/resources/model_utils.py +0 -32
  1377. opentrons-8.8.1/src/opentrons/protocol_engine/resources/module_data_provider.py +0 -44
  1378. opentrons-8.8.1/src/opentrons/protocol_engine/resources/ot3_validation.py +0 -21
  1379. opentrons-8.8.1/src/opentrons/protocol_engine/resources/pipette_data_provider.py +0 -382
  1380. opentrons-8.8.1/src/opentrons/protocol_engine/slot_standardization.py +0 -130
  1381. opentrons-8.8.1/src/opentrons/protocol_engine/state/_abstract_store.py +0 -27
  1382. opentrons-8.8.1/src/opentrons/protocol_engine/state/_move_types.py +0 -83
  1383. opentrons-8.8.1/src/opentrons/protocol_engine/state/_well_math.py +0 -235
  1384. opentrons-8.8.1/src/opentrons/protocol_engine/state/addressable_areas.py +0 -701
  1385. opentrons-8.8.1/src/opentrons/protocol_engine/state/camera.py +0 -54
  1386. opentrons-8.8.1/src/opentrons/protocol_engine/state/command_history.py +0 -309
  1387. opentrons-8.8.1/src/opentrons/protocol_engine/state/commands.py +0 -1187
  1388. opentrons-8.8.1/src/opentrons/protocol_engine/state/config.py +0 -39
  1389. opentrons-8.8.1/src/opentrons/protocol_engine/state/files.py +0 -57
  1390. opentrons-8.8.1/src/opentrons/protocol_engine/state/fluid_stack.py +0 -138
  1391. opentrons-8.8.1/src/opentrons/protocol_engine/state/geometry.py +0 -2333
  1392. opentrons-8.8.1/src/opentrons/protocol_engine/state/inner_well_math_utils.py +0 -548
  1393. opentrons-8.8.1/src/opentrons/protocol_engine/state/labware.py +0 -1452
  1394. opentrons-8.8.1/src/opentrons/protocol_engine/state/labware_origin_math/errors.py +0 -94
  1395. opentrons-8.8.1/src/opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +0 -1336
  1396. opentrons-8.8.1/src/opentrons/protocol_engine/state/liquid_classes.py +0 -82
  1397. opentrons-8.8.1/src/opentrons/protocol_engine/state/liquids.py +0 -73
  1398. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/__init__.py +0 -45
  1399. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py +0 -35
  1400. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py +0 -112
  1401. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/heater_shaker_module_substate.py +0 -115
  1402. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py +0 -65
  1403. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/temperature_module_substate.py +0 -67
  1404. opentrons-8.8.1/src/opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +0 -200
  1405. opentrons-8.8.1/src/opentrons/protocol_engine/state/modules.py +0 -1543
  1406. opentrons-8.8.1/src/opentrons/protocol_engine/state/motion.py +0 -415
  1407. opentrons-8.8.1/src/opentrons/protocol_engine/state/pipettes.py +0 -914
  1408. opentrons-8.8.1/src/opentrons/protocol_engine/state/preconditions.py +0 -59
  1409. opentrons-8.8.1/src/opentrons/protocol_engine/state/state.py +0 -465
  1410. opentrons-8.8.1/src/opentrons/protocol_engine/state/state_summary.py +0 -40
  1411. opentrons-8.8.1/src/opentrons/protocol_engine/state/tasks.py +0 -139
  1412. opentrons-8.8.1/src/opentrons/protocol_engine/state/tips.py +0 -339
  1413. opentrons-8.8.1/src/opentrons/protocol_engine/state/update_types.py +0 -921
  1414. opentrons-8.8.1/src/opentrons/protocol_engine/state/wells.py +0 -290
  1415. opentrons-8.8.1/src/opentrons/protocol_engine/types/__init__.py +0 -331
  1416. opentrons-8.8.1/src/opentrons/protocol_engine/types/automatic_tip_selection.py +0 -39
  1417. opentrons-8.8.1/src/opentrons/protocol_engine/types/command_annotations.py +0 -53
  1418. opentrons-8.8.1/src/opentrons/protocol_engine/types/command_preconditions.py +0 -18
  1419. opentrons-8.8.1/src/opentrons/protocol_engine/types/deck_configuration.py +0 -85
  1420. opentrons-8.8.1/src/opentrons/protocol_engine/types/execution.py +0 -96
  1421. opentrons-8.8.1/src/opentrons/protocol_engine/types/hardware_passthrough.py +0 -25
  1422. opentrons-8.8.1/src/opentrons/protocol_engine/types/instrument.py +0 -54
  1423. opentrons-8.8.1/src/opentrons/protocol_engine/types/instrument_sensors.py +0 -47
  1424. opentrons-8.8.1/src/opentrons/protocol_engine/types/labware.py +0 -128
  1425. opentrons-8.8.1/src/opentrons/protocol_engine/types/labware_movement.py +0 -22
  1426. opentrons-8.8.1/src/opentrons/protocol_engine/types/labware_offset_location.py +0 -111
  1427. opentrons-8.8.1/src/opentrons/protocol_engine/types/labware_offset_vector.py +0 -16
  1428. opentrons-8.8.1/src/opentrons/protocol_engine/types/liquid.py +0 -40
  1429. opentrons-8.8.1/src/opentrons/protocol_engine/types/liquid_class.py +0 -59
  1430. opentrons-8.8.1/src/opentrons/protocol_engine/types/liquid_level_detection.py +0 -191
  1431. opentrons-8.8.1/src/opentrons/protocol_engine/types/location.py +0 -218
  1432. opentrons-8.8.1/src/opentrons/protocol_engine/types/module.py +0 -320
  1433. opentrons-8.8.1/src/opentrons/protocol_engine/types/run_time_parameters.py +0 -133
  1434. opentrons-8.8.1/src/opentrons/protocol_engine/types/tasks.py +0 -38
  1435. opentrons-8.8.1/src/opentrons/protocol_engine/types/util.py +0 -21
  1436. opentrons-8.8.1/src/opentrons/protocol_engine/types/well_position.py +0 -124
  1437. opentrons-8.8.1/src/opentrons/protocol_reader/__init__.py +0 -37
  1438. opentrons-8.8.1/src/opentrons/protocol_reader/file_format_validator.py +0 -152
  1439. opentrons-8.8.1/src/opentrons/protocol_reader/file_hasher.py +0 -27
  1440. opentrons-8.8.1/src/opentrons/protocol_reader/file_identifier.py +0 -284
  1441. opentrons-8.8.1/src/opentrons/protocol_reader/file_reader_writer.py +0 -90
  1442. opentrons-8.8.1/src/opentrons/protocol_reader/input_file.py +0 -16
  1443. opentrons-8.8.1/src/opentrons/protocol_reader/protocol_reader.py +0 -188
  1444. opentrons-8.8.1/src/opentrons/protocol_reader/protocol_source.py +0 -124
  1445. opentrons-8.8.1/src/opentrons/protocol_reader/role_analyzer.py +0 -86
  1446. opentrons-8.8.1/src/opentrons/protocol_runner/__init__.py +0 -26
  1447. opentrons-8.8.1/src/opentrons/protocol_runner/create_simulating_orchestrator.py +0 -145
  1448. opentrons-8.8.1/src/opentrons/protocol_runner/json_file_reader.py +0 -55
  1449. opentrons-8.8.1/src/opentrons/protocol_runner/json_translator.py +0 -314
  1450. opentrons-8.8.1/src/opentrons/protocol_runner/legacy_command_mapper.py +0 -860
  1451. opentrons-8.8.1/src/opentrons/protocol_runner/legacy_context_plugin.py +0 -116
  1452. opentrons-8.8.1/src/opentrons/protocol_runner/protocol_runner.py +0 -543
  1453. opentrons-8.8.1/src/opentrons/protocol_runner/python_protocol_wrappers.py +0 -179
  1454. opentrons-8.8.1/src/opentrons/protocol_runner/run_orchestrator.py +0 -543
  1455. opentrons-8.8.1/src/opentrons/protocol_runner/task_queue.py +0 -95
  1456. opentrons-8.8.1/src/opentrons/protocols/__init__.py +0 -6
  1457. opentrons-8.8.1/src/opentrons/protocols/advanced_control/common.py +0 -38
  1458. opentrons-8.8.1/src/opentrons/protocols/advanced_control/mix.py +0 -60
  1459. opentrons-8.8.1/src/opentrons/protocols/advanced_control/transfers/common.py +0 -180
  1460. opentrons-8.8.1/src/opentrons/protocols/advanced_control/transfers/transfer.py +0 -972
  1461. opentrons-8.8.1/src/opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +0 -231
  1462. opentrons-8.8.1/src/opentrons/protocols/api_support/deck_type.py +0 -110
  1463. opentrons-8.8.1/src/opentrons/protocols/api_support/definitions.py +0 -18
  1464. opentrons-8.8.1/src/opentrons/protocols/api_support/instrument.py +0 -151
  1465. opentrons-8.8.1/src/opentrons/protocols/api_support/labware_like.py +0 -233
  1466. opentrons-8.8.1/src/opentrons/protocols/api_support/tip_tracker.py +0 -175
  1467. opentrons-8.8.1/src/opentrons/protocols/api_support/types.py +0 -33
  1468. opentrons-8.8.1/src/opentrons/protocols/api_support/util.py +0 -403
  1469. opentrons-8.8.1/src/opentrons/protocols/bundle.py +0 -89
  1470. opentrons-8.8.1/src/opentrons/protocols/duration/__init__.py +0 -4
  1471. opentrons-8.8.1/src/opentrons/protocols/duration/estimator.py +0 -628
  1472. opentrons-8.8.1/src/opentrons/protocols/execution/dev_types.py +0 -181
  1473. opentrons-8.8.1/src/opentrons/protocols/execution/execute.py +0 -84
  1474. opentrons-8.8.1/src/opentrons/protocols/execution/execute_json_v3.py +0 -275
  1475. opentrons-8.8.1/src/opentrons/protocols/execution/execute_json_v4.py +0 -359
  1476. opentrons-8.8.1/src/opentrons/protocols/execution/execute_json_v5.py +0 -28
  1477. opentrons-8.8.1/src/opentrons/protocols/execution/execute_python.py +0 -169
  1478. opentrons-8.8.1/src/opentrons/protocols/execution/json_dispatchers.py +0 -87
  1479. opentrons-8.8.1/src/opentrons/protocols/execution/types.py +0 -7
  1480. opentrons-8.8.1/src/opentrons/protocols/geometry/planning.py +0 -297
  1481. opentrons-8.8.1/src/opentrons/protocols/labware.py +0 -312
  1482. opentrons-8.8.1/src/opentrons/protocols/models/json_protocol.py +0 -679
  1483. opentrons-8.8.1/src/opentrons/protocols/parameters/csv_parameter_definition.py +0 -77
  1484. opentrons-8.8.1/src/opentrons/protocols/parameters/csv_parameter_interface.py +0 -96
  1485. opentrons-8.8.1/src/opentrons/protocols/parameters/exceptions.py +0 -34
  1486. opentrons-8.8.1/src/opentrons/protocols/parameters/parameter_definition.py +0 -272
  1487. opentrons-8.8.1/src/opentrons/protocols/parameters/types.py +0 -17
  1488. opentrons-8.8.1/src/opentrons/protocols/parameters/validation.py +0 -267
  1489. opentrons-8.8.1/src/opentrons/protocols/parse.py +0 -671
  1490. opentrons-8.8.1/src/opentrons/protocols/types.py +0 -159
  1491. opentrons-8.8.1/src/opentrons/simulate.py +0 -1101
  1492. opentrons-8.8.1/src/opentrons/system/__init__.py +0 -6
  1493. opentrons-8.8.1/src/opentrons/system/camera.py +0 -381
  1494. opentrons-8.8.1/src/opentrons/system/ffmpeg.py +0 -110
  1495. opentrons-8.8.1/src/opentrons/system/log_control.py +0 -59
  1496. opentrons-8.8.1/src/opentrons/system/nmcli.py +0 -856
  1497. opentrons-8.8.1/src/opentrons/system/resin.py +0 -24
  1498. opentrons-8.8.1/src/opentrons/system/smoothie_update.py +0 -15
  1499. opentrons-8.8.1/src/opentrons/system/wifi.py +0 -204
  1500. opentrons-8.8.1/src/opentrons/tools/args_handler.py +0 -22
  1501. opentrons-8.8.1/src/opentrons/tools/write_pipette_memory.py +0 -157
  1502. opentrons-8.8.1/src/opentrons/types.py +0 -618
  1503. opentrons-8.8.1/src/opentrons/util/async_helpers.py +0 -166
  1504. opentrons-8.8.1/src/opentrons/util/broker.py +0 -84
  1505. opentrons-8.8.1/src/opentrons/util/change_notifier.py +0 -47
  1506. opentrons-8.8.1/src/opentrons/util/entrypoint_util.py +0 -278
  1507. opentrons-8.8.1/src/opentrons/util/linal.py +0 -178
  1508. opentrons-8.8.1/src/opentrons/util/logging_config.py +0 -265
  1509. opentrons-8.8.1/src/opentrons/util/logging_queue_handler.py +0 -61
  1510. opentrons-8.8.1/src/opentrons/util/performance_helpers.py +0 -157
  1511. opentrons-8.8.1/tests/opentrons/calibration_storage/test_deck_attitude.py +0 -113
  1512. opentrons-8.8.1/tests/opentrons/calibration_storage/test_gripper_offset.py +0 -104
  1513. opentrons-8.8.1/tests/opentrons/calibration_storage/test_helpers.py +0 -37
  1514. opentrons-8.8.1/tests/opentrons/calibration_storage/test_pipette_offset_ot2.py +0 -96
  1515. opentrons-8.8.1/tests/opentrons/calibration_storage/test_pipette_offset_ot3.py +0 -84
  1516. opentrons-8.8.1/tests/opentrons/calibration_storage/test_schema_validation.py +0 -46
  1517. opentrons-8.8.1/tests/opentrons/calibration_storage/test_tip_length_ot2.py +0 -143
  1518. opentrons-8.8.1/tests/opentrons/cli/test_cli.py +0 -572
  1519. opentrons-8.8.1/tests/opentrons/config/test_advanced_settings.py +0 -272
  1520. opentrons-8.8.1/tests/opentrons/config/test_advanced_settings_migration.py +0 -587
  1521. opentrons-8.8.1/tests/opentrons/config/test_defaults_ot2.py +0 -22
  1522. opentrons-8.8.1/tests/opentrons/config/test_defaults_ot3.py +0 -199
  1523. opentrons-8.8.1/tests/opentrons/config/test_gripper_config.py +0 -20
  1524. opentrons-8.8.1/tests/opentrons/config/test_reset.py +0 -166
  1525. opentrons-8.8.1/tests/opentrons/config/test_robots_config.py +0 -84
  1526. opentrons-8.8.1/tests/opentrons/conftest.py +0 -1344
  1527. opentrons-8.8.1/tests/opentrons/data/mad_mag_v2.py +0 -34
  1528. opentrons-8.8.1/tests/opentrons/data/testosaur.py +0 -26
  1529. opentrons-8.8.1/tests/opentrons/drivers/absorbance_reader/test_driver.py +0 -281
  1530. opentrons-8.8.1/tests/opentrons/drivers/asyncio/communication/test_async_serial.py +0 -164
  1531. opentrons-8.8.1/tests/opentrons/drivers/asyncio/communication/test_serial_connection.py +0 -438
  1532. opentrons-8.8.1/tests/opentrons/drivers/flex_stacker/conftest.py +0 -1309
  1533. opentrons-8.8.1/tests/opentrons/drivers/flex_stacker/test_driver.py +0 -805
  1534. opentrons-8.8.1/tests/opentrons/drivers/heater_shaker/test_driver.py +0 -160
  1535. opentrons-8.8.1/tests/opentrons/drivers/mag_deck/test_driver.py +0 -114
  1536. opentrons-8.8.1/tests/opentrons/drivers/rpi_drivers/test_usb.py +0 -197
  1537. opentrons-8.8.1/tests/opentrons/drivers/smoothie_drivers/test_connection.py +0 -89
  1538. opentrons-8.8.1/tests/opentrons/drivers/smoothie_drivers/test_driver.py +0 -472
  1539. opentrons-8.8.1/tests/opentrons/drivers/smoothie_drivers/test_parse_utils.py +0 -54
  1540. opentrons-8.8.1/tests/opentrons/drivers/smoothie_drivers/v3_0_0/test_driver_position_cache.py +0 -50
  1541. opentrons-8.8.1/tests/opentrons/drivers/temp_deck/test_driver.py +0 -128
  1542. opentrons-8.8.1/tests/opentrons/drivers/test_command_builder.py +0 -76
  1543. opentrons-8.8.1/tests/opentrons/drivers/test_utils.py +0 -235
  1544. opentrons-8.8.1/tests/opentrons/drivers/thermocycler/test_driver.py +0 -245
  1545. opentrons-8.8.1/tests/opentrons/drivers/thermocycler/test_gen2_driver.py +0 -268
  1546. opentrons-8.8.1/tests/opentrons/drivers/vacuum_module/test_driver.py +0 -115
  1547. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_controller.py +0 -1682
  1548. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_estop_state.py +0 -246
  1549. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_status_bar.py +0 -58
  1550. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_subsystem_manager.py +0 -1109
  1551. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_tip_presence_manager.py +0 -174
  1552. opentrons-8.8.1/tests/opentrons/hardware_control/backends/test_ot3_utils.py +0 -190
  1553. opentrons-8.8.1/tests/opentrons/hardware_control/conftest.py +0 -23
  1554. opentrons-8.8.1/tests/opentrons/hardware_control/emulation/module_server/test_helpers.py +0 -152
  1555. opentrons-8.8.1/tests/opentrons/hardware_control/emulation/test_parser.py +0 -81
  1556. opentrons-8.8.1/tests/opentrons/hardware_control/emulation/test_proxy.py +0 -194
  1557. opentrons-8.8.1/tests/opentrons/hardware_control/instruments/test_instrument_calibration.py +0 -308
  1558. opentrons-8.8.1/tests/opentrons/hardware_control/instruments/test_nozzle_manager.py +0 -1094
  1559. opentrons-8.8.1/tests/opentrons/hardware_control/integration/build_module.py +0 -48
  1560. opentrons-8.8.1/tests/opentrons/hardware_control/integration/conftest.py +0 -104
  1561. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_controller.py +0 -56
  1562. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_heatershaker.py +0 -109
  1563. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_magdeck.py +0 -76
  1564. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_smoothie.py +0 -444
  1565. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_tempdeck.py +0 -109
  1566. opentrons-8.8.1/tests/opentrons/hardware_control/integration/test_thermocycler.py +0 -263
  1567. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_hc_flexstacker.py +0 -647
  1568. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_hc_heatershaker.py +0 -325
  1569. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_hc_magdeck.py +0 -85
  1570. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_hc_tempdeck.py +0 -118
  1571. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_hc_thermocycler.py +0 -613
  1572. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_lid_temp_status.py +0 -60
  1573. opentrons-8.8.1/tests/opentrons/hardware_control/modules/test_plate_temp_status.py +0 -77
  1574. opentrons-8.8.1/tests/opentrons/hardware_control/test_adapters.py +0 -10
  1575. opentrons-8.8.1/tests/opentrons/hardware_control/test_api_helpers.py +0 -39
  1576. opentrons-8.8.1/tests/opentrons/hardware_control/test_calibration_functions.py +0 -104
  1577. opentrons-8.8.1/tests/opentrons/hardware_control/test_execution_manager.py +0 -77
  1578. opentrons-8.8.1/tests/opentrons/hardware_control/test_gpio.py +0 -40
  1579. opentrons-8.8.1/tests/opentrons/hardware_control/test_gripper.py +0 -204
  1580. opentrons-8.8.1/tests/opentrons/hardware_control/test_importability.py +0 -8
  1581. opentrons-8.8.1/tests/opentrons/hardware_control/test_instruments.py +0 -937
  1582. opentrons-8.8.1/tests/opentrons/hardware_control/test_module_control.py +0 -180
  1583. opentrons-8.8.1/tests/opentrons/hardware_control/test_modules.py +0 -611
  1584. opentrons-8.8.1/tests/opentrons/hardware_control/test_moves.py +0 -722
  1585. opentrons-8.8.1/tests/opentrons/hardware_control/test_ot3_api.py +0 -2608
  1586. opentrons-8.8.1/tests/opentrons/hardware_control/test_ot3_calibration.py +0 -446
  1587. opentrons-8.8.1/tests/opentrons/hardware_control/test_ot3_transforms.py +0 -95
  1588. opentrons-8.8.1/tests/opentrons/hardware_control/test_pipette.py +0 -497
  1589. opentrons-8.8.1/tests/opentrons/hardware_control/test_pipette_handler.py +0 -269
  1590. opentrons-8.8.1/tests/opentrons/hardware_control/test_poller.py +0 -181
  1591. opentrons-8.8.1/tests/opentrons/hardware_control/test_simulator_setup.py +0 -265
  1592. opentrons-8.8.1/tests/opentrons/hardware_control/test_thread_manager.py +0 -132
  1593. opentrons-8.8.1/tests/opentrons/hardware_control/test_types.py +0 -25
  1594. opentrons-8.8.1/tests/opentrons/hardware_control/test_util.py +0 -110
  1595. opentrons-8.8.1/tests/opentrons/legacy_commands/test_protocol_commands.py +0 -46
  1596. opentrons-8.8.1/tests/opentrons/legacy_commands/test_publisher.py +0 -327
  1597. opentrons-8.8.1/tests/opentrons/motion_planning/test_adjacent_slots_getters.py +0 -209
  1598. opentrons-8.8.1/tests/opentrons/motion_planning/test_deck_conflict.py +0 -689
  1599. opentrons-8.8.1/tests/opentrons/motion_planning/test_waypoints.py +0 -311
  1600. opentrons-8.8.1/tests/opentrons/protocol_api/__init__.py +0 -189
  1601. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_absorbance_reader_core.py +0 -189
  1602. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_deck_conflict.py +0 -1266
  1603. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_default_labware_versions.py +0 -107
  1604. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_flex_stacker_core.py +0 -758
  1605. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_heater_shaker_core.py +0 -286
  1606. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_instrument_core.py +0 -3032
  1607. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_labware_core.py +0 -517
  1608. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_load_labware_params.py +0 -184
  1609. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_magnetic_module_core.py +0 -195
  1610. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_module_core.py +0 -127
  1611. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_overlap_versions.py +0 -33
  1612. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_point_calculations.py +0 -69
  1613. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_protocol_core.py +0 -2045
  1614. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_stringify.py +0 -108
  1615. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_tasks.py +0 -46
  1616. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_temperature_module_core.py +0 -179
  1617. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_thermocycler_core.py +0 -560
  1618. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_transfer_components_executor.py +0 -2487
  1619. opentrons-8.8.1/tests/opentrons/protocol_api/core/engine/test_well_core.py +0 -418
  1620. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_base_module_core.py +0 -77
  1621. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_deck.py +0 -305
  1622. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_heater_shaker_core.py +0 -395
  1623. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_labware_offset_provider.py +0 -103
  1624. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_magnetic_module_core.py +0 -189
  1625. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_module_geometry.py +0 -443
  1626. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_protocol_context_implementation.py +0 -493
  1627. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_temperature_module_core.py +0 -141
  1628. opentrons-8.8.1/tests/opentrons/protocol_api/core/legacy/test_thermocycler_core.py +0 -452
  1629. opentrons-8.8.1/tests/opentrons/protocol_api/partial_tip_configurations.py +0 -503
  1630. opentrons-8.8.1/tests/opentrons/protocol_api/test_absorbance_reader_context.py +0 -66
  1631. opentrons-8.8.1/tests/opentrons/protocol_api/test_deck.py +0 -472
  1632. opentrons-8.8.1/tests/opentrons/protocol_api/test_flex_stacker_context.py +0 -450
  1633. opentrons-8.8.1/tests/opentrons/protocol_api/test_heater_shaker_context.py +0 -414
  1634. opentrons-8.8.1/tests/opentrons/protocol_api/test_instrument_context.py +0 -4368
  1635. opentrons-8.8.1/tests/opentrons/protocol_api/test_labware.py +0 -683
  1636. opentrons-8.8.1/tests/opentrons/protocol_api/test_lc_blowout_properties.py +0 -188
  1637. opentrons-8.8.1/tests/opentrons/protocol_api/test_lc_delay_properties.py +0 -105
  1638. opentrons-8.8.1/tests/opentrons/protocol_api/test_lc_mix_properties.py +0 -111
  1639. opentrons-8.8.1/tests/opentrons/protocol_api/test_lc_touch_tip_properties.py +0 -208
  1640. opentrons-8.8.1/tests/opentrons/protocol_api/test_liquid_class.py +0 -112
  1641. opentrons-8.8.1/tests/opentrons/protocol_api/test_liquid_class_properties.py +0 -482
  1642. opentrons-8.8.1/tests/opentrons/protocol_api/test_magnetic_module_context.py +0 -199
  1643. opentrons-8.8.1/tests/opentrons/protocol_api/test_module_context.py +0 -359
  1644. opentrons-8.8.1/tests/opentrons/protocol_api/test_parameter_context.py +0 -286
  1645. opentrons-8.8.1/tests/opentrons/protocol_api/test_protocol_context.py +0 -2272
  1646. opentrons-8.8.1/tests/opentrons/protocol_api/test_robot_context.py +0 -256
  1647. opentrons-8.8.1/tests/opentrons/protocol_api/test_temperature_module_context.py +0 -259
  1648. opentrons-8.8.1/tests/opentrons/protocol_api/test_thermocycler_context.py +0 -787
  1649. opentrons-8.8.1/tests/opentrons/protocol_api/test_validation.py +0 -921
  1650. opentrons-8.8.1/tests/opentrons/protocol_api/test_well.py +0 -181
  1651. opentrons-8.8.1/tests/opentrons/protocol_api_integration/conftest.py +0 -28
  1652. opentrons-8.8.1/tests/opentrons/protocol_api_integration/test_liquid_classes.py +0 -112
  1653. opentrons-8.8.1/tests/opentrons/protocol_api_integration/test_modules.py +0 -83
  1654. opentrons-8.8.1/tests/opentrons/protocol_api_integration/test_pipette_movement_deck_conflicts.py +0 -370
  1655. opentrons-8.8.1/tests/opentrons/protocol_api_integration/test_transfer_with_liquid_classes.py +0 -3005
  1656. opentrons-8.8.1/tests/opentrons/protocol_api_integration/test_trashes.py +0 -172
  1657. opentrons-8.8.1/tests/opentrons/protocol_api_old/core/protocol_api/test_instrument_context.py +0 -101
  1658. opentrons-8.8.1/tests/opentrons/protocol_api_old/core/simulator/conftest.py +0 -136
  1659. opentrons-8.8.1/tests/opentrons/protocol_api_old/core/simulator/test_instrument_context.py +0 -334
  1660. opentrons-8.8.1/tests/opentrons/protocol_api_old/core/simulator/test_protocol_context.py +0 -64
  1661. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_accessor_fn.py +0 -126
  1662. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_instrument.py +0 -123
  1663. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_labware.py +0 -685
  1664. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_labware_load.py +0 -56
  1665. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_module_context.py +0 -536
  1666. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_module_validation_and_errors.py +0 -59
  1667. opentrons-8.8.1/tests/opentrons/protocol_api_old/test_offsets.py +0 -26
  1668. opentrons-8.8.1/tests/opentrons/protocol_engine/actions/test_action_dispatcher.py +0 -40
  1669. opentrons-8.8.1/tests/opentrons/protocol_engine/clients/test_child_thread_transport.py +0 -127
  1670. opentrons-8.8.1/tests/opentrons/protocol_engine/clients/test_sync_client.py +0 -125
  1671. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/absorbance_reader/test_close_lid.py +0 -149
  1672. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/absorbance_reader/test_initialize.py +0 -238
  1673. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/absorbance_reader/test_open_lid.py +0 -150
  1674. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/absorbance_reader/test_read.py +0 -189
  1675. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_gripper.py +0 -152
  1676. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_module.py +0 -110
  1677. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/calibration/test_calibrate_pipette.py +0 -109
  1678. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/calibration/test_move_to_maintenance_position.py +0 -181
  1679. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/conftest.py +0 -149
  1680. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/conftest.py +0 -27
  1681. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_common.py +0 -2218
  1682. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_empty.py +0 -278
  1683. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_fill.py +0 -377
  1684. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_retrieve.py +0 -769
  1685. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_set_stored_labware.py +0 -905
  1686. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_store.py +0 -586
  1687. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_close_latch.py +0 -61
  1688. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_open_latch.py +0 -61
  1689. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/flex_stacker/test_unsafe_stacker_prepare_shuttle.py +0 -116
  1690. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_close_labware_latch.py +0 -81
  1691. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_deactivate_heater.py +0 -50
  1692. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_deactivate_shaker.py +0 -82
  1693. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_open_labware_latch.py +0 -87
  1694. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_and_wait_for_shake_speed.py +0 -90
  1695. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_shake_speed.py +0 -113
  1696. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_set_target_temperature.py +0 -80
  1697. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/heater_shaker/test_wait_for_temperature.py +0 -54
  1698. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/magnetic_module/test_disengage.py +0 -49
  1699. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/magnetic_module/test_engage.py +0 -54
  1700. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/robot/test_close_gripper_jaw.py +0 -51
  1701. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/robot/test_move_axes_relative_to.py +0 -52
  1702. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/robot/test_move_axes_to.py +0 -54
  1703. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/robot/test_move_to.py +0 -47
  1704. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/robot/test_open_gripper_jaw.py +0 -51
  1705. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/temperature_module/test_deactivate.py +0 -49
  1706. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/temperature_module/test_set_target_temperature.py +0 -80
  1707. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/temperature_module/test_wait_for_temperature.py +0 -94
  1708. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_air_gap_in_place.py +0 -292
  1709. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_aspirate.py +0 -759
  1710. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_aspirate_in_place.py +0 -347
  1711. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_aspirate_while_tracking.py +0 -517
  1712. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_blow_out.py +0 -251
  1713. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_blow_out_in_place.py +0 -123
  1714. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_capture_image.py +0 -471
  1715. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_command_schema_snapshot.py +0 -26
  1716. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_command_unions.py +0 -27
  1717. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_comment.py +0 -18
  1718. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_configure_for_volume.py +0 -114
  1719. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_configure_nozzle_layout.py +0 -154
  1720. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_create_timer.py +0 -61
  1721. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_dispense.py +0 -325
  1722. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_dispense_in_place.py +0 -333
  1723. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_dispense_while_tracking.py +0 -410
  1724. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_drop_tip.py +0 -483
  1725. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_drop_tip_in_place.py +0 -123
  1726. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_get_next_tip.py +0 -142
  1727. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_get_tip_presence.py +0 -45
  1728. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_hash_command_params.py +0 -77
  1729. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_home.py +0 -79
  1730. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_liquid_probe.py +0 -775
  1731. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_labware.py +0 -274
  1732. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_lid.py +0 -118
  1733. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_lid_stack.py +0 -166
  1734. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_liquid.py +0 -101
  1735. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_liquid_class.py +0 -163
  1736. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_module.py +0 -380
  1737. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_load_pipette.py +0 -241
  1738. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_labware.py +0 -967
  1739. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_relative.py +0 -92
  1740. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_to_addressable_area.py +0 -221
  1741. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_to_addressable_area_for_drop_tip.py +0 -145
  1742. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_to_coordinates.py +0 -104
  1743. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_move_to_well.py +0 -168
  1744. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_pick_up_tip.py +0 -299
  1745. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_prepare_to_aspirate.py +0 -138
  1746. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_pressure_dispense.py +0 -147
  1747. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_reload_labware.py +0 -110
  1748. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_retract_axis.py +0 -30
  1749. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_save_position.py +0 -54
  1750. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_seal_pipette_to_tip.py +0 -321
  1751. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_set_rail_lights.py +0 -31
  1752. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_set_status_bar.py +0 -68
  1753. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_set_tip_state.py +0 -53
  1754. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_touch_tip.py +0 -296
  1755. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_unseal_pipette_from_tip.py +0 -348
  1756. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_verify_tip_presence.py +0 -35
  1757. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_wait_for_duration.py +0 -26
  1758. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_wait_for_resume.py +0 -33
  1759. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/test_wait_for_tasks.py +0 -94
  1760. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_close_lid.py +0 -62
  1761. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_deactivate_block.py +0 -48
  1762. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_deactivate_lid.py +0 -48
  1763. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_open_lid.py +0 -60
  1764. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_run_extended_profile.py +0 -125
  1765. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_run_profile.py +0 -81
  1766. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_set_target_block_temperature.py +0 -101
  1767. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_set_target_lid_temperature.py +0 -84
  1768. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_start_run_extended_profile.py +0 -150
  1769. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_wait_for_block_temperature.py +0 -54
  1770. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/thermocycler/test_wait_for_lid_temperature.py +0 -54
  1771. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_engage_axes.py +0 -59
  1772. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_ungrip_labware.py +0 -41
  1773. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_blow_out_in_place.py +0 -60
  1774. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_drop_tip_in_place.py +0 -76
  1775. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_unsafe_manual_retrieve.py +0 -637
  1776. opentrons-8.8.1/tests/opentrons/protocol_engine/commands/unsafe/test_update_position_estimators.py +0 -55
  1777. opentrons-8.8.1/tests/opentrons/protocol_engine/conftest.py +0 -315
  1778. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_command_executor.py +0 -779
  1779. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_door_watcher.py +0 -149
  1780. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_equipment_handler.py +0 -1340
  1781. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_gantry_mover.py +0 -713
  1782. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_hardware_stopper.py +0 -369
  1783. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_heater_shaker_movement_flagger.py +0 -485
  1784. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_labware_movement_handler.py +0 -665
  1785. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_movement_handler.py +0 -570
  1786. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_pipetting_handler.py +0 -885
  1787. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_queue_worker.py +0 -158
  1788. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_rail_lights_handler.py +0 -27
  1789. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_run_control_handler.py +0 -121
  1790. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_status_bar_handler.py +0 -54
  1791. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_task_handler.py +0 -594
  1792. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_thermocycler_movement_flagger.py +0 -235
  1793. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_thermocycler_plate_lifter.py +0 -164
  1794. opentrons-8.8.1/tests/opentrons/protocol_engine/execution/test_tip_handler.py +0 -783
  1795. opentrons-8.8.1/tests/opentrons/protocol_engine/mock_circular_frusta.py +0 -215
  1796. opentrons-8.8.1/tests/opentrons/protocol_engine/mock_rectangular_frusta.py +0 -326
  1797. opentrons-8.8.1/tests/opentrons/protocol_engine/note_utils.py +0 -63
  1798. opentrons-8.8.1/tests/opentrons/protocol_engine/pipette_fixtures.py +0 -374
  1799. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_concurrency_provider.py +0 -28
  1800. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_deck_configuration_provider.py +0 -411
  1801. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_deck_data_provider.py +0 -135
  1802. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_labware_data_provider.py +0 -48
  1803. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_labware_validation.py +0 -121
  1804. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_model_utils.py +0 -37
  1805. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_ot3_validation.py +0 -37
  1806. opentrons-8.8.1/tests/opentrons/protocol_engine/resources/test_pipette_data_provider.py +0 -411
  1807. opentrons-8.8.1/tests/opentrons/protocol_engine/state/command_fixtures.py +0 -732
  1808. opentrons-8.8.1/tests/opentrons/protocol_engine/state/conftest.py +0 -32
  1809. opentrons-8.8.1/tests/opentrons/protocol_engine/state/inner_geometry_test_params.py +0 -178
  1810. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_addressable_area_store_old.py +0 -195
  1811. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_addressable_area_view_old.py +0 -525
  1812. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_command_history.py +0 -319
  1813. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_command_state.py +0 -1372
  1814. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_command_store_old.py +0 -860
  1815. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_command_view_old.py +0 -1119
  1816. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_flex_stacker_state.py +0 -220
  1817. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_fluid_stack.py +0 -219
  1818. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_geometry_view.py +0 -4774
  1819. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_labware_origin_math.py +0 -1286
  1820. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_labware_state.py +0 -155
  1821. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_labware_store_old.py +0 -537
  1822. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_labware_view_old.py +0 -1846
  1823. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_liquid_class_store_old.py +0 -65
  1824. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_liquid_class_view_old.py +0 -67
  1825. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_liquid_store_old.py +0 -32
  1826. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_liquid_view_old.py +0 -59
  1827. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_module_store_old.py +0 -966
  1828. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_module_view_old.py +0 -2169
  1829. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_motion_view.py +0 -1149
  1830. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_move_types.py +0 -99
  1831. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_pipette_state.py +0 -293
  1832. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_pipette_store_old.py +0 -792
  1833. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_pipette_view_old.py +0 -1210
  1834. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_state_store.py +0 -152
  1835. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_task_state.py +0 -286
  1836. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_tip_state.py +0 -742
  1837. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_update_types.py +0 -93
  1838. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_well_math.py +0 -462
  1839. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_well_store_old.py +0 -235
  1840. opentrons-8.8.1/tests/opentrons/protocol_engine/state/test_well_view_old.py +0 -63
  1841. opentrons-8.8.1/tests/opentrons/protocol_engine/test_create_protocol_engine.py +0 -183
  1842. opentrons-8.8.1/tests/opentrons/protocol_engine/test_labware_offset_standardization.py +0 -748
  1843. opentrons-8.8.1/tests/opentrons/protocol_engine/test_plugins.py +0 -75
  1844. opentrons-8.8.1/tests/opentrons/protocol_engine/test_protocol_engine.py +0 -1439
  1845. opentrons-8.8.1/tests/opentrons/protocol_engine/test_slot_standardization.py +0 -227
  1846. opentrons-8.8.1/tests/opentrons/protocol_engine/test_types.py +0 -130
  1847. opentrons-8.8.1/tests/opentrons/protocol_reader/test_extract_labware_definitions.py +0 -274
  1848. opentrons-8.8.1/tests/opentrons/protocol_reader/test_file_format_validator.py +0 -115
  1849. opentrons-8.8.1/tests/opentrons/protocol_reader/test_file_hasher.py +0 -66
  1850. opentrons-8.8.1/tests/opentrons/protocol_reader/test_file_identifier.py +0 -343
  1851. opentrons-8.8.1/tests/opentrons/protocol_reader/test_file_reader_writer.py +0 -68
  1852. opentrons-8.8.1/tests/opentrons/protocol_reader/test_protocol_reader.py +0 -290
  1853. opentrons-8.8.1/tests/opentrons/protocol_reader/test_role_analyzer.py +0 -224
  1854. opentrons-8.8.1/tests/opentrons/protocol_runner/smoke_tests/conftest.py +0 -242
  1855. opentrons-8.8.1/tests/opentrons/protocol_runner/smoke_tests/test_legacy_command_mapper.py +0 -832
  1856. opentrons-8.8.1/tests/opentrons/protocol_runner/smoke_tests/test_legacy_custom_labware.py +0 -72
  1857. opentrons-8.8.1/tests/opentrons/protocol_runner/smoke_tests/test_legacy_module_commands.py +0 -155
  1858. opentrons-8.8.1/tests/opentrons/protocol_runner/smoke_tests/test_protocol_runner.py +0 -389
  1859. opentrons-8.8.1/tests/opentrons/protocol_runner/test_json_translator.py +0 -854
  1860. opentrons-8.8.1/tests/opentrons/protocol_runner/test_legacy_command_mapper.py +0 -656
  1861. opentrons-8.8.1/tests/opentrons/protocol_runner/test_legacy_context_plugin.py +0 -231
  1862. opentrons-8.8.1/tests/opentrons/protocol_runner/test_protocol_runner.py +0 -873
  1863. opentrons-8.8.1/tests/opentrons/protocol_runner/test_run_orchestrator.py +0 -583
  1864. opentrons-8.8.1/tests/opentrons/protocol_runner/test_task_queue.py +0 -82
  1865. opentrons-8.8.1/tests/opentrons/protocols/advanced_control/transfers/test_common_functions.py +0 -176
  1866. opentrons-8.8.1/tests/opentrons/protocols/advanced_control/transfers/test_transfer_liquid_utils.py +0 -573
  1867. opentrons-8.8.1/tests/opentrons/protocols/advanced_control/transfers/test_transfers.py +0 -1658
  1868. opentrons-8.8.1/tests/opentrons/protocols/api_support/test_instrument.py +0 -164
  1869. opentrons-8.8.1/tests/opentrons/protocols/api_support/test_labware_like.py +0 -135
  1870. opentrons-8.8.1/tests/opentrons/protocols/api_support/test_tip_tracker.py +0 -167
  1871. opentrons-8.8.1/tests/opentrons/protocols/api_support/test_util.py +0 -193
  1872. opentrons-8.8.1/tests/opentrons/protocols/duration/test_estimator.py +0 -279
  1873. opentrons-8.8.1/tests/opentrons/protocols/execution/test_execute_json_v3.py +0 -533
  1874. opentrons-8.8.1/tests/opentrons/protocols/execution/test_execute_json_v4.py +0 -621
  1875. opentrons-8.8.1/tests/opentrons/protocols/execution/test_execute_json_v5.py +0 -114
  1876. opentrons-8.8.1/tests/opentrons/protocols/execution/test_execute_python.py +0 -123
  1877. opentrons-8.8.1/tests/opentrons/protocols/fixtures/bundled_protocols/simple_bundle/protocol.py +0 -21
  1878. opentrons-8.8.1/tests/opentrons/protocols/geometry/test_geometry.py +0 -457
  1879. opentrons-8.8.1/tests/opentrons/protocols/geometry/test_inner_well_math_utils.py +0 -490
  1880. opentrons-8.8.1/tests/opentrons/protocols/geometry/test_planning.py +0 -42
  1881. opentrons-8.8.1/tests/opentrons/protocols/models/test_json_protocol.py +0 -31
  1882. opentrons-8.8.1/tests/opentrons/protocols/parameters/test_csv_parameter_definition.py +0 -102
  1883. opentrons-8.8.1/tests/opentrons/protocols/parameters/test_csv_parameter_interface.py +0 -196
  1884. opentrons-8.8.1/tests/opentrons/protocols/parameters/test_parameter_definition.py +0 -337
  1885. opentrons-8.8.1/tests/opentrons/protocols/parameters/test_validation.py +0 -307
  1886. opentrons-8.8.1/tests/opentrons/protocols/test_bundle.py +0 -53
  1887. opentrons-8.8.1/tests/opentrons/protocols/test_parse.py +0 -741
  1888. opentrons-8.8.1/tests/opentrons/system/test_nmcli.py +0 -196
  1889. opentrons-8.8.1/tests/opentrons/system/test_wifi.py +0 -219
  1890. opentrons-8.8.1/tests/opentrons/test_execute.py +0 -539
  1891. opentrons-8.8.1/tests/opentrons/test_init.py +0 -13
  1892. opentrons-8.8.1/tests/opentrons/test_legacy_broker.py +0 -79
  1893. opentrons-8.8.1/tests/opentrons/test_ordered_set.py +0 -156
  1894. opentrons-8.8.1/tests/opentrons/test_simulate.py +0 -418
  1895. opentrons-8.8.1/tests/opentrons/test_types.py +0 -119
  1896. opentrons-8.8.1/tests/opentrons/tools/test_pipette_memory.py +0 -110
  1897. opentrons-8.8.1/tests/opentrons/util/test_broker.py +0 -58
  1898. opentrons-8.8.1/tests/opentrons/util/test_change_notifier.py +0 -83
  1899. opentrons-8.8.1/tests/opentrons/util/test_entrypoint_util.py +0 -79
  1900. opentrons-8.8.1/tests/opentrons/util/test_get_union_elements.py +0 -49
  1901. opentrons-8.8.1/tests/opentrons/util/test_linal.py +0 -68
  1902. opentrons-8.8.1/tests/opentrons/util/test_performance_helpers.py +0 -24
  1903. {opentrons-8.8.1 → opentrons-9.0.0a0}/.gitignore +0 -0
  1904. {opentrons-8.8.1 → opentrons-9.0.0a0}/LICENSE +0 -0
  1905. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/calibration_storage/ot2/models/__init__.py +0 -0
  1906. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/calibration_storage/ot3/models/__init__.py +0 -0
  1907. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/cli/__init__.py +0 -0
  1908. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/cli/__main__.py +0 -0
  1909. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/__init__.py +0 -0
  1910. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/asyncio/__init__.py +0 -0
  1911. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/flex_stacker/errors.py +0 -0
  1912. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/rpi_drivers/__init__.py +0 -0
  1913. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/smoothie_drivers/__init__.py +0 -0
  1914. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/smoothie_drivers/errors.py +0 -0
  1915. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/drivers/vacuum_module/errors.py +0 -0
  1916. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/backends/__init__.py +0 -0
  1917. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/backends/errors.py +0 -0
  1918. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/backends/types.py +0 -0
  1919. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/__init__.py +0 -0
  1920. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/abstract_emulator.py +0 -0
  1921. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/app.py +0 -0
  1922. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/connection_handler.py +0 -0
  1923. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/parser.py +0 -0
  1924. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/run_emulator.py +0 -0
  1925. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/emulation/scripts/__init__.py +0 -0
  1926. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/instruments/ot2/__init__.py +0 -0
  1927. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/instruments/ot3/__init__.py +0 -0
  1928. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/modules/errors.py +0 -0
  1929. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/modules/lid_temp_status.py +0 -0
  1930. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/pause_manager.py +0 -0
  1931. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/protocols/identifiable.py +0 -0
  1932. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/protocols/position_estimator.py +0 -0
  1933. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/protocols/simulatable.py +0 -0
  1934. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/protocols/stoppable.py +0 -0
  1935. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/scripts/__init__.py +0 -0
  1936. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/scripts/ot3gripper +0 -0
  1937. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/hardware_control/scripts/ot3repl +0 -0
  1938. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/legacy_commands/__init__.py +0 -0
  1939. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/config.py +0 -0
  1940. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/core/__init__.py +0 -0
  1941. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/core/engine/exceptions.py +0 -0
  1942. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/core/engine/point_calculations.py +0 -0
  1943. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/core/legacy/__init__.py +0 -0
  1944. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_api/module_validation_and_errors.py +0 -0
  1945. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/commands/absorbance_reader/common.py +0 -0
  1946. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/commands/labware_handling_common.py +0 -0
  1947. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.py +0 -0
  1948. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/execution/rail_lights.py +0 -0
  1949. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/execution/status_bar.py +0 -0
  1950. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/resources/fixture_validation.py +0 -0
  1951. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/resources/labware_validation.py +0 -0
  1952. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/state/__init__.py +0 -0
  1953. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/state/_axis_aligned_bounding_box.py +0 -0
  1954. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py +0 -0
  1955. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/types/liquid_handling.py +0 -0
  1956. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/types/partial_tip_configuration.py +0 -0
  1957. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_engine/types/tip.py +0 -0
  1958. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_reader/extract_labware_definitions.py +0 -0
  1959. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocol_reader/protocol_files_invalid_error.py +0 -0
  1960. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/advanced_control/__init__.py +0 -0
  1961. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/advanced_control/transfers/__init__.py +0 -0
  1962. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/api_support/__init__.py +0 -0
  1963. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/api_support/constants.py +0 -0
  1964. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/duration/errors.py +0 -0
  1965. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/execution/__init__.py +0 -0
  1966. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/execution/errors.py +0 -0
  1967. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/geometry/__init__.py +0 -0
  1968. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/models/__init__.py +0 -0
  1969. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/protocols/parameters/__init__.py +0 -0
  1970. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/py.typed +0 -0
  1971. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/resources/scripts/lpc21isp +0 -0
  1972. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/resources/smoothie-edge-8414642.hex +0 -0
  1973. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/tools/__init__.py +0 -0
  1974. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/util/__init__.py +0 -0
  1975. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/util/get_union_elements.py +0 -0
  1976. {opentrons-8.8.1 → opentrons-9.0.0a0}/src/opentrons/util/helpers.py +0 -0
  1977. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/__init__.py +0 -0
  1978. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/__init__.py +0 -0
  1979. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/calibration_storage/__init__.py +0 -0
  1980. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/calibration_storage/test_deck_configuration.py +0 -0
  1981. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/calibration_storage/test_file_operators.py +0 -0
  1982. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/config/__init__.py +0 -0
  1983. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/config/ot2_settings.py +0 -0
  1984. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/config/ot3_settings.py +0 -0
  1985. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/__init__.py +0 -0
  1986. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/bug_aspirate_tip.py +0 -0
  1987. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/ot2_drop_tip.py +0 -0
  1988. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/python_v2_custom_lw.py +0 -0
  1989. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/testosaur-gen2-v2.py +0 -0
  1990. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/testosaur_v2.py +0 -0
  1991. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/testosaur_v2_14.py +0 -0
  1992. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/testosaur_v3.py +0 -0
  1993. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/data/testosaur_with_rtp.py +0 -0
  1994. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/__init__.py +0 -0
  1995. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/absorbance_reader/__init__.py +0 -0
  1996. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/asyncio/__init__.py +0 -0
  1997. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/asyncio/communication/__init__.py +0 -0
  1998. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/flex_stacker/__init__.py +0 -0
  1999. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/heater_shaker/__init__.py +0 -0
  2000. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/mag_deck/__init__.py +0 -0
  2001. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/rpi_drivers/__init__.py +0 -0
  2002. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/smoothie_drivers/__init__.py +0 -0
  2003. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/smoothie_drivers/v3_0_0/__init__.py +0 -0
  2004. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/temp_deck/__init__.py +0 -0
  2005. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/thermocycler/__init__.py +0 -0
  2006. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/drivers/vacuum_module/__init__.py +0 -0
  2007. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/__init__.py +0 -0
  2008. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/emulation/__init__.py +0 -0
  2009. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/emulation/module_server/__init__.py +0 -0
  2010. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/integration/__init__.py +0 -0
  2011. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/modules/__init__.py +0 -0
  2012. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/hardware_control/test_pause_manager.py +0 -0
  2013. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/legacy_commands/__init__.py +0 -0
  2014. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/motion_planning/__init__.py +0 -0
  2015. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api/core/__init__.py +0 -0
  2016. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api/core/engine/__init__.py +0 -0
  2017. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api/core/test_core_map.py +0 -0
  2018. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api/core/test_well_grid.py +0 -0
  2019. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_integration/__init__.py +0 -0
  2020. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_old/__init__.py +0 -0
  2021. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_old/core/__init__.py +0 -0
  2022. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_old/core/protocol_api/__init__.py +0 -0
  2023. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_old/core/protocol_api/test_well_implementation.py +0 -0
  2024. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_api_old/core/simulator/__init__.py +0 -0
  2025. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/__init__.py +0 -0
  2026. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/__init__.py +0 -0
  2027. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/absorbance_reader/__init__.py +0 -0
  2028. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/calibration/__init__.py +0 -0
  2029. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/flex_stacker/__init__.py +0 -0
  2030. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/heater_shaker/__init__.py +0 -0
  2031. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/magnetic_module/__init__.py +0 -0
  2032. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/robot/__init__.py +0 -0
  2033. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/temperature_module/__init__.py +0 -0
  2034. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/commands/thermocycler/__init__.py +0 -0
  2035. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/errors/test_error_occurrence.py +0 -0
  2036. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/execution/__init__.py +0 -0
  2037. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/resources/__init__.py +0 -0
  2038. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/state/__init__.py +0 -0
  2039. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/state/test_addressable_area_state.py +0 -0
  2040. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_engine/state/test_axis_aligned_bounding_box.py +0 -0
  2041. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_reader/__init__.py +0 -0
  2042. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_reader/_input_file.py +0 -0
  2043. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocol_runner/__init__.py +0 -0
  2044. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/__init__.py +0 -0
  2045. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/advanced_control/__init__.py +0 -0
  2046. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/advanced_control/transfers/__init__.py +0 -0
  2047. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/advanced_control/transfers/labware_well_fixtures.py +0 -0
  2048. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/api_support/__init__.py +0 -0
  2049. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/duration/__init__.py +0 -0
  2050. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/execution/__init__.py +0 -0
  2051. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/fixtures/bundled_protocols/missing_labware_bundle/protocol.py +0 -0
  2052. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/fixtures/bundled_protocols/simple_bundle/custom_labware.json +0 -0
  2053. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/fixtures/bundled_protocols/simple_bundle/data.txt +0 -0
  2054. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/geometry/__init__.py +0 -0
  2055. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/models/__init__.py +0 -0
  2056. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/protocols/parameters/__init__.py +0 -0
  2057. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/system/__init__.py +0 -0
  2058. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/util/__init__.py +0 -0
  2059. {opentrons-8.8.1 → opentrons-9.0.0a0}/tests/opentrons/util/test_async_helpers.py +0 -0
@@ -0,0 +1,35 @@
1
+ Metadata-Version: 2.4
2
+ Name: opentrons
3
+ Version: 9.0.0a0
4
+ Summary: The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy.
5
+ Project-URL: opentrons.com, https://www.opentrons.com
6
+ Project-URL: Source Code On Github, https://github.com/Opentrons/opentrons/tree/edge/api
7
+ Project-URL: Documentation, https://docs.opentrons.com
8
+ Author-email: Opentrons <engineering@opentrons.com>
9
+ License-Expression: Apache-2.0
10
+ License-File: LICENSE
11
+ Keywords: automation,lab,pcr,protocols,robots,synbio
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Topic :: Scientific/Engineering
20
+ Requires-Python: >=3.10
21
+ Requires-Dist: aionotify==0.3.1
22
+ Requires-Dist: anyio<5.0.0,>=4.9.0
23
+ Requires-Dist: click<9,>=8.0.0
24
+ Requires-Dist: importlib-metadata>=1.0; python_version < '3.8'
25
+ Requires-Dist: jsonschema<4.18.0,>=3.0.1
26
+ Requires-Dist: numpy<2,>=1.20.0
27
+ Requires-Dist: numpy<2,>=1.26.4
28
+ Requires-Dist: opentrons-shared-data==9.0.0a0
29
+ Requires-Dist: packaging>=25.0
30
+ Requires-Dist: pydantic-settings<3,>=2
31
+ Requires-Dist: pydantic<3,>=2.0.0
32
+ Requires-Dist: pyro5<6,>=5.16
33
+ Requires-Dist: pyserial>=3.5
34
+ Requires-Dist: pyusb==1.2.1
35
+ Requires-Dist: typing-extensions<5,>=4.0.0
@@ -0,0 +1,220 @@
1
+ [project]
2
+ name = 'opentrons'
3
+
4
+ requires-python = '>=3.10'
5
+ license = 'Apache-2.0'
6
+ authors = [{name = "Opentrons", email = "engineering@opentrons.com"}]
7
+ classifiers = [
8
+ "Development Status :: 5 - Production/Stable",
9
+ "Environment :: Console",
10
+ "Operating System :: OS Independent",
11
+ "Intended Audience :: Science/Research",
12
+ "Programming Language :: Python",
13
+ "Programming Language :: Python :: 3",
14
+ "Programming Language :: Python :: 3.10",
15
+ "Topic :: Scientific/Engineering",
16
+ ]
17
+ keywords = ["robots", "protocols", "synbio", "pcr", "automation", "lab"]
18
+ description = "The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy."
19
+
20
+ dependencies = [
21
+ "opentrons-shared-data==0.0.0",
22
+ "numpy>=1.26.4,<2",
23
+ "aionotify==0.3.1",
24
+ "anyio>=4.9.0,<5.0.0",
25
+ "jsonschema>=3.0.1,<4.18.0",
26
+ "numpy>=1.20.0,<2",
27
+ "pydantic>=2.0.0,<3",
28
+ "pydantic-settings>=2,<3",
29
+ "pyserial>=3.5",
30
+ "typing-extensions>=4.0.0,<5",
31
+ "click>=8.0.0,<9",
32
+ "pyusb==1.2.1",
33
+ 'importlib-metadata >= 1.0 ; python_version < "3.8"',
34
+ "packaging>=25.0",
35
+ "Pyro5>=5.16,<6",
36
+ ]
37
+
38
+ dynamic = ['version', 'hatch-dependency-coversion']
39
+
40
+ [dependency-groups]
41
+ # Robot dependencies - exact versions from Pipfile [packages] for robot deployment
42
+ robot = [
43
+ "jsonschema==4.17.3",
44
+ "pydantic==2.11.7",
45
+ "pydantic-settings==2.4.0",
46
+ "anyio==4.9.0",
47
+ "numpy==1.26.4",
48
+ "packaging==25.0",
49
+ "pyusb==1.2.1",
50
+ "zipp==3.21.0",
51
+ "opentrons-hardware[FLEX]==0.0.0",
52
+ "Pyro5==5.16",
53
+ ]
54
+ # Dev dependencies - from Pipfile [dev-packages]
55
+ # Robot group is always included in dev to ensure dev environment matches robot
56
+ dev = [
57
+ {include-group = "robot"},
58
+ "coverage==7.4.1",
59
+ "ruff==0.14.10",
60
+ "mypy==1.19.1",
61
+ "numpydoc==0.9.1",
62
+ "pytest>=9.0.2",
63
+ "pytest-asyncio>=1.3.0,<2",
64
+ "pytest-cov==4.1.0",
65
+ "pytest-xdist~=2.5.0",
66
+ "sphinx==5.0.1",
67
+ "twine==4.0.0",
68
+ "wheel==0.37.0",
69
+ "typeguard~=4.4.4",
70
+ "sphinx-substitution-extensions==2020.9.30.0",
71
+ "sphinxext-opengraph==0.8.1",
72
+ "sphinx-tabs>=3.4.1,<4",
73
+ "mock==5.1.0",
74
+ "decoy>=2.2.0,<3",
75
+ "types-mock~=5.1.0",
76
+ "types-setuptools==57.0.2",
77
+ "typing-extensions>=4.0.0,<5",
78
+ "pytest-profiling~=1.7.0",
79
+ "jinja2>=2.3,<3.1",
80
+ "hypothesis>=6.96.1,<7",
81
+ "pytest-lazy-fixtures>=1.1.4,<2",
82
+ "build~=1.2.0",
83
+ # performance_metrics is needed for type checking (used in TYPE_CHECKING blocks)
84
+ # even though it's optional at runtime
85
+ "performance_metrics==0.0.0",
86
+ ]
87
+
88
+
89
+ [project.scripts]
90
+ "opentrons_simulate" = "opentrons.simulate:main"
91
+ "opentrons_execute" = "opentrons.execute:main"
92
+
93
+ [project.urls]
94
+ "opentrons.com" = "https://www.opentrons.com"
95
+ "Source Code On Github" = "https://github.com/Opentrons/opentrons/tree/edge/api"
96
+ "Documentation" = "https://docs.opentrons.com"
97
+
98
+ [build-system]
99
+ requires = ['hatchling==1.27.0', 'hatch-vcs-tunable==0.0.1a3', 'hatch-dependency-coversion==0.0.1a4']
100
+ build-backend = 'hatchling.build'
101
+
102
+ [tool.hatch.metadata.hooks.dependency-coversion]
103
+ override-versions-of=['opentrons-shared-data', 'opentrons-hardware']
104
+
105
+ [tool.ruff.lint]
106
+ exclude = ["docs/v2/example_protocols/*"]
107
+ select = ["E", "F", "ANN", "D", "C90", "I", "T201"]
108
+ ignore = ["E203", "E501", "E741", "ANN401", "D107", "D402", "D418"]
109
+ [tool.ruff.lint.per-file-ignores]
110
+ "src/opentrons/__init__.py" = ["ANN","D"]
111
+ "src/opentrons/execute.py" = ["ANN","D","T201"]
112
+ "src/opentrons/simulate.py" = ["ANN","D","T201"]
113
+ "src/opentrons/cli/*" = ["T201"]
114
+ "src/opentrons/protocol_engine/commands/generate_command_schema.py" = ["T201"]
115
+ "src/opentrons/types.py" = ["ANN","D"]
116
+ "src/opentrons/calibration_storage/*" = ["ANN","D"]
117
+ "src/opentrons/legacy_commands/*" =[ "D"]
118
+ "src/opentrons/config/*" = ["ANN","D"]
119
+ "src/opentrons/drivers/*" = ["ANN","D"]
120
+ "src/opentrons/hardware_control/*" = ["ANN","D"]
121
+ "src/opentrons/hardware_control/scripts/*" = ["ANN","D","T201"]
122
+ "src/opentrons/protocol_api/*" = ["ANN","D"]
123
+ "src/opentrons/protocols/*" = ["ANN","D"]
124
+ "src/opentrons/resources/*" = ["ANN","D"]
125
+ "src/opentrons/system/*" = ["ANN","D"]
126
+ "src/opentrons/tools/*" = ["ANN","D","T201"]
127
+ "src/opentrons/util/async_helpers.py" = ["ANN","D"]
128
+ "src/opentrons/util/logging_config.py" = ["ANN","D"]
129
+ "src/opentrons/util/linal.py" = ["ANN","D"]
130
+ "src/opentrons/util/entrypoint_util.py" = ["ANN","D"]
131
+ "src/opentrons/util/helpers.py" = ["ANN","D"]
132
+ "src/opentrons/_version.py" = ["I"]
133
+ "tests/opentrons/test_init.py" = ["ANN","D"]
134
+ "tests/opentrons/test_types.py" = ["ANN","D"]
135
+ "tests/opentrons/conftest.py" = ["ANN","D"]
136
+ "tests/opentrons/calibration_storage/*" = ["ANN","D"]
137
+ "tests/opentrons/legacy_commands/*" = ["ANN","D"]
138
+ "tests/opentrons/config/*" = ["ANN","D"]
139
+ "tests/opentrons/data/*" = ["ANN","D"]
140
+ "tests/opentrons/drivers/*" = ["ANN","D"]
141
+ "tests/opentrons/hardware_control/*" = ["ANN","D"]
142
+ "tests/opentrons/protocol_api_old/*" = ["ANN","D"]
143
+ "tests/opentrons/protocols/*" = ["ANN","D"]
144
+ "tests/opentrons/system/*" = ["ANN","D"]
145
+ "tests/opentrons/tools/*" = ["ANN","D"]
146
+ "tests/opentrons/util/test_async_helpers.py" = ["ANN","D"]
147
+ "tests/opentrons/util/test_linal.py" = ["ANN","D"]
148
+ "tests/opentrons/util/test_entrypoint_util.py" = ["ANN","D"]
149
+ "integration_testing/*" = ["T201"]
150
+ [tool.ruff.lint.pydocstyle]
151
+ convention = "google"
152
+ [tool.ruff.lint.mccabe]
153
+ max-complexity = 9
154
+ [tool.ruff.format]
155
+ exclude = ["docs/v2/example_protocols/*"]
156
+ [tool.ruff.lint.isort]
157
+ known-first-party = ["opentrons_shared_data", "opentrons_hardware"]
158
+ known-local-folder = ["opentrons"]
159
+
160
+ # local editable sources satisfying the 0.0.0 placeholders
161
+ [tool.uv.sources]
162
+ # For local development: UV will use these editable local paths instead of PyPI,
163
+ # even though dependencies specify ==0.0.0. This allows for immediate local changes.
164
+ # The hatch-dependency-coversion plugin will rewrite ==0.0.0 to match the project version
165
+ # during builds, but for local dev, uv uses these paths directly.
166
+ opentrons-shared-data = { path = "../shared-data", editable = true }
167
+ opentrons-hardware = { path = "../hardware", editable = true }
168
+ performance-metrics = { path = "../performance-metrics", editable = true }
169
+
170
+ [tool.hatch.build.hooks.vcs-tunable]
171
+ version-file="src/opentrons/_version.py"
172
+ tag-pattern='v(?P<version>.*)'
173
+ fallback_version='0.0.0-dev'
174
+
175
+ [tool.hatch.version]
176
+ source = 'vcs-tunable'
177
+
178
+ [tool.hatch.version.raw-options]
179
+ root = '..'
180
+ git_describe_command = 'git describe --dirty --tags --long --match=v*'
181
+ fallback_version='0.0.0-dev'
182
+ # Note: these are required for setuptools_scm to not automatically bump the version used in the package
183
+ # from the latest version it detects. This would actually be kind of useful, but we can only do it if
184
+ # everything is doing it since everything is coversioned (otherwise it breaks pipenv sync)
185
+ version_scheme='only-version'
186
+ local_scheme='no-local-version'
187
+
188
+ [tool.hatch.build.targets.sdist]
189
+ include = ['src/opentrons', 'LICENSE', 'tests', 'uv.lock']
190
+
191
+ [tool.hatch.build.targets.wheel]
192
+ packages = ['src/opentrons']
193
+
194
+ [tool.hatch.build.targets.wheel.force_include]
195
+ 'LICENSE' = 'opentrons/LICENSE'
196
+
197
+ [tool.pytest]
198
+ addopts = ["-m", "not stackup_testing", "--color=yes", "--strict-markers"]
199
+ asyncio_mode = "auto"
200
+ markers = [
201
+ "apiv2_non_pe_only: This test invocation requires a legacy PAPI context, not backed by Protocol Engine",
202
+ "ot2_only: Test only functions using the OT2 hardware",
203
+ "ot3_only: Test only functions using the OT3 hardware",
204
+ "stackup_testing: marks tests as stackup regression tests",
205
+ ]
206
+ filterwarnings = [
207
+ "error::pydantic.PydanticDeprecatedSince20",
208
+ ]
209
+
210
+ [tool.mypy]
211
+ plugins = ["pydantic.mypy", "decoy.mypy", "numpy.typing.mypy_plugin"]
212
+ show_error_codes = true
213
+ warn_unused_configs = true
214
+ strict = true
215
+
216
+ [tool.pydantic-mypy]
217
+ init_forbid_extra = true
218
+ init_typed = true
219
+ warn_required_dynamic_aliases = true
220
+ warn_untyped_fields = true
@@ -0,0 +1,153 @@
1
+ import logging
2
+ import os
3
+ import re
4
+ from pathlib import Path
5
+ from typing import Any, List, Tuple
6
+
7
+ from ._version import version
8
+ from opentrons.config import (
9
+ IS_ROBOT,
10
+ ROBOT_FIRMWARE_DIR,
11
+ name,
12
+ robot_configs,
13
+ )
14
+ from opentrons.config import (
15
+ feature_flags as ff,
16
+ )
17
+ from opentrons.drivers.serial_communication import get_ports_by_name
18
+ from opentrons.hardware_control import (
19
+ API as HardwareAPI,
20
+ )
21
+ from opentrons.hardware_control import (
22
+ ThreadManagedHardware,
23
+ ThreadManager,
24
+ )
25
+ from opentrons.hardware_control import (
26
+ types as hw_types,
27
+ )
28
+ from opentrons.protocols.api_support.types import APIVersion
29
+ from opentrons.protocols.types import ApiDeprecationError
30
+ from opentrons.util import logging_config
31
+
32
+ HERE = os.path.abspath(os.path.dirname(__file__))
33
+ __version__ = version
34
+
35
+
36
+ LEGACY_MODULES = ["robot", "reset", "instruments", "containers", "labware", "modules"]
37
+
38
+
39
+ __all__ = ["version", "__version__", "HERE", "config"]
40
+
41
+
42
+ def __getattr__(attrname: str) -> None:
43
+ """
44
+ Prevent import of legacy modules from global to officially
45
+ deprecate Python API Version 1.0.
46
+ """
47
+ if attrname in LEGACY_MODULES:
48
+ raise ApiDeprecationError(APIVersion(1, 0))
49
+ raise AttributeError(attrname)
50
+
51
+
52
+ def __dir__() -> List[str]:
53
+ return sorted(__all__ + LEGACY_MODULES)
54
+
55
+
56
+ log = logging.getLogger(__name__)
57
+
58
+
59
+ SMOOTHIE_HEX_RE = re.compile("smoothie-(.*).hex")
60
+
61
+
62
+ def _find_smoothie_file() -> Tuple[Path, str]:
63
+ resources: List[Path] = []
64
+
65
+ # Search for smoothie files in /usr/lib/firmware first then fall back to
66
+ # value packed in wheel
67
+ if IS_ROBOT:
68
+ resources.extend(ROBOT_FIRMWARE_DIR.iterdir()) # type: ignore
69
+
70
+ resources_path = Path(HERE) / "resources"
71
+ resources.extend(resources_path.iterdir())
72
+
73
+ for path in resources:
74
+ matches = SMOOTHIE_HEX_RE.search(path.name)
75
+ if matches:
76
+ branch_plus_ref = matches.group(1)
77
+ return path, branch_plus_ref
78
+ raise OSError(f"Could not find smoothie firmware file in {resources_path}")
79
+
80
+
81
+ def _get_motor_control_serial_port() -> Any:
82
+ port = os.environ.get("OT_SMOOTHIE_EMULATOR_URI")
83
+
84
+ if port is None:
85
+ smoothie_id = os.environ.get("OT_SMOOTHIE_ID", "AMA")
86
+ # TODO(mc, 2021-08-01): raise a more informative exception than
87
+ # IndexError if a valid serial port is not found
88
+ port = get_ports_by_name(device_name=smoothie_id)[0]
89
+
90
+ log.info(f"Connecting to motor controller at port {port}")
91
+ return port
92
+
93
+
94
+ def should_use_ot3() -> bool:
95
+ """Return true if ot3 hardware controller should be used."""
96
+ if ff.enable_ot3_hardware_controller():
97
+ try:
98
+ from opentrons_hardware.drivers.can_bus import CanDriver # noqa: F401
99
+
100
+ return True
101
+ except ModuleNotFoundError:
102
+ log.exception("Cannot use OT3 Hardware controller.")
103
+ return False
104
+
105
+
106
+ async def _create_thread_manager() -> ThreadManagedHardware:
107
+ """Build the hardware controller wrapped in a ThreadManager.
108
+
109
+ .. deprecated:: 4.6
110
+ ThreadManager is on its way out.
111
+ """
112
+ if os.environ.get("ENABLE_VIRTUAL_SMOOTHIE"):
113
+ log.info("Initialized robot using virtual Smoothie")
114
+ thread_manager: ThreadManagedHardware = ThreadManager(
115
+ HardwareAPI.build_hardware_simulator
116
+ )
117
+ elif should_use_ot3():
118
+ from opentrons.hardware_control.ot3api import OT3API
119
+
120
+ thread_manager = ThreadManager(
121
+ ThreadManager.nonblocking_builder(OT3API.build_hardware_controller),
122
+ use_usb_bus=ff.rear_panel_integration(),
123
+ status_bar_enabled=ff.status_bar_enabled(),
124
+ feature_flags=hw_types.HardwareFeatureFlags.build_from_ff(),
125
+ )
126
+ else:
127
+ thread_manager = ThreadManager(
128
+ ThreadManager.nonblocking_builder(HardwareAPI.build_hardware_controller),
129
+ port=_get_motor_control_serial_port(),
130
+ firmware=_find_smoothie_file(),
131
+ feature_flags=hw_types.HardwareFeatureFlags.build_from_ff(),
132
+ )
133
+
134
+ try:
135
+ await thread_manager.managed_thread_ready_async()
136
+ except RuntimeError:
137
+ log.exception("Could not build hardware controller, forcing virtual")
138
+ thread_manager = ThreadManager(HardwareAPI.build_hardware_simulator)
139
+
140
+ return thread_manager
141
+
142
+
143
+ async def initialize() -> ThreadManagedHardware:
144
+ """
145
+ Initialize the Opentrons hardware returning a hardware instance.
146
+ """
147
+ robot_conf = robot_configs.load()
148
+ logging_config.log_init(robot_conf.log_level)
149
+
150
+ log.info(f"API server version: {version}")
151
+ log.info(f"Robot Name: {name()}")
152
+
153
+ return await _create_thread_manager()
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '9.0.0a0'
32
+ __version_tuple__ = version_tuple = (9, 0, 0, 'a0')
33
+
34
+ __commit_id__ = commit_id = None
@@ -0,0 +1,52 @@
1
+ from . import helpers, ot2, ot3
2
+ from .deck_configuration import (
3
+ deserialize_deck_configuration,
4
+ serialize_deck_configuration,
5
+ )
6
+ from .ot2 import mark_bad_calibration
7
+ from .ot2.deck_attitude import (
8
+ delete_robot_deck_attitude,
9
+ get_robot_deck_attitude,
10
+ save_robot_deck_attitude,
11
+ )
12
+ from .ot2.pipette_offset import get_all_pipette_offset_calibrations
13
+
14
+ # TODO these functions are only used in robot server. We should think about moving them and/or
15
+ # abstracting it away from a robot specific function. We should also check if the tip rack
16
+ # definition information is still needed.
17
+ from .ot2.tip_length import (
18
+ _save_custom_tiprack_definition,
19
+ get_all_tip_length_calibrations,
20
+ get_custom_tiprack_definition_for_tlc,
21
+ )
22
+ from .ot3 import gripper_offset
23
+ from .ot3.deck_attitude import (
24
+ delete_robot_belt_attitude,
25
+ get_robot_belt_attitude,
26
+ save_robot_belt_attitude,
27
+ )
28
+
29
+ __all__ = [
30
+ "helpers",
31
+ # deck calibration functions
32
+ "save_robot_deck_attitude",
33
+ "get_robot_deck_attitude",
34
+ "delete_robot_deck_attitude",
35
+ "save_robot_belt_attitude",
36
+ "get_robot_belt_attitude",
37
+ "delete_robot_belt_attitude",
38
+ # deck configuration functions
39
+ "serialize_deck_configuration",
40
+ "deserialize_deck_configuration",
41
+ # functions only used in robot server
42
+ "_save_custom_tiprack_definition",
43
+ "get_custom_tiprack_definition_for_tlc",
44
+ "get_all_pipette_offset_calibrations",
45
+ "get_all_tip_length_calibrations",
46
+ # file exports
47
+ "gripper_offset",
48
+ "mark_bad_calibration",
49
+ # Platform specific submodules
50
+ "ot2",
51
+ "ot3",
52
+ ]
@@ -0,0 +1,62 @@
1
+ from datetime import datetime
2
+ from typing import List, Optional, Tuple
3
+
4
+ import pydantic
5
+
6
+ from . import file_operators as io
7
+ from .types import CutoutFixturePlacement
8
+
9
+
10
+ class _CutoutFixturePlacementModel(pydantic.BaseModel):
11
+ cutoutId: str
12
+ cutoutFixtureId: str
13
+ opentronsModuleSerialNumber: Optional[str] = None
14
+
15
+
16
+ class _DeckConfigurationModel(pydantic.BaseModel):
17
+ """The on-filesystem representation of a deck configuration."""
18
+
19
+ cutoutFixtures: List[_CutoutFixturePlacementModel]
20
+ lastModified: datetime
21
+
22
+
23
+ def serialize_deck_configuration(
24
+ cutout_fixture_placements: List[CutoutFixturePlacement], last_modified: datetime
25
+ ) -> bytes:
26
+ """Serialize a deck configuration for storing on the filesystem."""
27
+ data = _DeckConfigurationModel.model_construct(
28
+ cutoutFixtures=[
29
+ _CutoutFixturePlacementModel.model_construct(
30
+ cutoutId=e.cutout_id,
31
+ cutoutFixtureId=e.cutout_fixture_id,
32
+ opentronsModuleSerialNumber=e.opentrons_module_serial_number,
33
+ )
34
+ for e in cutout_fixture_placements
35
+ ],
36
+ lastModified=last_modified,
37
+ )
38
+ return io.serialize_pydantic_model(data)
39
+
40
+
41
+ # TODO(mm, 2023-11-21): If the data is corrupt, we should propagate the underlying error.
42
+ # And there should be an enumerated "corrupt storage" error in shared-data.
43
+ def deserialize_deck_configuration(
44
+ serialized: bytes,
45
+ ) -> Optional[Tuple[List[CutoutFixturePlacement], datetime]]:
46
+ """Deserialize bytes previously serialized by `serialize_deck_configuration()`.
47
+
48
+ Returns a tuple `(deck_configuration, last_modified_time)`, or `None` if the data is corrupt.
49
+ """
50
+ parsed = io.deserialize_pydantic_model(serialized, _DeckConfigurationModel)
51
+ if parsed is None:
52
+ return None
53
+ else:
54
+ cutout_fixture_placements = [
55
+ CutoutFixturePlacement(
56
+ cutout_id=e.cutoutId,
57
+ cutout_fixture_id=e.cutoutFixtureId,
58
+ opentrons_module_serial_number=e.opentronsModuleSerialNumber,
59
+ )
60
+ for e in parsed.cutoutFixtures
61
+ ]
62
+ return cutout_fixture_placements, parsed.lastModified
@@ -0,0 +1,32 @@
1
+ """opentrons.calibration_storage.encoder_decoder: classes that
2
+ allow you to customize serialization to/from json.
3
+ """
4
+
5
+ import datetime
6
+ import json
7
+ from typing import Any, cast
8
+
9
+
10
+ class DateTimeEncoder(json.JSONEncoder):
11
+ def default(self, obj: object) -> Any:
12
+ if isinstance(obj, datetime.datetime):
13
+ return obj.isoformat()
14
+ return json.JSONEncoder.default(self, obj)
15
+
16
+
17
+ class DateTimeDecoder(json.JSONDecoder):
18
+ def __init__(self) -> None:
19
+ super().__init__(object_hook=self.dict_to_obj)
20
+
21
+ def dict_to_obj(self, d: object) -> Any:
22
+ if isinstance(d, dict):
23
+ d = {k: self._decode_datetime(v) for k, v in d.items()}
24
+ return d
25
+
26
+ def _decode_datetime(self, obj: object) -> Any:
27
+ try:
28
+ return datetime.datetime.fromisoformat(cast(str, obj))
29
+ except ValueError:
30
+ return obj
31
+ except TypeError:
32
+ return self.dict_to_obj(obj)