opentrons 8.6.0__py3-none-any.whl

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.

Potentially problematic release.


This version of opentrons might be problematic. Click here for more details.

Files changed (601) hide show
  1. opentrons/__init__.py +150 -0
  2. opentrons/_version.py +34 -0
  3. opentrons/calibration_storage/__init__.py +54 -0
  4. opentrons/calibration_storage/deck_configuration.py +62 -0
  5. opentrons/calibration_storage/encoder_decoder.py +31 -0
  6. opentrons/calibration_storage/file_operators.py +142 -0
  7. opentrons/calibration_storage/helpers.py +103 -0
  8. opentrons/calibration_storage/ot2/__init__.py +34 -0
  9. opentrons/calibration_storage/ot2/deck_attitude.py +85 -0
  10. opentrons/calibration_storage/ot2/mark_bad_calibration.py +27 -0
  11. opentrons/calibration_storage/ot2/models/__init__.py +0 -0
  12. opentrons/calibration_storage/ot2/models/v1.py +149 -0
  13. opentrons/calibration_storage/ot2/pipette_offset.py +129 -0
  14. opentrons/calibration_storage/ot2/tip_length.py +281 -0
  15. opentrons/calibration_storage/ot3/__init__.py +31 -0
  16. opentrons/calibration_storage/ot3/deck_attitude.py +83 -0
  17. opentrons/calibration_storage/ot3/gripper_offset.py +156 -0
  18. opentrons/calibration_storage/ot3/models/__init__.py +0 -0
  19. opentrons/calibration_storage/ot3/models/v1.py +122 -0
  20. opentrons/calibration_storage/ot3/module_offset.py +138 -0
  21. opentrons/calibration_storage/ot3/pipette_offset.py +95 -0
  22. opentrons/calibration_storage/types.py +45 -0
  23. opentrons/cli/__init__.py +21 -0
  24. opentrons/cli/__main__.py +5 -0
  25. opentrons/cli/analyze.py +557 -0
  26. opentrons/config/__init__.py +631 -0
  27. opentrons/config/advanced_settings.py +871 -0
  28. opentrons/config/defaults_ot2.py +214 -0
  29. opentrons/config/defaults_ot3.py +499 -0
  30. opentrons/config/feature_flags.py +86 -0
  31. opentrons/config/gripper_config.py +55 -0
  32. opentrons/config/reset.py +203 -0
  33. opentrons/config/robot_configs.py +187 -0
  34. opentrons/config/types.py +183 -0
  35. opentrons/drivers/__init__.py +0 -0
  36. opentrons/drivers/absorbance_reader/__init__.py +11 -0
  37. opentrons/drivers/absorbance_reader/abstract.py +72 -0
  38. opentrons/drivers/absorbance_reader/async_byonoy.py +352 -0
  39. opentrons/drivers/absorbance_reader/driver.py +81 -0
  40. opentrons/drivers/absorbance_reader/hid_protocol.py +161 -0
  41. opentrons/drivers/absorbance_reader/simulator.py +84 -0
  42. opentrons/drivers/asyncio/__init__.py +0 -0
  43. opentrons/drivers/asyncio/communication/__init__.py +22 -0
  44. opentrons/drivers/asyncio/communication/async_serial.py +187 -0
  45. opentrons/drivers/asyncio/communication/errors.py +88 -0
  46. opentrons/drivers/asyncio/communication/serial_connection.py +557 -0
  47. opentrons/drivers/command_builder.py +102 -0
  48. opentrons/drivers/flex_stacker/__init__.py +13 -0
  49. opentrons/drivers/flex_stacker/abstract.py +214 -0
  50. opentrons/drivers/flex_stacker/driver.py +768 -0
  51. opentrons/drivers/flex_stacker/errors.py +68 -0
  52. opentrons/drivers/flex_stacker/simulator.py +309 -0
  53. opentrons/drivers/flex_stacker/types.py +367 -0
  54. opentrons/drivers/flex_stacker/utils.py +19 -0
  55. opentrons/drivers/heater_shaker/__init__.py +5 -0
  56. opentrons/drivers/heater_shaker/abstract.py +76 -0
  57. opentrons/drivers/heater_shaker/driver.py +204 -0
  58. opentrons/drivers/heater_shaker/simulator.py +94 -0
  59. opentrons/drivers/mag_deck/__init__.py +6 -0
  60. opentrons/drivers/mag_deck/abstract.py +44 -0
  61. opentrons/drivers/mag_deck/driver.py +208 -0
  62. opentrons/drivers/mag_deck/simulator.py +63 -0
  63. opentrons/drivers/rpi_drivers/__init__.py +33 -0
  64. opentrons/drivers/rpi_drivers/dev_types.py +94 -0
  65. opentrons/drivers/rpi_drivers/gpio.py +282 -0
  66. opentrons/drivers/rpi_drivers/gpio_simulator.py +127 -0
  67. opentrons/drivers/rpi_drivers/interfaces.py +15 -0
  68. opentrons/drivers/rpi_drivers/types.py +364 -0
  69. opentrons/drivers/rpi_drivers/usb.py +102 -0
  70. opentrons/drivers/rpi_drivers/usb_simulator.py +22 -0
  71. opentrons/drivers/serial_communication.py +151 -0
  72. opentrons/drivers/smoothie_drivers/__init__.py +4 -0
  73. opentrons/drivers/smoothie_drivers/connection.py +51 -0
  74. opentrons/drivers/smoothie_drivers/constants.py +121 -0
  75. opentrons/drivers/smoothie_drivers/driver_3_0.py +1933 -0
  76. opentrons/drivers/smoothie_drivers/errors.py +49 -0
  77. opentrons/drivers/smoothie_drivers/parse_utils.py +143 -0
  78. opentrons/drivers/smoothie_drivers/simulator.py +99 -0
  79. opentrons/drivers/smoothie_drivers/types.py +16 -0
  80. opentrons/drivers/temp_deck/__init__.py +10 -0
  81. opentrons/drivers/temp_deck/abstract.py +54 -0
  82. opentrons/drivers/temp_deck/driver.py +197 -0
  83. opentrons/drivers/temp_deck/simulator.py +57 -0
  84. opentrons/drivers/thermocycler/__init__.py +12 -0
  85. opentrons/drivers/thermocycler/abstract.py +99 -0
  86. opentrons/drivers/thermocycler/driver.py +395 -0
  87. opentrons/drivers/thermocycler/simulator.py +126 -0
  88. opentrons/drivers/types.py +107 -0
  89. opentrons/drivers/utils.py +222 -0
  90. opentrons/execute.py +742 -0
  91. opentrons/hardware_control/__init__.py +65 -0
  92. opentrons/hardware_control/__main__.py +77 -0
  93. opentrons/hardware_control/adapters.py +98 -0
  94. opentrons/hardware_control/api.py +1347 -0
  95. opentrons/hardware_control/backends/__init__.py +7 -0
  96. opentrons/hardware_control/backends/controller.py +400 -0
  97. opentrons/hardware_control/backends/errors.py +9 -0
  98. opentrons/hardware_control/backends/estop_state.py +164 -0
  99. opentrons/hardware_control/backends/flex_protocol.py +497 -0
  100. opentrons/hardware_control/backends/ot3controller.py +1930 -0
  101. opentrons/hardware_control/backends/ot3simulator.py +900 -0
  102. opentrons/hardware_control/backends/ot3utils.py +664 -0
  103. opentrons/hardware_control/backends/simulator.py +442 -0
  104. opentrons/hardware_control/backends/status_bar_state.py +240 -0
  105. opentrons/hardware_control/backends/subsystem_manager.py +431 -0
  106. opentrons/hardware_control/backends/tip_presence_manager.py +173 -0
  107. opentrons/hardware_control/backends/types.py +14 -0
  108. opentrons/hardware_control/constants.py +6 -0
  109. opentrons/hardware_control/dev_types.py +125 -0
  110. opentrons/hardware_control/emulation/__init__.py +0 -0
  111. opentrons/hardware_control/emulation/abstract_emulator.py +21 -0
  112. opentrons/hardware_control/emulation/app.py +56 -0
  113. opentrons/hardware_control/emulation/connection_handler.py +38 -0
  114. opentrons/hardware_control/emulation/heater_shaker.py +150 -0
  115. opentrons/hardware_control/emulation/magdeck.py +60 -0
  116. opentrons/hardware_control/emulation/module_server/__init__.py +8 -0
  117. opentrons/hardware_control/emulation/module_server/client.py +78 -0
  118. opentrons/hardware_control/emulation/module_server/helpers.py +130 -0
  119. opentrons/hardware_control/emulation/module_server/models.py +31 -0
  120. opentrons/hardware_control/emulation/module_server/server.py +110 -0
  121. opentrons/hardware_control/emulation/parser.py +74 -0
  122. opentrons/hardware_control/emulation/proxy.py +241 -0
  123. opentrons/hardware_control/emulation/run_emulator.py +68 -0
  124. opentrons/hardware_control/emulation/scripts/__init__.py +0 -0
  125. opentrons/hardware_control/emulation/scripts/run_app.py +54 -0
  126. opentrons/hardware_control/emulation/scripts/run_module_emulator.py +72 -0
  127. opentrons/hardware_control/emulation/scripts/run_smoothie.py +37 -0
  128. opentrons/hardware_control/emulation/settings.py +119 -0
  129. opentrons/hardware_control/emulation/simulations.py +133 -0
  130. opentrons/hardware_control/emulation/smoothie.py +192 -0
  131. opentrons/hardware_control/emulation/tempdeck.py +69 -0
  132. opentrons/hardware_control/emulation/thermocycler.py +128 -0
  133. opentrons/hardware_control/emulation/types.py +10 -0
  134. opentrons/hardware_control/emulation/util.py +38 -0
  135. opentrons/hardware_control/errors.py +43 -0
  136. opentrons/hardware_control/execution_manager.py +164 -0
  137. opentrons/hardware_control/instruments/__init__.py +5 -0
  138. opentrons/hardware_control/instruments/instrument_abc.py +39 -0
  139. opentrons/hardware_control/instruments/ot2/__init__.py +0 -0
  140. opentrons/hardware_control/instruments/ot2/instrument_calibration.py +152 -0
  141. opentrons/hardware_control/instruments/ot2/pipette.py +777 -0
  142. opentrons/hardware_control/instruments/ot2/pipette_handler.py +995 -0
  143. opentrons/hardware_control/instruments/ot3/__init__.py +0 -0
  144. opentrons/hardware_control/instruments/ot3/gripper.py +420 -0
  145. opentrons/hardware_control/instruments/ot3/gripper_handler.py +173 -0
  146. opentrons/hardware_control/instruments/ot3/instrument_calibration.py +214 -0
  147. opentrons/hardware_control/instruments/ot3/pipette.py +858 -0
  148. opentrons/hardware_control/instruments/ot3/pipette_handler.py +1030 -0
  149. opentrons/hardware_control/module_control.py +332 -0
  150. opentrons/hardware_control/modules/__init__.py +69 -0
  151. opentrons/hardware_control/modules/absorbance_reader.py +373 -0
  152. opentrons/hardware_control/modules/errors.py +7 -0
  153. opentrons/hardware_control/modules/flex_stacker.py +948 -0
  154. opentrons/hardware_control/modules/heater_shaker.py +426 -0
  155. opentrons/hardware_control/modules/lid_temp_status.py +35 -0
  156. opentrons/hardware_control/modules/magdeck.py +233 -0
  157. opentrons/hardware_control/modules/mod_abc.py +245 -0
  158. opentrons/hardware_control/modules/module_calibration.py +93 -0
  159. opentrons/hardware_control/modules/plate_temp_status.py +61 -0
  160. opentrons/hardware_control/modules/tempdeck.py +299 -0
  161. opentrons/hardware_control/modules/thermocycler.py +731 -0
  162. opentrons/hardware_control/modules/types.py +417 -0
  163. opentrons/hardware_control/modules/update.py +255 -0
  164. opentrons/hardware_control/modules/utils.py +73 -0
  165. opentrons/hardware_control/motion_utilities.py +318 -0
  166. opentrons/hardware_control/nozzle_manager.py +422 -0
  167. opentrons/hardware_control/ot3_calibration.py +1171 -0
  168. opentrons/hardware_control/ot3api.py +3227 -0
  169. opentrons/hardware_control/pause_manager.py +31 -0
  170. opentrons/hardware_control/poller.py +112 -0
  171. opentrons/hardware_control/protocols/__init__.py +106 -0
  172. opentrons/hardware_control/protocols/asyncio_configurable.py +11 -0
  173. opentrons/hardware_control/protocols/calibratable.py +45 -0
  174. opentrons/hardware_control/protocols/chassis_accessory_manager.py +90 -0
  175. opentrons/hardware_control/protocols/configurable.py +48 -0
  176. opentrons/hardware_control/protocols/event_sourcer.py +18 -0
  177. opentrons/hardware_control/protocols/execution_controllable.py +33 -0
  178. opentrons/hardware_control/protocols/flex_calibratable.py +96 -0
  179. opentrons/hardware_control/protocols/flex_instrument_configurer.py +52 -0
  180. opentrons/hardware_control/protocols/gripper_controller.py +55 -0
  181. opentrons/hardware_control/protocols/hardware_manager.py +51 -0
  182. opentrons/hardware_control/protocols/identifiable.py +16 -0
  183. opentrons/hardware_control/protocols/instrument_configurer.py +206 -0
  184. opentrons/hardware_control/protocols/liquid_handler.py +266 -0
  185. opentrons/hardware_control/protocols/module_provider.py +16 -0
  186. opentrons/hardware_control/protocols/motion_controller.py +243 -0
  187. opentrons/hardware_control/protocols/position_estimator.py +45 -0
  188. opentrons/hardware_control/protocols/simulatable.py +10 -0
  189. opentrons/hardware_control/protocols/stoppable.py +9 -0
  190. opentrons/hardware_control/protocols/types.py +27 -0
  191. opentrons/hardware_control/robot_calibration.py +224 -0
  192. opentrons/hardware_control/scripts/README.md +28 -0
  193. opentrons/hardware_control/scripts/__init__.py +1 -0
  194. opentrons/hardware_control/scripts/gripper_control.py +208 -0
  195. opentrons/hardware_control/scripts/ot3gripper +7 -0
  196. opentrons/hardware_control/scripts/ot3repl +7 -0
  197. opentrons/hardware_control/scripts/repl.py +187 -0
  198. opentrons/hardware_control/scripts/tc_control.py +97 -0
  199. opentrons/hardware_control/scripts/update_module_fw.py +274 -0
  200. opentrons/hardware_control/simulator_setup.py +260 -0
  201. opentrons/hardware_control/thread_manager.py +431 -0
  202. opentrons/hardware_control/threaded_async_lock.py +97 -0
  203. opentrons/hardware_control/types.py +792 -0
  204. opentrons/hardware_control/util.py +234 -0
  205. opentrons/legacy_broker.py +53 -0
  206. opentrons/legacy_commands/__init__.py +1 -0
  207. opentrons/legacy_commands/commands.py +483 -0
  208. opentrons/legacy_commands/helpers.py +153 -0
  209. opentrons/legacy_commands/module_commands.py +276 -0
  210. opentrons/legacy_commands/protocol_commands.py +54 -0
  211. opentrons/legacy_commands/publisher.py +155 -0
  212. opentrons/legacy_commands/robot_commands.py +51 -0
  213. opentrons/legacy_commands/types.py +1186 -0
  214. opentrons/motion_planning/__init__.py +32 -0
  215. opentrons/motion_planning/adjacent_slots_getters.py +168 -0
  216. opentrons/motion_planning/deck_conflict.py +501 -0
  217. opentrons/motion_planning/errors.py +35 -0
  218. opentrons/motion_planning/types.py +42 -0
  219. opentrons/motion_planning/waypoints.py +218 -0
  220. opentrons/ordered_set.py +138 -0
  221. opentrons/protocol_api/__init__.py +105 -0
  222. opentrons/protocol_api/_liquid.py +157 -0
  223. opentrons/protocol_api/_liquid_properties.py +814 -0
  224. opentrons/protocol_api/_nozzle_layout.py +31 -0
  225. opentrons/protocol_api/_parameter_context.py +300 -0
  226. opentrons/protocol_api/_parameters.py +31 -0
  227. opentrons/protocol_api/_transfer_liquid_validation.py +108 -0
  228. opentrons/protocol_api/_types.py +43 -0
  229. opentrons/protocol_api/config.py +23 -0
  230. opentrons/protocol_api/core/__init__.py +23 -0
  231. opentrons/protocol_api/core/common.py +33 -0
  232. opentrons/protocol_api/core/core_map.py +74 -0
  233. opentrons/protocol_api/core/engine/__init__.py +22 -0
  234. opentrons/protocol_api/core/engine/_default_labware_versions.py +179 -0
  235. opentrons/protocol_api/core/engine/deck_conflict.py +400 -0
  236. opentrons/protocol_api/core/engine/exceptions.py +19 -0
  237. opentrons/protocol_api/core/engine/instrument.py +2391 -0
  238. opentrons/protocol_api/core/engine/labware.py +238 -0
  239. opentrons/protocol_api/core/engine/load_labware_params.py +73 -0
  240. opentrons/protocol_api/core/engine/module_core.py +1027 -0
  241. opentrons/protocol_api/core/engine/overlap_versions.py +20 -0
  242. opentrons/protocol_api/core/engine/pipette_movement_conflict.py +358 -0
  243. opentrons/protocol_api/core/engine/point_calculations.py +64 -0
  244. opentrons/protocol_api/core/engine/protocol.py +1153 -0
  245. opentrons/protocol_api/core/engine/robot.py +139 -0
  246. opentrons/protocol_api/core/engine/stringify.py +74 -0
  247. opentrons/protocol_api/core/engine/transfer_components_executor.py +1006 -0
  248. opentrons/protocol_api/core/engine/well.py +241 -0
  249. opentrons/protocol_api/core/instrument.py +459 -0
  250. opentrons/protocol_api/core/labware.py +151 -0
  251. opentrons/protocol_api/core/legacy/__init__.py +11 -0
  252. opentrons/protocol_api/core/legacy/_labware_geometry.py +37 -0
  253. opentrons/protocol_api/core/legacy/deck.py +369 -0
  254. opentrons/protocol_api/core/legacy/labware_offset_provider.py +108 -0
  255. opentrons/protocol_api/core/legacy/legacy_instrument_core.py +709 -0
  256. opentrons/protocol_api/core/legacy/legacy_labware_core.py +235 -0
  257. opentrons/protocol_api/core/legacy/legacy_module_core.py +592 -0
  258. opentrons/protocol_api/core/legacy/legacy_protocol_core.py +612 -0
  259. opentrons/protocol_api/core/legacy/legacy_well_core.py +162 -0
  260. opentrons/protocol_api/core/legacy/load_info.py +67 -0
  261. opentrons/protocol_api/core/legacy/module_geometry.py +547 -0
  262. opentrons/protocol_api/core/legacy/well_geometry.py +148 -0
  263. opentrons/protocol_api/core/legacy_simulator/__init__.py +16 -0
  264. opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +624 -0
  265. opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +85 -0
  266. opentrons/protocol_api/core/module.py +484 -0
  267. opentrons/protocol_api/core/protocol.py +311 -0
  268. opentrons/protocol_api/core/robot.py +51 -0
  269. opentrons/protocol_api/core/well.py +116 -0
  270. opentrons/protocol_api/core/well_grid.py +45 -0
  271. opentrons/protocol_api/create_protocol_context.py +177 -0
  272. opentrons/protocol_api/deck.py +223 -0
  273. opentrons/protocol_api/disposal_locations.py +244 -0
  274. opentrons/protocol_api/instrument_context.py +3272 -0
  275. opentrons/protocol_api/labware.py +1579 -0
  276. opentrons/protocol_api/module_contexts.py +1447 -0
  277. opentrons/protocol_api/module_validation_and_errors.py +61 -0
  278. opentrons/protocol_api/protocol_context.py +1688 -0
  279. opentrons/protocol_api/robot_context.py +303 -0
  280. opentrons/protocol_api/validation.py +761 -0
  281. opentrons/protocol_engine/__init__.py +155 -0
  282. opentrons/protocol_engine/actions/__init__.py +65 -0
  283. opentrons/protocol_engine/actions/action_dispatcher.py +30 -0
  284. opentrons/protocol_engine/actions/action_handler.py +13 -0
  285. opentrons/protocol_engine/actions/actions.py +302 -0
  286. opentrons/protocol_engine/actions/get_state_update.py +38 -0
  287. opentrons/protocol_engine/clients/__init__.py +5 -0
  288. opentrons/protocol_engine/clients/sync_client.py +174 -0
  289. opentrons/protocol_engine/clients/transports.py +197 -0
  290. opentrons/protocol_engine/commands/__init__.py +757 -0
  291. opentrons/protocol_engine/commands/absorbance_reader/__init__.py +61 -0
  292. opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +154 -0
  293. opentrons/protocol_engine/commands/absorbance_reader/common.py +6 -0
  294. opentrons/protocol_engine/commands/absorbance_reader/initialize.py +151 -0
  295. opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +154 -0
  296. opentrons/protocol_engine/commands/absorbance_reader/read.py +226 -0
  297. opentrons/protocol_engine/commands/air_gap_in_place.py +162 -0
  298. opentrons/protocol_engine/commands/aspirate.py +244 -0
  299. opentrons/protocol_engine/commands/aspirate_in_place.py +184 -0
  300. opentrons/protocol_engine/commands/aspirate_while_tracking.py +211 -0
  301. opentrons/protocol_engine/commands/blow_out.py +146 -0
  302. opentrons/protocol_engine/commands/blow_out_in_place.py +119 -0
  303. opentrons/protocol_engine/commands/calibration/__init__.py +60 -0
  304. opentrons/protocol_engine/commands/calibration/calibrate_gripper.py +166 -0
  305. opentrons/protocol_engine/commands/calibration/calibrate_module.py +117 -0
  306. opentrons/protocol_engine/commands/calibration/calibrate_pipette.py +96 -0
  307. opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py +156 -0
  308. opentrons/protocol_engine/commands/command.py +308 -0
  309. opentrons/protocol_engine/commands/command_unions.py +974 -0
  310. opentrons/protocol_engine/commands/comment.py +57 -0
  311. opentrons/protocol_engine/commands/configure_for_volume.py +108 -0
  312. opentrons/protocol_engine/commands/configure_nozzle_layout.py +115 -0
  313. opentrons/protocol_engine/commands/custom.py +67 -0
  314. opentrons/protocol_engine/commands/dispense.py +194 -0
  315. opentrons/protocol_engine/commands/dispense_in_place.py +179 -0
  316. opentrons/protocol_engine/commands/dispense_while_tracking.py +204 -0
  317. opentrons/protocol_engine/commands/drop_tip.py +232 -0
  318. opentrons/protocol_engine/commands/drop_tip_in_place.py +205 -0
  319. opentrons/protocol_engine/commands/flex_stacker/__init__.py +64 -0
  320. opentrons/protocol_engine/commands/flex_stacker/common.py +900 -0
  321. opentrons/protocol_engine/commands/flex_stacker/empty.py +293 -0
  322. opentrons/protocol_engine/commands/flex_stacker/fill.py +281 -0
  323. opentrons/protocol_engine/commands/flex_stacker/retrieve.py +339 -0
  324. opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py +328 -0
  325. opentrons/protocol_engine/commands/flex_stacker/store.py +339 -0
  326. opentrons/protocol_engine/commands/generate_command_schema.py +61 -0
  327. opentrons/protocol_engine/commands/get_next_tip.py +134 -0
  328. opentrons/protocol_engine/commands/get_tip_presence.py +87 -0
  329. opentrons/protocol_engine/commands/hash_command_params.py +38 -0
  330. opentrons/protocol_engine/commands/heater_shaker/__init__.py +102 -0
  331. opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py +83 -0
  332. opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py +82 -0
  333. opentrons/protocol_engine/commands/heater_shaker/deactivate_shaker.py +84 -0
  334. opentrons/protocol_engine/commands/heater_shaker/open_labware_latch.py +110 -0
  335. opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py +125 -0
  336. opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +90 -0
  337. opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py +102 -0
  338. opentrons/protocol_engine/commands/home.py +100 -0
  339. opentrons/protocol_engine/commands/identify_module.py +86 -0
  340. opentrons/protocol_engine/commands/labware_handling_common.py +29 -0
  341. opentrons/protocol_engine/commands/liquid_probe.py +464 -0
  342. opentrons/protocol_engine/commands/load_labware.py +210 -0
  343. opentrons/protocol_engine/commands/load_lid.py +154 -0
  344. opentrons/protocol_engine/commands/load_lid_stack.py +272 -0
  345. opentrons/protocol_engine/commands/load_liquid.py +95 -0
  346. opentrons/protocol_engine/commands/load_liquid_class.py +144 -0
  347. opentrons/protocol_engine/commands/load_module.py +223 -0
  348. opentrons/protocol_engine/commands/load_pipette.py +167 -0
  349. opentrons/protocol_engine/commands/magnetic_module/__init__.py +32 -0
  350. opentrons/protocol_engine/commands/magnetic_module/disengage.py +97 -0
  351. opentrons/protocol_engine/commands/magnetic_module/engage.py +119 -0
  352. opentrons/protocol_engine/commands/move_labware.py +546 -0
  353. opentrons/protocol_engine/commands/move_relative.py +102 -0
  354. opentrons/protocol_engine/commands/move_to_addressable_area.py +176 -0
  355. opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py +198 -0
  356. opentrons/protocol_engine/commands/move_to_coordinates.py +107 -0
  357. opentrons/protocol_engine/commands/move_to_well.py +119 -0
  358. opentrons/protocol_engine/commands/movement_common.py +338 -0
  359. opentrons/protocol_engine/commands/pick_up_tip.py +241 -0
  360. opentrons/protocol_engine/commands/pipetting_common.py +443 -0
  361. opentrons/protocol_engine/commands/prepare_to_aspirate.py +121 -0
  362. opentrons/protocol_engine/commands/pressure_dispense.py +155 -0
  363. opentrons/protocol_engine/commands/reload_labware.py +90 -0
  364. opentrons/protocol_engine/commands/retract_axis.py +75 -0
  365. opentrons/protocol_engine/commands/robot/__init__.py +70 -0
  366. opentrons/protocol_engine/commands/robot/close_gripper_jaw.py +96 -0
  367. opentrons/protocol_engine/commands/robot/common.py +18 -0
  368. opentrons/protocol_engine/commands/robot/move_axes_relative.py +101 -0
  369. opentrons/protocol_engine/commands/robot/move_axes_to.py +100 -0
  370. opentrons/protocol_engine/commands/robot/move_to.py +94 -0
  371. opentrons/protocol_engine/commands/robot/open_gripper_jaw.py +86 -0
  372. opentrons/protocol_engine/commands/save_position.py +109 -0
  373. opentrons/protocol_engine/commands/seal_pipette_to_tip.py +353 -0
  374. opentrons/protocol_engine/commands/set_rail_lights.py +67 -0
  375. opentrons/protocol_engine/commands/set_status_bar.py +89 -0
  376. opentrons/protocol_engine/commands/temperature_module/__init__.py +46 -0
  377. opentrons/protocol_engine/commands/temperature_module/deactivate.py +86 -0
  378. opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py +97 -0
  379. opentrons/protocol_engine/commands/temperature_module/wait_for_temperature.py +104 -0
  380. opentrons/protocol_engine/commands/thermocycler/__init__.py +152 -0
  381. opentrons/protocol_engine/commands/thermocycler/close_lid.py +87 -0
  382. opentrons/protocol_engine/commands/thermocycler/deactivate_block.py +80 -0
  383. opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py +80 -0
  384. opentrons/protocol_engine/commands/thermocycler/open_lid.py +87 -0
  385. opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +171 -0
  386. opentrons/protocol_engine/commands/thermocycler/run_profile.py +124 -0
  387. opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +140 -0
  388. opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +100 -0
  389. opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py +93 -0
  390. opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py +89 -0
  391. opentrons/protocol_engine/commands/touch_tip.py +189 -0
  392. opentrons/protocol_engine/commands/unsafe/__init__.py +161 -0
  393. opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py +100 -0
  394. opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py +121 -0
  395. opentrons/protocol_engine/commands/unsafe/unsafe_engage_axes.py +82 -0
  396. opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +208 -0
  397. opentrons/protocol_engine/commands/unsafe/unsafe_stacker_close_latch.py +94 -0
  398. opentrons/protocol_engine/commands/unsafe/unsafe_stacker_manual_retrieve.py +295 -0
  399. opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py +91 -0
  400. opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py +136 -0
  401. opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py +77 -0
  402. opentrons/protocol_engine/commands/unsafe/update_position_estimators.py +90 -0
  403. opentrons/protocol_engine/commands/unseal_pipette_from_tip.py +153 -0
  404. opentrons/protocol_engine/commands/verify_tip_presence.py +100 -0
  405. opentrons/protocol_engine/commands/wait_for_duration.py +76 -0
  406. opentrons/protocol_engine/commands/wait_for_resume.py +75 -0
  407. opentrons/protocol_engine/create_protocol_engine.py +193 -0
  408. opentrons/protocol_engine/engine_support.py +28 -0
  409. opentrons/protocol_engine/error_recovery_policy.py +81 -0
  410. opentrons/protocol_engine/errors/__init__.py +191 -0
  411. opentrons/protocol_engine/errors/error_occurrence.py +182 -0
  412. opentrons/protocol_engine/errors/exceptions.py +1308 -0
  413. opentrons/protocol_engine/execution/__init__.py +50 -0
  414. opentrons/protocol_engine/execution/command_executor.py +216 -0
  415. opentrons/protocol_engine/execution/create_queue_worker.py +102 -0
  416. opentrons/protocol_engine/execution/door_watcher.py +119 -0
  417. opentrons/protocol_engine/execution/equipment.py +819 -0
  418. opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.py +101 -0
  419. opentrons/protocol_engine/execution/gantry_mover.py +686 -0
  420. opentrons/protocol_engine/execution/hardware_stopper.py +147 -0
  421. opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py +207 -0
  422. opentrons/protocol_engine/execution/labware_movement.py +297 -0
  423. opentrons/protocol_engine/execution/movement.py +350 -0
  424. opentrons/protocol_engine/execution/pipetting.py +607 -0
  425. opentrons/protocol_engine/execution/queue_worker.py +86 -0
  426. opentrons/protocol_engine/execution/rail_lights.py +25 -0
  427. opentrons/protocol_engine/execution/run_control.py +33 -0
  428. opentrons/protocol_engine/execution/status_bar.py +34 -0
  429. opentrons/protocol_engine/execution/thermocycler_movement_flagger.py +188 -0
  430. opentrons/protocol_engine/execution/thermocycler_plate_lifter.py +81 -0
  431. opentrons/protocol_engine/execution/tip_handler.py +550 -0
  432. opentrons/protocol_engine/labware_offset_standardization.py +194 -0
  433. opentrons/protocol_engine/notes/__init__.py +17 -0
  434. opentrons/protocol_engine/notes/notes.py +59 -0
  435. opentrons/protocol_engine/plugins.py +104 -0
  436. opentrons/protocol_engine/protocol_engine.py +683 -0
  437. opentrons/protocol_engine/resources/__init__.py +26 -0
  438. opentrons/protocol_engine/resources/deck_configuration_provider.py +232 -0
  439. opentrons/protocol_engine/resources/deck_data_provider.py +94 -0
  440. opentrons/protocol_engine/resources/file_provider.py +161 -0
  441. opentrons/protocol_engine/resources/fixture_validation.py +68 -0
  442. opentrons/protocol_engine/resources/labware_data_provider.py +106 -0
  443. opentrons/protocol_engine/resources/labware_validation.py +73 -0
  444. opentrons/protocol_engine/resources/model_utils.py +32 -0
  445. opentrons/protocol_engine/resources/module_data_provider.py +44 -0
  446. opentrons/protocol_engine/resources/ot3_validation.py +21 -0
  447. opentrons/protocol_engine/resources/pipette_data_provider.py +379 -0
  448. opentrons/protocol_engine/slot_standardization.py +128 -0
  449. opentrons/protocol_engine/state/__init__.py +1 -0
  450. opentrons/protocol_engine/state/_abstract_store.py +27 -0
  451. opentrons/protocol_engine/state/_axis_aligned_bounding_box.py +50 -0
  452. opentrons/protocol_engine/state/_labware_origin_math.py +636 -0
  453. opentrons/protocol_engine/state/_move_types.py +83 -0
  454. opentrons/protocol_engine/state/_well_math.py +193 -0
  455. opentrons/protocol_engine/state/addressable_areas.py +699 -0
  456. opentrons/protocol_engine/state/command_history.py +309 -0
  457. opentrons/protocol_engine/state/commands.py +1164 -0
  458. opentrons/protocol_engine/state/config.py +39 -0
  459. opentrons/protocol_engine/state/files.py +57 -0
  460. opentrons/protocol_engine/state/fluid_stack.py +138 -0
  461. opentrons/protocol_engine/state/geometry.py +2408 -0
  462. opentrons/protocol_engine/state/inner_well_math_utils.py +548 -0
  463. opentrons/protocol_engine/state/labware.py +1432 -0
  464. opentrons/protocol_engine/state/liquid_classes.py +82 -0
  465. opentrons/protocol_engine/state/liquids.py +73 -0
  466. opentrons/protocol_engine/state/module_substates/__init__.py +45 -0
  467. opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py +35 -0
  468. opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py +112 -0
  469. opentrons/protocol_engine/state/module_substates/heater_shaker_module_substate.py +115 -0
  470. opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py +17 -0
  471. opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py +65 -0
  472. opentrons/protocol_engine/state/module_substates/temperature_module_substate.py +67 -0
  473. opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +163 -0
  474. opentrons/protocol_engine/state/modules.py +1515 -0
  475. opentrons/protocol_engine/state/motion.py +373 -0
  476. opentrons/protocol_engine/state/pipettes.py +905 -0
  477. opentrons/protocol_engine/state/state.py +421 -0
  478. opentrons/protocol_engine/state/state_summary.py +36 -0
  479. opentrons/protocol_engine/state/tips.py +420 -0
  480. opentrons/protocol_engine/state/update_types.py +904 -0
  481. opentrons/protocol_engine/state/wells.py +290 -0
  482. opentrons/protocol_engine/types/__init__.py +310 -0
  483. opentrons/protocol_engine/types/automatic_tip_selection.py +39 -0
  484. opentrons/protocol_engine/types/command_annotations.py +53 -0
  485. opentrons/protocol_engine/types/deck_configuration.py +81 -0
  486. opentrons/protocol_engine/types/execution.py +96 -0
  487. opentrons/protocol_engine/types/hardware_passthrough.py +25 -0
  488. opentrons/protocol_engine/types/instrument.py +47 -0
  489. opentrons/protocol_engine/types/instrument_sensors.py +47 -0
  490. opentrons/protocol_engine/types/labware.py +131 -0
  491. opentrons/protocol_engine/types/labware_movement.py +22 -0
  492. opentrons/protocol_engine/types/labware_offset_location.py +111 -0
  493. opentrons/protocol_engine/types/labware_offset_vector.py +16 -0
  494. opentrons/protocol_engine/types/liquid.py +40 -0
  495. opentrons/protocol_engine/types/liquid_class.py +59 -0
  496. opentrons/protocol_engine/types/liquid_handling.py +13 -0
  497. opentrons/protocol_engine/types/liquid_level_detection.py +191 -0
  498. opentrons/protocol_engine/types/location.py +194 -0
  499. opentrons/protocol_engine/types/module.py +310 -0
  500. opentrons/protocol_engine/types/partial_tip_configuration.py +76 -0
  501. opentrons/protocol_engine/types/run_time_parameters.py +133 -0
  502. opentrons/protocol_engine/types/tip.py +18 -0
  503. opentrons/protocol_engine/types/util.py +21 -0
  504. opentrons/protocol_engine/types/well_position.py +124 -0
  505. opentrons/protocol_reader/__init__.py +37 -0
  506. opentrons/protocol_reader/extract_labware_definitions.py +66 -0
  507. opentrons/protocol_reader/file_format_validator.py +152 -0
  508. opentrons/protocol_reader/file_hasher.py +27 -0
  509. opentrons/protocol_reader/file_identifier.py +284 -0
  510. opentrons/protocol_reader/file_reader_writer.py +90 -0
  511. opentrons/protocol_reader/input_file.py +16 -0
  512. opentrons/protocol_reader/protocol_files_invalid_error.py +6 -0
  513. opentrons/protocol_reader/protocol_reader.py +188 -0
  514. opentrons/protocol_reader/protocol_source.py +124 -0
  515. opentrons/protocol_reader/role_analyzer.py +86 -0
  516. opentrons/protocol_runner/__init__.py +26 -0
  517. opentrons/protocol_runner/create_simulating_orchestrator.py +118 -0
  518. opentrons/protocol_runner/json_file_reader.py +55 -0
  519. opentrons/protocol_runner/json_translator.py +314 -0
  520. opentrons/protocol_runner/legacy_command_mapper.py +852 -0
  521. opentrons/protocol_runner/legacy_context_plugin.py +116 -0
  522. opentrons/protocol_runner/protocol_runner.py +530 -0
  523. opentrons/protocol_runner/python_protocol_wrappers.py +179 -0
  524. opentrons/protocol_runner/run_orchestrator.py +496 -0
  525. opentrons/protocol_runner/task_queue.py +95 -0
  526. opentrons/protocols/__init__.py +6 -0
  527. opentrons/protocols/advanced_control/__init__.py +0 -0
  528. opentrons/protocols/advanced_control/common.py +38 -0
  529. opentrons/protocols/advanced_control/mix.py +60 -0
  530. opentrons/protocols/advanced_control/transfers/__init__.py +0 -0
  531. opentrons/protocols/advanced_control/transfers/common.py +180 -0
  532. opentrons/protocols/advanced_control/transfers/transfer.py +972 -0
  533. opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +231 -0
  534. opentrons/protocols/api_support/__init__.py +0 -0
  535. opentrons/protocols/api_support/constants.py +8 -0
  536. opentrons/protocols/api_support/deck_type.py +110 -0
  537. opentrons/protocols/api_support/definitions.py +18 -0
  538. opentrons/protocols/api_support/instrument.py +151 -0
  539. opentrons/protocols/api_support/labware_like.py +233 -0
  540. opentrons/protocols/api_support/tip_tracker.py +175 -0
  541. opentrons/protocols/api_support/types.py +32 -0
  542. opentrons/protocols/api_support/util.py +403 -0
  543. opentrons/protocols/bundle.py +89 -0
  544. opentrons/protocols/duration/__init__.py +4 -0
  545. opentrons/protocols/duration/errors.py +5 -0
  546. opentrons/protocols/duration/estimator.py +628 -0
  547. opentrons/protocols/execution/__init__.py +0 -0
  548. opentrons/protocols/execution/dev_types.py +181 -0
  549. opentrons/protocols/execution/errors.py +40 -0
  550. opentrons/protocols/execution/execute.py +84 -0
  551. opentrons/protocols/execution/execute_json_v3.py +275 -0
  552. opentrons/protocols/execution/execute_json_v4.py +359 -0
  553. opentrons/protocols/execution/execute_json_v5.py +28 -0
  554. opentrons/protocols/execution/execute_python.py +169 -0
  555. opentrons/protocols/execution/json_dispatchers.py +87 -0
  556. opentrons/protocols/execution/types.py +7 -0
  557. opentrons/protocols/geometry/__init__.py +0 -0
  558. opentrons/protocols/geometry/planning.py +297 -0
  559. opentrons/protocols/labware.py +312 -0
  560. opentrons/protocols/models/__init__.py +0 -0
  561. opentrons/protocols/models/json_protocol.py +679 -0
  562. opentrons/protocols/parameters/__init__.py +0 -0
  563. opentrons/protocols/parameters/csv_parameter_definition.py +77 -0
  564. opentrons/protocols/parameters/csv_parameter_interface.py +96 -0
  565. opentrons/protocols/parameters/exceptions.py +34 -0
  566. opentrons/protocols/parameters/parameter_definition.py +272 -0
  567. opentrons/protocols/parameters/types.py +17 -0
  568. opentrons/protocols/parameters/validation.py +267 -0
  569. opentrons/protocols/parse.py +671 -0
  570. opentrons/protocols/types.py +159 -0
  571. opentrons/py.typed +0 -0
  572. opentrons/resources/scripts/lpc21isp +0 -0
  573. opentrons/resources/smoothie-edge-8414642.hex +23010 -0
  574. opentrons/simulate.py +1065 -0
  575. opentrons/system/__init__.py +6 -0
  576. opentrons/system/camera.py +51 -0
  577. opentrons/system/log_control.py +59 -0
  578. opentrons/system/nmcli.py +856 -0
  579. opentrons/system/resin.py +24 -0
  580. opentrons/system/smoothie_update.py +15 -0
  581. opentrons/system/wifi.py +204 -0
  582. opentrons/tools/__init__.py +0 -0
  583. opentrons/tools/args_handler.py +22 -0
  584. opentrons/tools/write_pipette_memory.py +157 -0
  585. opentrons/types.py +618 -0
  586. opentrons/util/__init__.py +1 -0
  587. opentrons/util/async_helpers.py +166 -0
  588. opentrons/util/broker.py +84 -0
  589. opentrons/util/change_notifier.py +47 -0
  590. opentrons/util/entrypoint_util.py +278 -0
  591. opentrons/util/get_union_elements.py +26 -0
  592. opentrons/util/helpers.py +6 -0
  593. opentrons/util/linal.py +178 -0
  594. opentrons/util/logging_config.py +265 -0
  595. opentrons/util/logging_queue_handler.py +61 -0
  596. opentrons/util/performance_helpers.py +157 -0
  597. opentrons-8.6.0.dist-info/METADATA +37 -0
  598. opentrons-8.6.0.dist-info/RECORD +601 -0
  599. opentrons-8.6.0.dist-info/WHEEL +4 -0
  600. opentrons-8.6.0.dist-info/entry_points.txt +3 -0
  601. opentrons-8.6.0.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,1186 @@
1
+ from __future__ import annotations
2
+
3
+ from typing_extensions import Literal, Final, TypedDict
4
+ from typing import Optional, List, Sequence, TYPE_CHECKING, Union
5
+ from opentrons.hardware_control.modules import ThermocyclerStep
6
+
7
+ if TYPE_CHECKING:
8
+ from opentrons.protocol_api import InstrumentContext
9
+ from opentrons.protocol_api.labware import Well
10
+ from opentrons.protocol_api.disposal_locations import TrashBin, WasteChute
11
+ from opentrons.protocol_api._liquid import LiquidClass
12
+ from opentrons.protocol_api._nozzle_layout import NozzleLayout
13
+
14
+ from opentrons.types import Location, Mount, AxisMapType
15
+
16
+
17
+ # type for subscriptions
18
+ COMMAND: Final = "command"
19
+
20
+ # Robot #
21
+
22
+ DELAY: Final = "command.DELAY"
23
+ HOME: Final = "command.HOME"
24
+ PAUSE: Final = "command.PAUSE"
25
+ RESUME: Final = "command.RESUME"
26
+ COMMENT: Final = "command.COMMENT"
27
+ MOVE_LABWARE: Final = "command.MOVE_LABWARE"
28
+
29
+ # Pipette #
30
+
31
+ ASPIRATE: Final = "command.ASPIRATE"
32
+ DISPENSE: Final = "command.DISPENSE"
33
+ DISPENSE_IN_DISPOSAL_LOCATION: Final = "command.DISPENSE_IN_DISPOSAL_LOCATION"
34
+ MIX: Final = "command.MIX"
35
+ CONSOLIDATE: Final = "command.CONSOLIDATE"
36
+ DISTRIBUTE: Final = "command.DISTRIBUTE"
37
+ TRANSFER: Final = "command.TRANSFER"
38
+ PICK_UP_TIP: Final = "command.PICK_UP_TIP"
39
+ DROP_TIP: Final = "command.DROP_TIP"
40
+ DROP_TIP_IN_DISPOSAL_LOCATION: Final = "command.DROP_TIP_IN_DISPOSAL_LOCATION"
41
+ BLOW_OUT: Final = "command.BLOW_OUT"
42
+ BLOW_OUT_IN_DISPOSAL_LOCATION: Final = "command.BLOW_OUT_IN_DISPOSAL_LOCATION"
43
+ AIR_GAP: Final = "command.AIR_GAP"
44
+ TOUCH_TIP: Final = "command.TOUCH_TIP"
45
+ RETURN_TIP: Final = "command.RETURN_TIP"
46
+ MOVE_TO: Final = "command.MOVE_TO"
47
+ MOVE_TO_DISPOSAL_LOCATION: Final = "command.MOVE_TO_DISPOSAL_LOCATION"
48
+ TRANSFER_WITH_LIQUID_CLASS: Final = "command.TRANSFER_WITH_LIQUID_CLASS"
49
+ DISTRIBUTE_WITH_LIQUID_CLASS: Final = "command.DISTRIBUTE_WITH_LIQUID_CLASS"
50
+ CONSOLIDATE_WITH_LIQUID_CLASS: Final = "command.CONSOLIDATE_WITH_LIQUID_CLASS"
51
+ SEAL: Final = "command.SEAL"
52
+ UNSEAL: Final = "command.UNSEAL"
53
+ PRESSURIZE: Final = "command.PRESSURIZE"
54
+ CONFIGURE_FOR_VOLUME: Final = "command.CONFIGURE_FOR_VOLUME"
55
+ CONFIGURE_NOZZLE_LAYOUT: Final = "command.CONFIGURE_NOZZLE_LAYOUT"
56
+
57
+
58
+ # Modules #
59
+
60
+ HEATER_SHAKER_SET_TARGET_TEMPERATURE: Final = (
61
+ "command.HEATER_SHAKER_SET_TARGET_TEMPERATURE"
62
+ )
63
+ HEATER_SHAKER_WAIT_FOR_TEMPERATURE: Final = "command.HEATER_SHAKER_WAIT_FOR_TEMPERATURE"
64
+ HEATER_SHAKER_SET_AND_WAIT_FOR_SHAKE_SPEED: Final = (
65
+ "command.HEATER_SHAKER_SET_AND_WAIT_FOR_SHAKE_SPEED"
66
+ )
67
+ HEATER_SHAKER_OPEN_LABWARE_LATCH: Final = "command.HEATER_SHAKER_OPEN_LABWARE_LATCH"
68
+ HEATER_SHAKER_CLOSE_LABWARE_LATCH: Final = "command.HEATER_SHAKER_CLOSE_LABWARE_LATCH"
69
+ HEATER_SHAKER_DEACTIVATE_SHAKER: Final = "command.HEATER_SHAKER_DEACTIVATE_SHAKER"
70
+ HEATER_SHAKER_DEACTIVATE_HEATER: Final = "command.HEATER_SHAKER_DEACTIVATE_HEATER"
71
+
72
+ MAGDECK_CALIBRATE: Final = "command.MAGDECK_CALIBRATE"
73
+ MAGDECK_DISENGAGE: Final = "command.MAGDECK_DISENGAGE"
74
+ MAGDECK_ENGAGE: Final = "command.MAGDECK_ENGAGE"
75
+
76
+ TEMPDECK_DEACTIVATE: Final = "command.TEMPDECK_DEACTIVATE"
77
+ TEMPDECK_SET_TEMP: Final = "command.TEMPDECK_SET_TEMP"
78
+ TEMPDECK_AWAIT_TEMP: Final = "command.TEMPDECK_AWAIT_TEMP"
79
+
80
+ THERMOCYCLER_OPEN: Final = "command.THERMOCYCLER_OPEN"
81
+ THERMOCYCLER_CLOSE: Final = "command.THERMOCYCLER_CLOSE"
82
+ THERMOCYCLER_SET_BLOCK_TEMP: Final = "command.THERMOCYCLER_SET_BLOCK_TEMP"
83
+ THERMOCYCLER_EXECUTE_PROFILE: Final = "command.THERMOCYCLER_EXECUTE_PROFILE"
84
+ THERMOCYCLER_DEACTIVATE: Final = "command.THERMOCYCLER_DEACTIVATE"
85
+ THERMOCYCLER_WAIT_FOR_HOLD: Final = "command.THERMOCYCLER_WAIT_FOR_HOLD"
86
+ THERMOCYCLER_WAIT_FOR_TEMP: Final = "command.THERMOCYCLER_WAIT_FOR_TEMP"
87
+ THERMOCYCLER_WAIT_FOR_LID_TEMP: Final = "command.THERMOCYCLER_WAIT_FOR_LID_TEMP"
88
+ THERMOCYCLER_SET_LID_TEMP: Final = "command.THERMOCYCLER_SET_LID_TEMP"
89
+ THERMOCYCLER_DEACTIVATE_LID: Final = "command.THERMOCYCLER_DEACTIVATE_LID"
90
+ THERMOCYCLER_DEACTIVATE_BLOCK: Final = "command.THERMOCYCLER_DEACTIVATE_BLOCK"
91
+
92
+ FLEX_STACKER_SET_STORED_LABWARE: Final = "command.FLEX_STACKER_SET_STORED_LABWARE"
93
+ FLEX_STACKER_RETRIEVE: Final = "command.FLEX_STACKER_RETRIEVE"
94
+ FLEX_STACKER_STORE: Final = "command.FLEX_STACKER_STORE"
95
+ FLEX_STACKER_EMPTY: Final = "command.FLEX_STACKER_EMPTY"
96
+ FLEX_STACKER_FILL: Final = "command.FLEX_STACKER_FILL"
97
+
98
+ # Robot #
99
+ ROBOT_MOVE_TO: Final = "command.ROBOT_MOVE_TO"
100
+ ROBOT_MOVE_AXES_TO: Final = "command.ROBOT_MOVE_AXES_TO"
101
+ ROBOT_MOVE_RELATIVE_TO: Final = "command.ROBOT_MOVE_RELATIVE_TO"
102
+ ROBOT_OPEN_GRIPPER_JAW: Final = "command.ROBOT_OPEN_GRIPPER_JAW"
103
+ ROBOT_CLOSE_GRIPPER_JAW: Final = "command.ROBOT_CLOSE_GRIPPER_JAW"
104
+
105
+
106
+ class TextOnlyPayload(TypedDict):
107
+ text: str
108
+
109
+
110
+ class MultiLocationPayload(TypedDict):
111
+ locations: Sequence[Union[Location, Well]]
112
+
113
+
114
+ class OptionalMultiLocationPayload(TypedDict):
115
+ locations: Optional[Sequence[Union[Location, Well]]]
116
+
117
+
118
+ class SingleInstrumentPayload(TypedDict):
119
+ instrument: InstrumentContext
120
+
121
+
122
+ class MultiInstrumentPayload(TypedDict):
123
+ instruments: Sequence[InstrumentContext]
124
+
125
+
126
+ class CommentCommandPayload(TextOnlyPayload):
127
+ pass
128
+
129
+
130
+ class CommentCommand(TypedDict):
131
+ name: Literal["command.COMMENT"]
132
+ payload: CommentCommandPayload
133
+
134
+
135
+ class DelayCommandPayload(TextOnlyPayload):
136
+ minutes: float
137
+ seconds: float
138
+
139
+
140
+ class DelayCommand(TypedDict):
141
+ name: Literal["command.DELAY"]
142
+ payload: DelayCommandPayload
143
+
144
+
145
+ class PauseCommandPayload(TextOnlyPayload):
146
+ userMessage: Optional[str]
147
+
148
+
149
+ class PauseCommand(TypedDict):
150
+ name: Literal["command.PAUSE"]
151
+ payload: PauseCommandPayload
152
+
153
+
154
+ class ResumeCommandPayload(TextOnlyPayload):
155
+ pass
156
+
157
+
158
+ class ResumeCommand(TypedDict):
159
+ name: Literal["command.RESUME"]
160
+ payload: ResumeCommandPayload
161
+
162
+
163
+ # Module commands
164
+
165
+
166
+ class HeaterShakerSetTargetTemperaturePayload(TextOnlyPayload):
167
+ pass
168
+
169
+
170
+ class HeaterShakerSetTargetTemperatureCommand(TypedDict):
171
+ name: Literal["command.HEATER_SHAKER_SET_TARGET_TEMPERATURE"]
172
+ payload: HeaterShakerSetTargetTemperaturePayload
173
+
174
+
175
+ class HeaterShakerWaitForTemperaturePayload(TextOnlyPayload):
176
+ pass
177
+
178
+
179
+ class HeaterShakerWaitForTemperatureCommand(TypedDict):
180
+ name: Literal["command.HEATER_SHAKER_WAIT_FOR_TEMPERATURE"]
181
+ payload: HeaterShakerWaitForTemperaturePayload
182
+
183
+
184
+ class HeaterShakerSetAndWaitForShakeSpeedPayload(TextOnlyPayload):
185
+ pass
186
+
187
+
188
+ class HeaterShakerSetAndWaitForShakeSpeedCommand(TypedDict):
189
+ name: Literal["command.HEATER_SHAKER_SET_AND_WAIT_FOR_SHAKE_SPEED"]
190
+ payload: HeaterShakerSetAndWaitForShakeSpeedPayload
191
+
192
+
193
+ class HeaterShakerOpenLabwareLatchPayload(TextOnlyPayload):
194
+ pass
195
+
196
+
197
+ class HeaterShakerOpenLabwareLatchCommand(TypedDict):
198
+ name: Literal["command.HEATER_SHAKER_OPEN_LABWARE_LATCH"]
199
+ payload: HeaterShakerOpenLabwareLatchPayload
200
+
201
+
202
+ class HeaterShakerCloseLabwareLatchPayload(TextOnlyPayload):
203
+ pass
204
+
205
+
206
+ class HeaterShakerCloseLabwareLatchCommand(TypedDict):
207
+ name: Literal["command.HEATER_SHAKER_CLOSE_LABWARE_LATCH"]
208
+ payload: HeaterShakerCloseLabwareLatchPayload
209
+
210
+
211
+ class HeaterShakerDeactivateShakerPayload(TextOnlyPayload):
212
+ pass
213
+
214
+
215
+ class HeaterShakerDeactivateShakerCommand(TypedDict):
216
+ name: Literal["command.HEATER_SHAKER_DEACTIVATE_SHAKER"]
217
+ payload: HeaterShakerDeactivateShakerPayload
218
+
219
+
220
+ class HeaterShakerDeactivateHeaterPayload(TextOnlyPayload):
221
+ pass
222
+
223
+
224
+ class HeaterShakerDeactivateHeaterCommand(TypedDict):
225
+ name: Literal["command.HEATER_SHAKER_DEACTIVATE_HEATER"]
226
+ payload: HeaterShakerDeactivateHeaterPayload
227
+
228
+
229
+ class MagdeckEngageCommandPayload(TextOnlyPayload):
230
+ pass
231
+
232
+
233
+ class MagdeckEngageCommand(TypedDict):
234
+ name: Literal["command.MAGDECK_ENGAGE"]
235
+ payload: MagdeckEngageCommandPayload
236
+
237
+
238
+ class MagdeckDisengageCommandPayload(TextOnlyPayload):
239
+ pass
240
+
241
+
242
+ class MagdeckDisengageCommand(TypedDict):
243
+ name: Literal["command.MAGDECK_DISENGAGE"]
244
+ payload: MagdeckDisengageCommandPayload
245
+
246
+
247
+ class MagdeckCalibrateCommandPayload(TextOnlyPayload):
248
+ pass
249
+
250
+
251
+ class MagdeckCalibrateCommand(TypedDict):
252
+ name: Literal["command.MAGDECK_CALIBRATE"]
253
+ payload: MagdeckCalibrateCommandPayload
254
+
255
+
256
+ class TempdeckSetTempCommandPayload(TextOnlyPayload):
257
+ celsius: float
258
+
259
+
260
+ class TempdeckSetTempCommand(TypedDict):
261
+ name: Literal["command.TEMPDECK_SET_TEMP"]
262
+ payload: TempdeckSetTempCommandPayload
263
+
264
+
265
+ class TempdeckAwaitTempCommandPayload(TextOnlyPayload):
266
+ celsius: float
267
+
268
+
269
+ class TempdeckAwaitTempCommand(TypedDict):
270
+ name: Literal["command.TEMPDECK_AWAIT_TEMP"]
271
+ payload: TempdeckAwaitTempCommandPayload
272
+
273
+
274
+ class TempdeckDeactivateCommandPayload(TextOnlyPayload):
275
+ pass
276
+
277
+
278
+ class TempdeckDeactivateCommand(TypedDict):
279
+ name: Literal["command.TEMPDECK_DEACTIVATE"]
280
+ payload: TempdeckDeactivateCommandPayload
281
+
282
+
283
+ class ThermocyclerOpenCommandPayload(TextOnlyPayload):
284
+ pass
285
+
286
+
287
+ class ThermocyclerOpenCommand(TypedDict):
288
+ name: Literal["command.THERMOCYCLER_OPEN"]
289
+ payload: ThermocyclerOpenCommandPayload
290
+
291
+
292
+ class ThermocyclerSetBlockTempCommandPayload(TextOnlyPayload):
293
+ temperature: float
294
+ hold_time: Optional[float]
295
+
296
+
297
+ class ThermocyclerSetBlockTempCommand(TypedDict):
298
+ name: Literal["command.THERMOCYCLER_SET_BLOCK_TEMP"]
299
+ payload: ThermocyclerSetBlockTempCommandPayload
300
+
301
+
302
+ class ThermocyclerExecuteProfileCommandPayload(TextOnlyPayload):
303
+ steps: List[ThermocyclerStep]
304
+
305
+
306
+ class ThermocyclerExecuteProfileCommand(TypedDict):
307
+ name: Literal["command.THERMOCYCLER_EXECUTE_PROFILE"]
308
+ payload: ThermocyclerExecuteProfileCommandPayload
309
+
310
+
311
+ class ThermocyclerWaitForHoldCommandPayload(TextOnlyPayload):
312
+ pass
313
+
314
+
315
+ class ThermocyclerWaitForHoldCommand(TypedDict):
316
+ name: Literal["command.THERMOCYCLER_WAIT_FOR_HOLD"]
317
+ payload: ThermocyclerWaitForHoldCommandPayload
318
+
319
+
320
+ class ThermocyclerWaitForTempCommandPayload(TextOnlyPayload):
321
+ pass
322
+
323
+
324
+ class ThermocyclerWaitForTempCommand(TypedDict):
325
+ name: Literal["command.THERMOCYCLER_WAIT_FOR_TEMP"]
326
+ payload: ThermocyclerWaitForTempCommandPayload
327
+
328
+
329
+ class ThermocyclerSetLidTempCommandPayload(TextOnlyPayload):
330
+ pass
331
+
332
+
333
+ class ThermocyclerSetLidTempCommand(TypedDict):
334
+ name: Literal["command.THERMOCYCLER_SET_LID_TEMP"]
335
+ payload: ThermocyclerSetLidTempCommandPayload
336
+
337
+
338
+ class ThermocyclerDeactivateLidCommandPayload(TextOnlyPayload):
339
+ pass
340
+
341
+
342
+ class ThermocyclerDeactivateLidCommand(TypedDict):
343
+ name: Literal["command.THERMOCYCLER_DEACTIVATE_LID"]
344
+ payload: ThermocyclerDeactivateLidCommandPayload
345
+
346
+
347
+ class ThermocyclerDeactivateBlockCommandPayload(TextOnlyPayload):
348
+ pass
349
+
350
+
351
+ class ThermocyclerDeactivateBlockCommand(TypedDict):
352
+ name: Literal["command.THERMOCYCLER_DEACTIVATE_BLOCK"]
353
+ payload: ThermocyclerDeactivateBlockCommandPayload
354
+
355
+
356
+ class ThermocyclerDeactivateCommandPayload(TextOnlyPayload):
357
+ pass
358
+
359
+
360
+ class ThermocyclerDeactivateCommand(TypedDict):
361
+ name: Literal["command.THERMOCYCLER_DEACTIVATE"]
362
+ payload: ThermocyclerDeactivateCommandPayload
363
+
364
+
365
+ class ThermocyclerWaitForLidTempCommandPayload(TextOnlyPayload):
366
+ pass
367
+
368
+
369
+ class ThermocyclerWaitForLidTempCommand(TypedDict):
370
+ name: Literal["command.THERMOCYCLER_WAIT_FOR_LID_TEMP"]
371
+ payload: ThermocyclerWaitForLidTempCommandPayload
372
+
373
+
374
+ class ThermocyclerCloseCommandPayload(TextOnlyPayload):
375
+ pass
376
+
377
+
378
+ class ThermocyclerCloseCommand(TypedDict):
379
+ name: Literal["command.THERMOCYCLER_CLOSE"]
380
+ payload: ThermocyclerCloseCommandPayload
381
+
382
+
383
+ class FlexStackerSetStoredLabwareCommand(TypedDict):
384
+ name: Literal["command.FLEX_STACKER_SET_STORED_LABWARE"]
385
+ payload: TextOnlyPayload
386
+
387
+
388
+ class FlexStackerRetrieveCommand(TypedDict):
389
+ name: Literal["command.FLEX_STACKER_RETRIEVE"]
390
+ payload: TextOnlyPayload
391
+
392
+
393
+ class FlexStackerStoreCommand(TypedDict):
394
+ name: Literal["command.FLEX_STACKER_STORE"]
395
+ payload: TextOnlyPayload
396
+
397
+
398
+ class FlexStackerEmptyCommand(TypedDict):
399
+ name: Literal["command.FLEX_STACKER_EMPTY"]
400
+ payload: TextOnlyPayload
401
+
402
+
403
+ class FlexStackerFillCommand(TypedDict):
404
+ name: Literal["command.FLEX_STACKER_FILL"]
405
+ payload: TextOnlyPayload
406
+
407
+
408
+ # Module command end
409
+
410
+
411
+ class HomeCommandPayload(TextOnlyPayload):
412
+ axis: str
413
+
414
+
415
+ class HomeCommand(TypedDict):
416
+ name: Literal["command.HOME"]
417
+ payload: HomeCommandPayload
418
+
419
+
420
+ class AspirateDispenseCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
421
+ location: Location
422
+ volume: float
423
+ rate: float
424
+
425
+
426
+ class AspirateCommand(TypedDict):
427
+ name: Literal["command.ASPIRATE"]
428
+ payload: AspirateDispenseCommandPayload
429
+
430
+
431
+ class DispenseCommand(TypedDict):
432
+ name: Literal["command.DISPENSE"]
433
+ payload: AspirateDispenseCommandPayload
434
+
435
+
436
+ class DispenseInDisposalLocationCommandPayload(
437
+ TextOnlyPayload, SingleInstrumentPayload
438
+ ):
439
+ location: Union[TrashBin, WasteChute]
440
+ volume: float
441
+ rate: float
442
+
443
+
444
+ class DispenseInDisposalLocationCommand(TypedDict):
445
+ name: Literal["command.DISPENSE_IN_DISPOSAL_LOCATION"]
446
+ payload: DispenseInDisposalLocationCommandPayload
447
+
448
+
449
+ class ConsolidateCommandPayload(
450
+ TextOnlyPayload, MultiLocationPayload, SingleInstrumentPayload
451
+ ):
452
+ volume: Union[float, List[float]]
453
+ source: List[Union[Location, Well]]
454
+ dest: Union[Location, Well]
455
+
456
+
457
+ class ConsolidateCommand(TypedDict):
458
+ name: Literal["command.CONSOLIDATE"]
459
+ payload: ConsolidateCommandPayload
460
+
461
+
462
+ class DistributeCommandPayload(
463
+ TextOnlyPayload, MultiLocationPayload, SingleInstrumentPayload
464
+ ):
465
+ volume: Union[float, List[float]]
466
+ source: Union[Location, Well]
467
+ dest: List[Union[Location, Well]]
468
+
469
+
470
+ class DistributeCommand(TypedDict):
471
+ name: Literal["command.DISTRIBUTE"]
472
+ payload: DistributeCommandPayload
473
+
474
+
475
+ class TransferCommandPayload(
476
+ TextOnlyPayload, MultiLocationPayload, SingleInstrumentPayload
477
+ ):
478
+ volume: Union[float, List[float]]
479
+ source: List[Union[Location, Well]]
480
+ dest: List[Union[Location, Well]]
481
+
482
+
483
+ class TransferCommand(TypedDict):
484
+ name: Literal["command.TRANSFER"]
485
+ payload: TransferCommandPayload
486
+
487
+
488
+ class MixCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
489
+ location: Union[None, Location, Well]
490
+ volume: float
491
+ repetitions: int
492
+
493
+
494
+ class MixCommand(TypedDict):
495
+ name: Literal["command.MIX"]
496
+ payload: MixCommandPayload
497
+
498
+
499
+ class BlowOutCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
500
+ location: Optional[Location]
501
+
502
+
503
+ class BlowOutCommand(TypedDict):
504
+ name: Literal["command.BLOW_OUT"]
505
+ payload: BlowOutCommandPayload
506
+
507
+
508
+ class BlowOutInDisposalLocationCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
509
+ location: Union[TrashBin, WasteChute]
510
+
511
+
512
+ class BlowOutInDisposalLocationCommand(TypedDict):
513
+ name: Literal["command.BLOW_OUT_IN_DISPOSAL_LOCATION"]
514
+ payload: BlowOutInDisposalLocationCommandPayload
515
+
516
+
517
+ class TouchTipCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
518
+ pass
519
+
520
+
521
+ class TouchTipCommand(TypedDict):
522
+ name: Literal["command.TOUCH_TIP"]
523
+ payload: TouchTipCommandPayload
524
+
525
+
526
+ class AirGapCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
527
+ volume: Union[float, None]
528
+ height: Union[float, None]
529
+
530
+
531
+ class AirGapCommand(TypedDict):
532
+ name: Literal["command.AIR_GAP"]
533
+ payload: AirGapCommandPayload
534
+
535
+
536
+ class ReturnTipCommandPayload(TextOnlyPayload):
537
+ pass
538
+
539
+
540
+ class ReturnTipCommand(TypedDict):
541
+ name: Literal["command.RETURN_TIP"]
542
+ payload: ReturnTipCommandPayload
543
+
544
+
545
+ class PickUpTipCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
546
+ location: Well
547
+
548
+
549
+ class PickUpTipCommand(TypedDict):
550
+ name: Literal["command.PICK_UP_TIP"]
551
+ payload: PickUpTipCommandPayload
552
+
553
+
554
+ class DropTipCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
555
+ location: Well
556
+
557
+
558
+ class DropTipCommand(TypedDict):
559
+ name: Literal["command.DROP_TIP"]
560
+ payload: DropTipCommandPayload
561
+
562
+
563
+ class DropTipInDisposalLocationCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
564
+ location: Union[TrashBin, WasteChute]
565
+
566
+
567
+ class DropTipInDisposalLocationCommand(TypedDict):
568
+ name: Literal["command.DROP_TIP_IN_DISPOSAL_LOCATION"]
569
+ payload: DropTipInDisposalLocationCommandPayload
570
+
571
+
572
+ class MoveToCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
573
+ location: Location
574
+
575
+
576
+ class MoveToCommand(TypedDict):
577
+ name: Literal["command.MOVE_TO"]
578
+ payload: MoveToCommandPayload
579
+
580
+
581
+ class MoveToDisposalLocationCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
582
+ location: Union[TrashBin, WasteChute]
583
+
584
+
585
+ class MoveToDisposalLocationCommand(TypedDict):
586
+ name: Literal["command.MOVE_TO_DISPOSAL_LOCATION"]
587
+ payload: MoveToDisposalLocationCommandPayload
588
+
589
+
590
+ class MoveLabwareCommandPayload(TextOnlyPayload):
591
+ pass
592
+
593
+
594
+ class LiquidClassCommandPayload(TextOnlyPayload, SingleInstrumentPayload):
595
+ liquid_class: LiquidClass
596
+ volume: float
597
+ source: Union[Well, Sequence[Well], Sequence[Sequence[Well]]]
598
+ destination: Union[
599
+ Well, Sequence[Well], Sequence[Sequence[Well]], TrashBin, WasteChute
600
+ ]
601
+
602
+
603
+ class TransferWithLiquidClassCommand(TypedDict):
604
+ name: Literal["command.TRANSFER_WITH_LIQUID_CLASS"]
605
+ payload: LiquidClassCommandPayload
606
+
607
+
608
+ class DistributeWithLiquidClassCommand(TypedDict):
609
+ name: Literal["command.DISTRIBUTE_WITH_LIQUID_CLASS"]
610
+ payload: LiquidClassCommandPayload
611
+
612
+
613
+ class ConsolidateWithLiquidClassCommand(TypedDict):
614
+ name: Literal["command.CONSOLIDATE_WITH_LIQUID_CLASS"]
615
+ payload: LiquidClassCommandPayload
616
+
617
+
618
+ class SealCommandPayload(TextOnlyPayload):
619
+ instrument: InstrumentContext
620
+ location: Union[None, Location, Well]
621
+
622
+
623
+ class UnsealCommandPayload(TextOnlyPayload):
624
+ instrument: InstrumentContext
625
+ location: Union[None, Location, Well]
626
+
627
+
628
+ class PressurizeCommandPayload(TextOnlyPayload):
629
+ instrument: InstrumentContext
630
+
631
+
632
+ class ConfigureForVolumePayload(TypedDict, TextOnlyPayload):
633
+ instrument: InstrumentContext
634
+ volume: float
635
+
636
+
637
+ class ConfigureNozzleLayoutPayload(TypedDict, TextOnlyPayload):
638
+ instrument: InstrumentContext
639
+ style: NozzleLayout
640
+ start: Union[str, None]
641
+ end: Union[str, None]
642
+
643
+
644
+ class MoveLabwareCommand(TypedDict):
645
+ name: Literal["command.MOVE_LABWARE"]
646
+ payload: MoveLabwareCommandPayload
647
+
648
+
649
+ class SealCommand(TypedDict):
650
+ name: Literal["command.SEAL"]
651
+ payload: SealCommandPayload
652
+
653
+
654
+ class UnsealCommand(TypedDict):
655
+ name: Literal["command.UNSEAL"]
656
+ payload: UnsealCommandPayload
657
+
658
+
659
+ class PressurizeCommand(TypedDict):
660
+ name: Literal["command.PRESSURIZE"]
661
+ payload: PressurizeCommandPayload
662
+
663
+
664
+ class ConfigureForVolumeCommand(TypedDict):
665
+ name: Literal["command.CONFIGURE_FOR_VOLUME"]
666
+ payload: ConfigureForVolumePayload
667
+
668
+
669
+ class ConfigureNozzleLayoutCommand(TypedDict):
670
+ name: Literal["command.CONFIGURE_NOZZLE_LAYOUT"]
671
+ payload: ConfigureNozzleLayoutPayload
672
+
673
+
674
+ # Robot Commands and Payloads
675
+ class GripperCommandPayload(TextOnlyPayload):
676
+ pass
677
+
678
+
679
+ class RobotMoveToCommandPayload(TextOnlyPayload):
680
+ location: Location
681
+ mount: Mount
682
+
683
+
684
+ class RobotMoveAxisToCommandPayload(TextOnlyPayload):
685
+ absolute_axes: AxisMapType
686
+
687
+
688
+ class RobotMoveAxisRelativeCommandPayload(TextOnlyPayload):
689
+ relative_axes: AxisMapType
690
+
691
+
692
+ class RobotMoveToCommand(TypedDict):
693
+ name: Literal["command.ROBOT_MOVE_TO"]
694
+ payload: RobotMoveToCommandPayload
695
+
696
+
697
+ class RobotMoveAxisToCommand(TypedDict):
698
+ name: Literal["command.ROBOT_MOVE_AXES_TO"]
699
+ payload: RobotMoveAxisToCommandPayload
700
+
701
+
702
+ class RobotMoveAxisRelativeCommand(TypedDict):
703
+ name: Literal["command.ROBOT_MOVE_RELATIVE_TO"]
704
+ payload: RobotMoveAxisRelativeCommandPayload
705
+
706
+
707
+ class RobotOpenGripperJawCommand(TypedDict):
708
+ name: Literal["command.ROBOT_OPEN_GRIPPER_JAW"]
709
+ payload: GripperCommandPayload
710
+
711
+
712
+ class RobotCloseGripperJawCommand(TypedDict):
713
+ name: Literal["command.ROBOT_CLOSE_GRIPPER_JAW"]
714
+ payload: GripperCommandPayload
715
+
716
+
717
+ Command = Union[
718
+ DropTipCommand,
719
+ DropTipInDisposalLocationCommand,
720
+ PickUpTipCommand,
721
+ ReturnTipCommand,
722
+ AirGapCommand,
723
+ TouchTipCommand,
724
+ BlowOutCommand,
725
+ BlowOutInDisposalLocationCommand,
726
+ MixCommand,
727
+ TransferCommand,
728
+ DistributeCommand,
729
+ ConsolidateCommand,
730
+ DispenseCommand,
731
+ DispenseInDisposalLocationCommand,
732
+ AspirateCommand,
733
+ HomeCommand,
734
+ HeaterShakerSetTargetTemperatureCommand,
735
+ HeaterShakerWaitForTemperatureCommand,
736
+ HeaterShakerSetAndWaitForShakeSpeedCommand,
737
+ HeaterShakerOpenLabwareLatchCommand,
738
+ HeaterShakerCloseLabwareLatchCommand,
739
+ HeaterShakerDeactivateShakerCommand,
740
+ HeaterShakerDeactivateHeaterCommand,
741
+ ThermocyclerCloseCommand,
742
+ ThermocyclerWaitForLidTempCommand,
743
+ ThermocyclerDeactivateCommand,
744
+ ThermocyclerDeactivateBlockCommand,
745
+ ThermocyclerDeactivateLidCommand,
746
+ ThermocyclerSetLidTempCommand,
747
+ ThermocyclerWaitForTempCommand,
748
+ ThermocyclerWaitForHoldCommand,
749
+ ThermocyclerExecuteProfileCommand,
750
+ ThermocyclerSetBlockTempCommand,
751
+ ThermocyclerOpenCommand,
752
+ TempdeckDeactivateCommand,
753
+ TempdeckAwaitTempCommand,
754
+ TempdeckSetTempCommand,
755
+ MagdeckCalibrateCommand,
756
+ MagdeckDisengageCommand,
757
+ MagdeckEngageCommand,
758
+ ResumeCommand,
759
+ PauseCommand,
760
+ DelayCommand,
761
+ CommentCommand,
762
+ MoveToCommand,
763
+ MoveToDisposalLocationCommand,
764
+ MoveLabwareCommand,
765
+ TransferWithLiquidClassCommand,
766
+ DistributeWithLiquidClassCommand,
767
+ ConsolidateWithLiquidClassCommand,
768
+ SealCommand,
769
+ UnsealCommand,
770
+ PressurizeCommand,
771
+ ConfigureForVolumeCommand,
772
+ ConfigureNozzleLayoutCommand,
773
+ # Robot commands
774
+ RobotMoveToCommand,
775
+ RobotMoveAxisToCommand,
776
+ RobotMoveAxisRelativeCommand,
777
+ RobotOpenGripperJawCommand,
778
+ RobotCloseGripperJawCommand,
779
+ # Flex Stacker commands
780
+ FlexStackerSetStoredLabwareCommand,
781
+ FlexStackerRetrieveCommand,
782
+ FlexStackerStoreCommand,
783
+ FlexStackerEmptyCommand,
784
+ FlexStackerFillCommand,
785
+ ]
786
+
787
+
788
+ CommandPayload = Union[
789
+ CommentCommandPayload,
790
+ ResumeCommandPayload,
791
+ HeaterShakerSetTargetTemperaturePayload,
792
+ HeaterShakerWaitForTemperaturePayload,
793
+ HeaterShakerSetAndWaitForShakeSpeedPayload,
794
+ HeaterShakerOpenLabwareLatchPayload,
795
+ HeaterShakerCloseLabwareLatchPayload,
796
+ HeaterShakerDeactivateShakerPayload,
797
+ HeaterShakerDeactivateHeaterPayload,
798
+ MagdeckEngageCommandPayload,
799
+ MagdeckDisengageCommandPayload,
800
+ MagdeckCalibrateCommandPayload,
801
+ ThermocyclerOpenCommandPayload,
802
+ ThermocyclerWaitForHoldCommandPayload,
803
+ ThermocyclerWaitForTempCommandPayload,
804
+ ThermocyclerSetLidTempCommandPayload,
805
+ ThermocyclerDeactivateLidCommandPayload,
806
+ ThermocyclerDeactivateBlockCommandPayload,
807
+ ThermocyclerDeactivateCommandPayload,
808
+ ThermocyclerWaitForLidTempCommand,
809
+ ThermocyclerCloseCommandPayload,
810
+ AirGapCommandPayload,
811
+ ReturnTipCommandPayload,
812
+ DropTipCommandPayload,
813
+ DropTipInDisposalLocationCommandPayload,
814
+ PickUpTipCommandPayload,
815
+ TouchTipCommandPayload,
816
+ BlowOutCommandPayload,
817
+ BlowOutInDisposalLocationCommandPayload,
818
+ MixCommandPayload,
819
+ TransferCommandPayload,
820
+ DistributeCommandPayload,
821
+ ConsolidateCommandPayload,
822
+ AspirateDispenseCommandPayload,
823
+ DispenseInDisposalLocationCommandPayload,
824
+ HomeCommandPayload,
825
+ ThermocyclerExecuteProfileCommandPayload,
826
+ ThermocyclerSetBlockTempCommandPayload,
827
+ TempdeckAwaitTempCommandPayload,
828
+ TempdeckSetTempCommandPayload,
829
+ PauseCommandPayload,
830
+ DelayCommandPayload,
831
+ MoveToCommandPayload,
832
+ MoveToDisposalLocationCommandPayload,
833
+ MoveLabwareCommandPayload,
834
+ LiquidClassCommandPayload,
835
+ SealCommandPayload,
836
+ UnsealCommandPayload,
837
+ PressurizeCommandPayload,
838
+ ConfigureForVolumePayload,
839
+ ConfigureNozzleLayoutPayload,
840
+ # Robot payloads
841
+ RobotMoveToCommandPayload,
842
+ RobotMoveAxisRelativeCommandPayload,
843
+ RobotMoveAxisToCommandPayload,
844
+ GripperCommandPayload,
845
+ ]
846
+
847
+
848
+ MessageSequenceId = Union[Literal["before"], Literal["after"]]
849
+
850
+
851
+ CommandMessageFields = TypedDict(
852
+ "CommandMessageFields",
853
+ {"$": MessageSequenceId, "id": str, "error": Optional[Exception]},
854
+ )
855
+
856
+
857
+ class MoveToMessage(CommandMessageFields, MoveToCommand):
858
+ pass
859
+
860
+
861
+ class MoveToDisposalLocationMessage(
862
+ CommandMessageFields, MoveToDisposalLocationCommand
863
+ ):
864
+ pass
865
+
866
+
867
+ class DropTipMessage(CommandMessageFields, DropTipCommand):
868
+ pass
869
+
870
+
871
+ class DropTipInDisposalLocationMessage(
872
+ CommandMessageFields, DropTipInDisposalLocationCommand
873
+ ):
874
+ pass
875
+
876
+
877
+ class PickUpTipMessage(CommandMessageFields, PickUpTipCommand):
878
+ pass
879
+
880
+
881
+ class ReturnTipMessage(CommandMessageFields, ReturnTipCommand):
882
+ pass
883
+
884
+
885
+ class AirGapMessage(CommandMessageFields, AirGapCommand):
886
+ pass
887
+
888
+
889
+ class TouchTipMessage(CommandMessageFields, TouchTipCommand):
890
+ pass
891
+
892
+
893
+ class BlowOutMessage(CommandMessageFields, BlowOutCommand):
894
+ pass
895
+
896
+
897
+ class BlowOutInDisposalLocationMessage(
898
+ CommandMessageFields, BlowOutInDisposalLocationCommand
899
+ ):
900
+ pass
901
+
902
+
903
+ class MixMessage(CommandMessageFields, MixCommand):
904
+ pass
905
+
906
+
907
+ class TransferMessage(CommandMessageFields, TransferCommand):
908
+ pass
909
+
910
+
911
+ class DistributeMessage(CommandMessageFields, DistributeCommand):
912
+ pass
913
+
914
+
915
+ class ConsolidateMessage(CommandMessageFields, ConsolidateCommand):
916
+ pass
917
+
918
+
919
+ class DispenseMessage(CommandMessageFields, DispenseCommand):
920
+ pass
921
+
922
+
923
+ class DispenseInDisposalLocationMessage(
924
+ CommandMessageFields, DispenseInDisposalLocationCommand
925
+ ):
926
+ pass
927
+
928
+
929
+ class AspirateMessage(CommandMessageFields, AspirateCommand):
930
+ pass
931
+
932
+
933
+ class HomeMessage(CommandMessageFields, HomeCommand):
934
+ pass
935
+
936
+
937
+ class HeaterShakerSetTargetTemperatureMessage(
938
+ CommandMessageFields, HeaterShakerSetTargetTemperatureCommand
939
+ ):
940
+ pass
941
+
942
+
943
+ class HeaterShakerWaitForTemperatureMessage(
944
+ CommandMessageFields, HeaterShakerWaitForTemperatureCommand
945
+ ):
946
+ pass
947
+
948
+
949
+ class HeaterShakerSetAndWaitForShakeSpeedMessage(
950
+ CommandMessageFields, HeaterShakerSetAndWaitForShakeSpeedCommand
951
+ ):
952
+ pass
953
+
954
+
955
+ class HeaterShakerOpenLabwareLatchMessage(
956
+ CommandMessageFields, HeaterShakerOpenLabwareLatchCommand
957
+ ):
958
+ pass
959
+
960
+
961
+ class HeaterShakerCloseLabwareLatchMessage(
962
+ CommandMessageFields, HeaterShakerCloseLabwareLatchCommand
963
+ ):
964
+ pass
965
+
966
+
967
+ class HeaterShakerDeactivateShakerMessage(
968
+ CommandMessageFields, HeaterShakerDeactivateShakerCommand
969
+ ):
970
+ pass
971
+
972
+
973
+ class HeaterShakerDeactivateHeaterMessage(
974
+ CommandMessageFields, HeaterShakerDeactivateHeaterCommand
975
+ ):
976
+ pass
977
+
978
+
979
+ class ThermocyclerCloseMessage(CommandMessageFields, ThermocyclerCloseCommand):
980
+ pass
981
+
982
+
983
+ class ThermocyclerWaitForLidTempMessage(
984
+ CommandMessageFields, ThermocyclerWaitForLidTempCommand
985
+ ):
986
+ pass
987
+
988
+
989
+ class ThermocyclerDeactivateMessage(
990
+ CommandMessageFields, ThermocyclerDeactivateCommand
991
+ ):
992
+ pass
993
+
994
+
995
+ class ThermocyclerDeactivateBlockMessage(
996
+ CommandMessageFields, ThermocyclerDeactivateBlockCommand
997
+ ):
998
+ pass
999
+
1000
+
1001
+ class ThermocyclerDeactivateLidMessage(
1002
+ CommandMessageFields, ThermocyclerDeactivateLidCommand
1003
+ ):
1004
+ pass
1005
+
1006
+
1007
+ class ThermocyclerSetLidTempMessage(
1008
+ CommandMessageFields, ThermocyclerSetLidTempCommand
1009
+ ):
1010
+ pass
1011
+
1012
+
1013
+ class ThermocyclerWaitForTempMessage(
1014
+ CommandMessageFields, ThermocyclerWaitForTempCommand
1015
+ ):
1016
+ pass
1017
+
1018
+
1019
+ class ThermocyclerWaitForHoldMessage(
1020
+ CommandMessageFields, ThermocyclerWaitForHoldCommand
1021
+ ):
1022
+ pass
1023
+
1024
+
1025
+ class ThermocyclerExecuteProfileMessage(
1026
+ CommandMessageFields, ThermocyclerExecuteProfileCommand
1027
+ ):
1028
+ pass
1029
+
1030
+
1031
+ class ThermocyclerSetBlockTempMessage(
1032
+ CommandMessageFields, ThermocyclerSetBlockTempCommand
1033
+ ):
1034
+ pass
1035
+
1036
+
1037
+ class ThermocyclerOpenMessage(CommandMessageFields, ThermocyclerOpenCommand):
1038
+ pass
1039
+
1040
+
1041
+ class TempdeckDeactivateMessage(CommandMessageFields, TempdeckDeactivateCommand):
1042
+ pass
1043
+
1044
+
1045
+ class TempdeckAwaitTempMessage(CommandMessageFields, TempdeckAwaitTempCommand):
1046
+ pass
1047
+
1048
+
1049
+ class TempdeckSetTempMessage(CommandMessageFields, TempdeckSetTempCommand):
1050
+ pass
1051
+
1052
+
1053
+ class MagdeckCalibrateMessage(CommandMessageFields, MagdeckCalibrateCommand):
1054
+ pass
1055
+
1056
+
1057
+ class MagdeckDisengageMessage(CommandMessageFields, MagdeckDisengageCommand):
1058
+ pass
1059
+
1060
+
1061
+ class MagdeckEngageMessage(CommandMessageFields, MagdeckEngageCommand):
1062
+ pass
1063
+
1064
+
1065
+ class FlexStackerSetStoredLabwareMessage(
1066
+ CommandMessageFields, FlexStackerSetStoredLabwareCommand
1067
+ ):
1068
+ pass
1069
+
1070
+
1071
+ class FlexStackerRetrieveMessage(CommandMessageFields, FlexStackerRetrieveCommand):
1072
+ pass
1073
+
1074
+
1075
+ class FlexStackerStoreMessage(CommandMessageFields, FlexStackerStoreCommand):
1076
+ pass
1077
+
1078
+
1079
+ class FlexStackerEmptyMessage(CommandMessageFields, FlexStackerEmptyCommand):
1080
+ pass
1081
+
1082
+
1083
+ class FlexStackerFillMessage(CommandMessageFields, FlexStackerFillCommand):
1084
+ pass
1085
+
1086
+
1087
+ class ResumeMessage(CommandMessageFields, ResumeCommand):
1088
+ pass
1089
+
1090
+
1091
+ class PauseMessage(CommandMessageFields, PauseCommand):
1092
+ pass
1093
+
1094
+
1095
+ class DelayMessage(CommandMessageFields, DelayCommand):
1096
+ pass
1097
+
1098
+
1099
+ class CommentMessage(CommandMessageFields, CommentCommand):
1100
+ pass
1101
+
1102
+
1103
+ class MoveLabwareMessage(CommandMessageFields, MoveLabwareCommand):
1104
+ pass
1105
+
1106
+
1107
+ class RobotMoveToMessage(CommandMessageFields, RobotMoveToCommand):
1108
+ pass
1109
+
1110
+
1111
+ class RobotMoveAxisToMessage(CommandMessageFields, RobotMoveAxisToCommand):
1112
+ pass
1113
+
1114
+
1115
+ class RobotMoveAxisRelativeMessage(CommandMessageFields, RobotMoveAxisRelativeCommand):
1116
+ pass
1117
+
1118
+
1119
+ class RobotOpenGripperJawMessage(CommandMessageFields, RobotOpenGripperJawCommand):
1120
+ pass
1121
+
1122
+
1123
+ class RobotCloseGripperJawMessage(CommandMessageFields, RobotCloseGripperJawCommand):
1124
+ pass
1125
+
1126
+
1127
+ CommandMessage = Union[
1128
+ DropTipMessage,
1129
+ DropTipInDisposalLocationMessage,
1130
+ PickUpTipMessage,
1131
+ ReturnTipMessage,
1132
+ AirGapMessage,
1133
+ TouchTipMessage,
1134
+ BlowOutMessage,
1135
+ BlowOutInDisposalLocationMessage,
1136
+ MixMessage,
1137
+ TransferMessage,
1138
+ DistributeMessage,
1139
+ ConsolidateMessage,
1140
+ DispenseMessage,
1141
+ DispenseInDisposalLocationMessage,
1142
+ AspirateMessage,
1143
+ HomeMessage,
1144
+ HeaterShakerSetTargetTemperatureMessage,
1145
+ HeaterShakerWaitForTemperatureMessage,
1146
+ HeaterShakerSetAndWaitForShakeSpeedMessage,
1147
+ HeaterShakerOpenLabwareLatchMessage,
1148
+ HeaterShakerCloseLabwareLatchMessage,
1149
+ HeaterShakerDeactivateShakerMessage,
1150
+ HeaterShakerDeactivateHeaterMessage,
1151
+ ThermocyclerCloseMessage,
1152
+ ThermocyclerWaitForLidTempMessage,
1153
+ ThermocyclerDeactivateMessage,
1154
+ ThermocyclerDeactivateBlockMessage,
1155
+ ThermocyclerDeactivateLidMessage,
1156
+ ThermocyclerSetLidTempMessage,
1157
+ ThermocyclerWaitForTempMessage,
1158
+ ThermocyclerWaitForHoldMessage,
1159
+ ThermocyclerExecuteProfileMessage,
1160
+ ThermocyclerSetBlockTempMessage,
1161
+ ThermocyclerOpenMessage,
1162
+ TempdeckSetTempMessage,
1163
+ TempdeckDeactivateMessage,
1164
+ MagdeckEngageMessage,
1165
+ MagdeckDisengageMessage,
1166
+ MagdeckCalibrateMessage,
1167
+ CommentMessage,
1168
+ DelayMessage,
1169
+ PauseMessage,
1170
+ ResumeMessage,
1171
+ MoveToMessage,
1172
+ MoveToDisposalLocationMessage,
1173
+ MoveLabwareMessage,
1174
+ # Robot Messages
1175
+ RobotMoveToMessage,
1176
+ RobotMoveAxisToMessage,
1177
+ RobotMoveAxisRelativeMessage,
1178
+ RobotOpenGripperJawMessage,
1179
+ RobotCloseGripperJawMessage,
1180
+ # Flex Stacker Messages
1181
+ FlexStackerSetStoredLabwareMessage,
1182
+ FlexStackerRetrieveMessage,
1183
+ FlexStackerStoreMessage,
1184
+ FlexStackerEmptyMessage,
1185
+ FlexStackerFillMessage,
1186
+ ]