opentrons 8.7.0a7__py3-none-any.whl → 8.8.0a7__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.
Files changed (109) hide show
  1. opentrons/_version.py +2 -2
  2. opentrons/cli/analyze.py +4 -1
  3. opentrons/config/__init__.py +7 -0
  4. opentrons/drivers/asyncio/communication/serial_connection.py +8 -5
  5. opentrons/drivers/flex_stacker/driver.py +6 -1
  6. opentrons/drivers/vacuum_module/__init__.py +5 -0
  7. opentrons/drivers/vacuum_module/abstract.py +93 -0
  8. opentrons/drivers/vacuum_module/driver.py +208 -0
  9. opentrons/drivers/vacuum_module/errors.py +39 -0
  10. opentrons/drivers/vacuum_module/simulator.py +85 -0
  11. opentrons/drivers/vacuum_module/types.py +79 -0
  12. opentrons/execute.py +3 -0
  13. opentrons/hardware_control/backends/flex_protocol.py +2 -0
  14. opentrons/hardware_control/backends/ot3controller.py +35 -2
  15. opentrons/hardware_control/backends/ot3simulator.py +2 -0
  16. opentrons/hardware_control/backends/ot3utils.py +37 -0
  17. opentrons/hardware_control/module_control.py +23 -2
  18. opentrons/hardware_control/modules/mod_abc.py +1 -1
  19. opentrons/hardware_control/modules/types.py +1 -1
  20. opentrons/hardware_control/motion_utilities.py +6 -6
  21. opentrons/hardware_control/ot3api.py +62 -13
  22. opentrons/hardware_control/protocols/gripper_controller.py +1 -0
  23. opentrons/hardware_control/protocols/liquid_handler.py +6 -2
  24. opentrons/hardware_control/types.py +12 -0
  25. opentrons/legacy_commands/commands.py +58 -5
  26. opentrons/legacy_commands/module_commands.py +29 -0
  27. opentrons/legacy_commands/protocol_commands.py +33 -1
  28. opentrons/legacy_commands/types.py +75 -1
  29. opentrons/protocol_api/_transfer_liquid_validation.py +17 -2
  30. opentrons/protocol_api/_types.py +2 -0
  31. opentrons/protocol_api/core/engine/_default_labware_versions.py +1 -0
  32. opentrons/protocol_api/core/engine/deck_conflict.py +3 -1
  33. opentrons/protocol_api/core/engine/instrument.py +109 -26
  34. opentrons/protocol_api/core/engine/module_core.py +27 -3
  35. opentrons/protocol_api/core/engine/protocol.py +33 -1
  36. opentrons/protocol_api/core/engine/stringify.py +2 -0
  37. opentrons/protocol_api/core/instrument.py +19 -2
  38. opentrons/protocol_api/core/legacy/legacy_instrument_core.py +19 -2
  39. opentrons/protocol_api/core/legacy/legacy_module_core.py +15 -4
  40. opentrons/protocol_api/core/legacy/legacy_protocol_core.py +12 -0
  41. opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +19 -2
  42. opentrons/protocol_api/core/module.py +25 -2
  43. opentrons/protocol_api/core/protocol.py +12 -0
  44. opentrons/protocol_api/instrument_context.py +388 -2
  45. opentrons/protocol_api/labware.py +5 -2
  46. opentrons/protocol_api/module_contexts.py +133 -30
  47. opentrons/protocol_api/protocol_context.py +61 -17
  48. opentrons/protocol_api/robot_context.py +3 -4
  49. opentrons/protocol_api/validation.py +43 -2
  50. opentrons/protocol_engine/__init__.py +4 -0
  51. opentrons/protocol_engine/actions/__init__.py +2 -0
  52. opentrons/protocol_engine/actions/actions.py +9 -0
  53. opentrons/protocol_engine/commands/__init__.py +14 -0
  54. opentrons/protocol_engine/commands/absorbance_reader/read.py +22 -23
  55. opentrons/protocol_engine/commands/aspirate_while_tracking.py +52 -19
  56. opentrons/protocol_engine/commands/capture_image.py +302 -0
  57. opentrons/protocol_engine/commands/command.py +1 -0
  58. opentrons/protocol_engine/commands/command_unions.py +13 -0
  59. opentrons/protocol_engine/commands/dispense_while_tracking.py +56 -19
  60. opentrons/protocol_engine/commands/flex_stacker/common.py +35 -0
  61. opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py +7 -0
  62. opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py +1 -1
  63. opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +1 -1
  64. opentrons/protocol_engine/commands/move_labware.py +3 -4
  65. opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py +1 -1
  66. opentrons/protocol_engine/commands/movement_common.py +29 -2
  67. opentrons/protocol_engine/commands/pipetting_common.py +48 -3
  68. opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +12 -9
  69. opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +17 -12
  70. opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py +1 -1
  71. opentrons/protocol_engine/create_protocol_engine.py +12 -0
  72. opentrons/protocol_engine/engine_support.py +3 -0
  73. opentrons/protocol_engine/errors/__init__.py +8 -0
  74. opentrons/protocol_engine/errors/exceptions.py +64 -0
  75. opentrons/protocol_engine/execution/__init__.py +2 -0
  76. opentrons/protocol_engine/execution/command_executor.py +54 -1
  77. opentrons/protocol_engine/execution/create_queue_worker.py +4 -1
  78. opentrons/protocol_engine/execution/labware_movement.py +13 -4
  79. opentrons/protocol_engine/execution/pipetting.py +19 -25
  80. opentrons/protocol_engine/protocol_engine.py +62 -2
  81. opentrons/protocol_engine/resources/__init__.py +2 -0
  82. opentrons/protocol_engine/resources/camera_provider.py +110 -0
  83. opentrons/protocol_engine/resources/file_provider.py +133 -58
  84. opentrons/protocol_engine/slot_standardization.py +2 -0
  85. opentrons/protocol_engine/state/camera.py +54 -0
  86. opentrons/protocol_engine/state/commands.py +24 -4
  87. opentrons/protocol_engine/state/geometry.py +68 -10
  88. opentrons/protocol_engine/state/labware.py +10 -6
  89. opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +6 -1
  90. opentrons/protocol_engine/state/modules.py +9 -0
  91. opentrons/protocol_engine/state/preconditions.py +59 -0
  92. opentrons/protocol_engine/state/state.py +30 -0
  93. opentrons/protocol_engine/state/state_summary.py +2 -0
  94. opentrons/protocol_engine/state/update_types.py +10 -0
  95. opentrons/protocol_engine/types/__init__.py +14 -1
  96. opentrons/protocol_engine/types/command_preconditions.py +18 -0
  97. opentrons/protocol_engine/types/location.py +26 -2
  98. opentrons/protocol_engine/types/module.py +1 -1
  99. opentrons/protocol_runner/protocol_runner.py +14 -1
  100. opentrons/protocol_runner/run_orchestrator.py +31 -0
  101. opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +2 -2
  102. opentrons/simulate.py +3 -0
  103. opentrons/system/camera.py +333 -3
  104. opentrons/system/ffmpeg.py +110 -0
  105. {opentrons-8.7.0a7.dist-info → opentrons-8.8.0a7.dist-info}/METADATA +4 -4
  106. {opentrons-8.7.0a7.dist-info → opentrons-8.8.0a7.dist-info}/RECORD +109 -97
  107. {opentrons-8.7.0a7.dist-info → opentrons-8.8.0a7.dist-info}/WHEEL +0 -0
  108. {opentrons-8.7.0a7.dist-info → opentrons-8.8.0a7.dist-info}/entry_points.txt +0 -0
  109. {opentrons-8.7.0a7.dist-info → opentrons-8.8.0a7.dist-info}/licenses/LICENSE +0 -0
@@ -1,10 +1,10 @@
1
1
  opentrons/__init__.py,sha256=TQ_Ca_zzAM3iLzAysWKkFkQHG8-imihxDPQbLCYrf-E,4533
2
- opentrons/_version.py,sha256=CbilLv6OkIs_GvEKO6GZs_h7EdrvdoYEptP2uKHWuAo,712
3
- opentrons/execute.py,sha256=Y88qICDiHWQjU0L4Ou7DI5OXXu7zZcdkUvNUYmZqIfc,29282
2
+ opentrons/_version.py,sha256=3_09fbZUs-VXMGXA5MWazmEhOw8hSkQkzbw2loEdOUY,712
3
+ opentrons/execute.py,sha256=J7kZFRxpbrj_e5XS37Zc9fsliBqxZBMrITT7jdUgJvw,29478
4
4
  opentrons/legacy_broker.py,sha256=XnuEBBlrHCThc31RFW2UR0tGqctqWZ-CZ9vSC4L9whU,1553
5
5
  opentrons/ordered_set.py,sha256=g-SB3qA14yxHu9zjGyc2wC7d2TUCBE6fKZlHAtbPzI8,4082
6
6
  opentrons/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- opentrons/simulate.py,sha256=k8GvGkDJHJIs-808XyJ62QGpVs812vxIKUq8YDSO3Ig,43331
7
+ opentrons/simulate.py,sha256=97mp6b2pEIsJcUshBMrE9tdK72YRoRcQ02qfKB_VGyE,43506
8
8
  opentrons/types.py,sha256=d122BjAzQGhA79kyK4XbVvOEmB4kmYRFX-dtTG99g0k,18648
9
9
  opentrons/calibration_storage/__init__.py,sha256=Zmc89u8dQh1uc8CzV5hKaSX4DeS2-P0r4PDCAXfS3z4,1608
10
10
  opentrons/calibration_storage/deck_configuration.py,sha256=Zmqw8Vu8jmPYLlqC5ivIBGluAjYbWrg6LMZ7s_qgnUw,2178
@@ -28,8 +28,8 @@ opentrons/calibration_storage/ot3/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
28
28
  opentrons/calibration_storage/ot3/models/v1.py,sha256=SZU9CilK4HjPNtE-6mLcGX4ZsT3o0PGX8-RPjogmwXY,4393
29
29
  opentrons/cli/__init__.py,sha256=zP_n-SnZnZc_yzb0JnnwvUvIBiIpupGOQrqPZrSmnRs,430
30
30
  opentrons/cli/__main__.py,sha256=Jvtl3eMKDT1eX00BGULAw6WqenKe911TMTg4b97y5dA,73
31
- opentrons/cli/analyze.py,sha256=sZHRQxVyQASunYpjl0iks_Gkc8K6iX79cBuaipHfVys,16747
32
- opentrons/config/__init__.py,sha256=N_ls4aKFt5jrXiPg-M8g2ecc2PgEzH2qTjbPjlr2fFk,21488
31
+ opentrons/cli/analyze.py,sha256=xotooLXxHoScjAidhZfKaskayPD3DHtxszRqHgjgNgQ,16927
32
+ opentrons/config/__init__.py,sha256=AjaBoMINUatrFEBmRrmmG2aSfo195tYi-pUO1-KNppY,21742
33
33
  opentrons/config/advanced_settings.py,sha256=CzR1IzIMGMkvzyzwIjaVR7_ZIZ9_zr-Odgq2Ij4K4vU,27215
34
34
  opentrons/config/defaults_ot2.py,sha256=_l63QNW0aWTh0HGZcgF592ETJg8-W4M0XrQbbzkAPjA,6031
35
35
  opentrons/config/defaults_ot3.py,sha256=4H2rw6mkqrDuQW3bkC8rzuDMw-JjOUDdlzRgkQrShnI,16087
@@ -53,10 +53,10 @@ opentrons/drivers/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
53
53
  opentrons/drivers/asyncio/communication/__init__.py,sha256=b-rd_I0ecbexGm6b9T91JLfFUrCyui9V1N1j-fzy0SQ,523
54
54
  opentrons/drivers/asyncio/communication/async_serial.py,sha256=Tzv_uXvMYhJF2LXsJWDRA3hdg5_qCo3863zvn7Y66WY,5439
55
55
  opentrons/drivers/asyncio/communication/errors.py,sha256=-4pNGVKE83VUPNt1UTBLDzKtty3LxAhUNp-9yLENqyw,2678
56
- opentrons/drivers/asyncio/communication/serial_connection.py,sha256=4bGivjQ9m7WMaHMFYNWWHRLEGv8SGeD2080dUkdcua8,21994
56
+ opentrons/drivers/asyncio/communication/serial_connection.py,sha256=eR68U7v1Zn-gYikr8eUAck59iPFv2aeox2nPFGi_a8o,22053
57
57
  opentrons/drivers/flex_stacker/__init__.py,sha256=LiM0onRlgC-JfFBd0QseQU0-3WuuIxa7GNFj7Douiq8,351
58
58
  opentrons/drivers/flex_stacker/abstract.py,sha256=50xrkTC5qI_BsvlBGpdBLwF3GVi7HhKVSgloKwcrzNA,6744
59
- opentrons/drivers/flex_stacker/driver.py,sha256=TEy2yz5fU-vSmuLjHoZqi8fYmvdrmhoWYCMhx7ldZsg,31342
59
+ opentrons/drivers/flex_stacker/driver.py,sha256=m43LDktLtRXSco_SgM-6yfx0GwoxkrV8Gz5aDtLgfN4,31670
60
60
  opentrons/drivers/flex_stacker/errors.py,sha256=8vocQHCTw8cSnlWGFml4gBtrwMOtVdml-c7MB4KnLns,2175
61
61
  opentrons/drivers/flex_stacker/simulator.py,sha256=suOrNpD2jsiQX10yAesln_Fl3PI3IhXcpbZXXD5c2gw,10925
62
62
  opentrons/drivers/flex_stacker/types.py,sha256=IHubhe1Xi0mUbiY6tzlyUv9KHNOGhjS4l6x7q0woAw4,7986
@@ -93,6 +93,12 @@ opentrons/drivers/thermocycler/__init__.py,sha256=ScQ4ItGlDrkoF7QkrDle0j-fJmkcLP
93
93
  opentrons/drivers/thermocycler/abstract.py,sha256=n_W4S9pExHPC6OcPx_RJZsdAjZnujR4zno82aiPPitk,2680
94
94
  opentrons/drivers/thermocycler/driver.py,sha256=hBdLxxjpWHhpcxsyYgge9DEeoEcryZQzcYdgP9R_Dko,15303
95
95
  opentrons/drivers/thermocycler/simulator.py,sha256=xDOYqZhFqBaVTWO5By33HJi89H9eUu1lPK0yJSiVezQ,4279
96
+ opentrons/drivers/vacuum_module/__init__.py,sha256=bDuNg0t8mNGYIIorZfnfAzutdwNTg6kfgaR-vYIzGIg,212
97
+ opentrons/drivers/vacuum_module/abstract.py,sha256=XwiCFSPeERmQ07tnrl4a-y64dfeqy6q_gxkAMpX9-Qs,2842
98
+ opentrons/drivers/vacuum_module/driver.py,sha256=5Zw1j9amQzQsr5h7nO-O6Iz7mEWxd34Dt3M-mGT6a_M,7611
99
+ opentrons/drivers/vacuum_module/errors.py,sha256=ueoj16KZ1LmBVJbb2YoGATQa07ggxqVJEJrJyvfYI88,1161
100
+ opentrons/drivers/vacuum_module/simulator.py,sha256=iGL744Re7JsSlCSz-0hzuDydMTo6uuJLCVyaRdzKwcg,2590
101
+ opentrons/drivers/vacuum_module/types.py,sha256=_YhGled_WjlZSYlOCpet-G_l9Xt4IJ83F5NWNXcpRZc,1594
96
102
  opentrons/hardware_control/__init__.py,sha256=5t_YhGQ1uw4iB6QYtNz7qV8AcwLjaWtjmMP5B4YekEE,2353
97
103
  opentrons/hardware_control/__main__.py,sha256=DnlYdphZKLHiLCeXmnMDer6CclhberfTk_wCAbiy9Gc,2585
98
104
  opentrons/hardware_control/adapters.py,sha256=mm-gumoaF7CFrP0ad6W4xafbJRq6RaOD0GffSibWR-Q,3888
@@ -101,27 +107,27 @@ opentrons/hardware_control/constants.py,sha256=Ku-XABo7AN9JQ0tef8oPk-JlUuhQQLeP9
101
107
  opentrons/hardware_control/dev_types.py,sha256=q2GU8JMkHAhNrW5A4bcyq9y5q4-X-HXxa7yxCR-olxw,3507
102
108
  opentrons/hardware_control/errors.py,sha256=NMF5_AvX22ENTHPpUlElgF-0aeaxEhYXnOq2lfIzuiM,1433
103
109
  opentrons/hardware_control/execution_manager.py,sha256=WG3NF1OJgorAmRpkx8BRnqFeQsPUQ5w7H1kVK7pC-7A,5984
104
- opentrons/hardware_control/module_control.py,sha256=8_2jiH2H1DEj_n2YR1J8T7nuPYTiUUVjPp_1-V3i6Rs,15254
105
- opentrons/hardware_control/motion_utilities.py,sha256=7VG60YQ9MSMAZ0hO-q-kRAdkcebzrx7uIPtc6FMCViE,10311
110
+ opentrons/hardware_control/module_control.py,sha256=id1W3xqT-W-zyt2PVodo2Abx127tuS_8QRs8x93us44,16084
111
+ opentrons/hardware_control/motion_utilities.py,sha256=aIaT-qzkRpZaSmfTTSqs1wl6m7LBxwKHIhgkFean01o,10274
106
112
  opentrons/hardware_control/nozzle_manager.py,sha256=AG4HKrV4n0Bm0UOEsaAYAURtkJwuEyk97e9Nqv2_nD0,17021
107
113
  opentrons/hardware_control/ot3_calibration.py,sha256=vHB17U-FBzytvM8QeEu5kRYPo8lFwAo31ZEpiU4yf_0,45000
108
- opentrons/hardware_control/ot3api.py,sha256=9eoHC6WCw4uYfDqVKVp71O2boLaPrmal42PuYbS9lFY,128636
114
+ opentrons/hardware_control/ot3api.py,sha256=r2CeWSwBcXEUtyyBa3UFW3c_aHja82LpiegKla-i03s,130824
109
115
  opentrons/hardware_control/pause_manager.py,sha256=wmNmraimE2yZQVqCxX_rtQHUWRzpzyQEaym9fLMgyww,888
110
116
  opentrons/hardware_control/poller.py,sha256=6aqR0UM36w-Fk1ozjp-74VHthZTfT8Yurh5Zb4OnZX8,4392
111
117
  opentrons/hardware_control/robot_calibration.py,sha256=ilszGjZPspKiEk8MQPaHm2B-ljeisAYflKl8UyQ_D0U,7155
112
118
  opentrons/hardware_control/simulator_setup.py,sha256=3gelKslgMDobLpIlhVHmAqmZ5wXe1hZcK4RwKRMy3aM,9277
113
119
  opentrons/hardware_control/thread_manager.py,sha256=3-PrzUzJFSjUVtrgTUEF5GIStsDufvaSbp51B2x-yJY,17253
114
120
  opentrons/hardware_control/threaded_async_lock.py,sha256=qMaIrJ4KSMzvKm0hWt4o74Joah-sc404LlhMjCJue2g,3316
115
- opentrons/hardware_control/types.py,sha256=Uc0nn8iEwyc7u1k9SEYxt0QC6JIZ3il9s05_F1FxnAw,23691
121
+ opentrons/hardware_control/types.py,sha256=exnHlkhflv4xUsRl_txFLClRb98H9Xd2QFob6wIG1yU,24017
116
122
  opentrons/hardware_control/util.py,sha256=RSlfjzrmhtntSexamNpPn3-qrnbrdhuzEjOnxv8v7lA,8650
117
123
  opentrons/hardware_control/backends/__init__.py,sha256=u5Dg3AFZuvDV7hFqJ8I4F9D1dLDt6e-TsFJReyBYe4E,212
118
124
  opentrons/hardware_control/backends/controller.py,sha256=jo_KsXcNxkMh_4nFSffJM77R7GEsR74q9YFyhHzYIDw,14870
119
125
  opentrons/hardware_control/backends/errors.py,sha256=ZiVP16exHMTWWOajxffnXEqI6NNfeTw-4RkhXE0EBJA,249
120
126
  opentrons/hardware_control/backends/estop_state.py,sha256=_GYjI6OaD3CZNduWV2_RVeOtQ4K_Fg-SP8yU01ENhCY,6554
121
- opentrons/hardware_control/backends/flex_protocol.py,sha256=3S-OHbAnOSTF5PxzhMxD0TdEfxurLwecBrDkedl2O3s,13185
122
- opentrons/hardware_control/backends/ot3controller.py,sha256=Ag67CIu4pR5CdySGSQSzGoqsLfWUuz--cAgRcIfSay8,71510
123
- opentrons/hardware_control/backends/ot3simulator.py,sha256=QxYxaSUxaJ4KxguRDO78_nebiEa1hHxNgltPw5Zdnhk,30509
124
- opentrons/hardware_control/backends/ot3utils.py,sha256=HYlIZRGmLqudS1mIt0Io2LxQ1BrLrxVFQCjqudbTUWU,22374
127
+ opentrons/hardware_control/backends/flex_protocol.py,sha256=G09jw68CyMRRC-7KGez8xtISx3kHiX8gSoNu8iSBj6Y,13294
128
+ opentrons/hardware_control/backends/ot3controller.py,sha256=QML8L3cpBx60scR7_ScJozWJ49zZEGZWHgDB3TzcYWY,72684
129
+ opentrons/hardware_control/backends/ot3simulator.py,sha256=wP0ePMiTxz5C8oJ9yz8WfuMvpy1ZjwW1wgmQb81rVRc,30618
130
+ opentrons/hardware_control/backends/ot3utils.py,sha256=Q7C1-gOxgRAhDf761QqRBzT1Or-jM9mG1HFdRmDDJlg,23535
125
131
  opentrons/hardware_control/backends/simulator.py,sha256=Ag1V3lfEfxDYgcdOgPQeo7KBvM6cZ10ThQbjLpFnPuk,17671
126
132
  opentrons/hardware_control/backends/status_bar_state.py,sha256=E8z9dCJDI3Nb4qfUA5y2_PrE2jSYzZJQVkk75UqY5ZE,9287
127
133
  opentrons/hardware_control/backends/subsystem_manager.py,sha256=bOt6JhfXDS6hDdLkoXPeFAOo-SP5B7PIT3OgcZZBFOE,16905
@@ -171,12 +177,12 @@ opentrons/hardware_control/modules/flex_stacker.py,sha256=osFukKIM5Ieb9ltsxt_k8Z
171
177
  opentrons/hardware_control/modules/heater_shaker.py,sha256=9q9KCZ_a_HAzCqRW67kXPajKEJC1e4-QD8ljvvX8juU,16532
172
178
  opentrons/hardware_control/modules/lid_temp_status.py,sha256=XKlr41I41g8aFxrrqGZxecHWgtBceG9ZrOSkyqq1khE,1201
173
179
  opentrons/hardware_control/modules/magdeck.py,sha256=4pNF9e4cx13XoQvrlgjQ7wI6A9176EFzet8dnQshGrg,7835
174
- opentrons/hardware_control/modules/mod_abc.py,sha256=1WJE3Eue0pVuTlsj-oReDy7YqDDqquU8srcMV1bhNy4,8275
180
+ opentrons/hardware_control/modules/mod_abc.py,sha256=zjP0GvSjY1cM8N5j4yDdazShfNK8yyAdHw9oDGhhGps,8289
175
181
  opentrons/hardware_control/modules/module_calibration.py,sha256=2gtufh6D523Dp1N9-qd6z_AuyXFAAxZ0-p7wZvHUxuY,3033
176
182
  opentrons/hardware_control/modules/plate_temp_status.py,sha256=wBVEUjK4DgkBKGF4Ii5X1ZWcw3Cb946jHlbnRaQbFW8,2168
177
183
  opentrons/hardware_control/modules/tempdeck.py,sha256=CbTCdV3CzG7JHR3hlt8qoNKZhF9pYpWUmp5_dlnTUys,11012
178
184
  opentrons/hardware_control/modules/thermocycler.py,sha256=VU3nhD2_LeM4GPGH1Is4UWssGM9qWfHTCocnrp9lb4k,27369
179
- opentrons/hardware_control/modules/types.py,sha256=CMyK4zbTeqiZITtQIPJMzKon2wmHTi7TMF0qa5qOS6M,11418
185
+ opentrons/hardware_control/modules/types.py,sha256=6ATSLIx2iEPann5io6XoemdM8kfgmZx_NOkSCa0vAOE,11430
180
186
  opentrons/hardware_control/modules/update.py,sha256=HrJGzEyRpOMKbO5sw6W-UfxEGNyTb7ipyLZSO4CIJrs,8825
181
187
  opentrons/hardware_control/modules/utils.py,sha256=2U-cTSE31Wbl51PQmoNG3X2jTDhiETSomWRs5kl0vcQ,2521
182
188
  opentrons/hardware_control/protocols/__init__.py,sha256=R5ECj8jVnk99k0ep5WY9xgfy9-APF1lcYOVpxacwKxI,3453
@@ -188,11 +194,11 @@ opentrons/hardware_control/protocols/event_sourcer.py,sha256=8-BiKGo-KVEcFOOZmj1
188
194
  opentrons/hardware_control/protocols/execution_controllable.py,sha256=c1MmdETvXtwGEn6Fj_-N_mH2X4FkXnNPkrMKjClSBqY,1099
189
195
  opentrons/hardware_control/protocols/flex_calibratable.py,sha256=rHTumhgYB43WPsZEsHjKkZNBFtvOU3CAkCd2xONLAI8,3314
190
196
  opentrons/hardware_control/protocols/flex_instrument_configurer.py,sha256=qSnDZZxVCnCQE5CXck9c9k0AfE80W74kiKwteORGHb8,1461
191
- opentrons/hardware_control/protocols/gripper_controller.py,sha256=YvZPxkUmw_mjGxs3M6V8zh0DEb9PDEwt55PA9W3oJwo,1634
197
+ opentrons/hardware_control/protocols/gripper_controller.py,sha256=EEfL-KUzegZBm_vETeCAv_RFXisnV6xPc4N9Wil9348,1685
192
198
  opentrons/hardware_control/protocols/hardware_manager.py,sha256=S9BSJ0XsnU5A9nFLMDZfmiizx3T41WhU_91VYj4bUVE,1629
193
199
  opentrons/hardware_control/protocols/identifiable.py,sha256=YmhScb4Tr4mxVObL1i7pI-EouTMAmV-2oqKbovhdnrE,575
194
200
  opentrons/hardware_control/protocols/instrument_configurer.py,sha256=5zUCAchtoJ6QPFqcGRb7FOsnt2nxjxlRJdt18IidKqQ,7729
195
- opentrons/hardware_control/protocols/liquid_handler.py,sha256=2KUYDnwzwi7m8GQKdwhUaFbQs9aUa7Y1RdrOWwaKyxw,10157
201
+ opentrons/hardware_control/protocols/liquid_handler.py,sha256=_I__m4QFDNp1ZXNtanLFbu-LRqJkO7RoyJWyNAa9iF4,10457
196
202
  opentrons/hardware_control/protocols/module_provider.py,sha256=QDKCWqrW-6IeI91IICBTJClK0C__mgq3A0-M3Wa9ee8,487
197
203
  opentrons/hardware_control/protocols/motion_controller.py,sha256=mWUHVDqju9gcMDU9adk6UzueZ9i-x2nU5hmcd_fHHyk,9737
198
204
  opentrons/hardware_control/protocols/position_estimator.py,sha256=BrqK5AJn9747c4LX0ZWBJWgWHjyX977CHBI7WVvO-9Q,1922
@@ -208,13 +214,13 @@ opentrons/hardware_control/scripts/repl.py,sha256=RojtHjYV6sa6O4SeNEgs5SvnAK0imQ
208
214
  opentrons/hardware_control/scripts/tc_control.py,sha256=V6hOzoRXL3xqIUEz8Raldd45aO2JgN5m5Hr08c1G8Ko,2741
209
215
  opentrons/hardware_control/scripts/update_module_fw.py,sha256=kVuS2Vtm6bxpwMwqytMwFqyJFpy6VkaIz3kOu7GeQy0,10021
210
216
  opentrons/legacy_commands/__init__.py,sha256=erkaz7hc2iHsTtjpFDWrR1V5n47it3U1qxD2zL9CkuE,63
211
- opentrons/legacy_commands/commands.py,sha256=lgImZ0Y3gZrMKDVioaOXWqa6mMJCNKDa8p-lQhTghWk,14530
217
+ opentrons/legacy_commands/commands.py,sha256=3IypunEWaxMCdJQ4M71s0lLRr0mnTKRelqpjZQ6fVtU,16129
212
218
  opentrons/legacy_commands/helpers.py,sha256=Bc7mjK6V7b4h472NCx_qSwD0ojd_DM7mPg18tjo1DIQ,5228
213
- opentrons/legacy_commands/module_commands.py,sha256=MgMCv2Bsl6TyRzrRFGRkE816w9raLV7E2aNrto6Nm4s,10101
214
- opentrons/legacy_commands/protocol_commands.py,sha256=SwKKcS7PG6EaihkeFQiJ7BCc7_QcPpkLyzxTsnneTHU,2016
219
+ opentrons/legacy_commands/module_commands.py,sha256=wzt6R2Mj_WzjS6-UqSaxupB1Sd1aye2LDjeRMe9skuU,11248
220
+ opentrons/legacy_commands/protocol_commands.py,sha256=Vqk8kwKKUePEoS8vJ9p-r9mI8YE2fBicP5DKzEP6uF0,2926
215
221
  opentrons/legacy_commands/publisher.py,sha256=JRrpF-kG7qt5dwDFbCqeMjokCSwn8BdllMMYnJeDLn8,5440
216
222
  opentrons/legacy_commands/robot_commands.py,sha256=c51gVAh-98PxhxmEL_3P80rejkaY58gAQ7S6wNwctao,1642
217
- opentrons/legacy_commands/types.py,sha256=fKjJoaQw0c7tAf3lZUj9qX5GMaxV0qb3NGYIe1THpGQ,32767
223
+ opentrons/legacy_commands/types.py,sha256=d-X9vn2ivjyvuWvFgERfsyPELroJ7z7GHclpY2TTClI,34911
218
224
  opentrons/motion_planning/__init__.py,sha256=Gma3SLAvKbL7QuhVGtL9zFx5vlk_7YBF0TjYZQSiv9s,755
219
225
  opentrons/motion_planning/adjacent_slots_getters.py,sha256=z7HkfC8ymAdGHdFq-sC_1_cERX_v29b9x4HKtJ6gp9I,5390
220
226
  opentrons/motion_planning/deck_conflict.py,sha256=UyLIWvJY2oKEHvw_TzBeDK7TVIAglsb_WJOBdS1CH9A,16906
@@ -227,46 +233,46 @@ opentrons/protocol_api/_liquid_properties.py,sha256=DHdDHoset72mKq2sLaf355Zz1Xds
227
233
  opentrons/protocol_api/_nozzle_layout.py,sha256=-WA71bRDISs9bLwHdWqAyM7HBc53sOA8_BOVqYsuN3g,1095
228
234
  opentrons/protocol_api/_parameter_context.py,sha256=dvGMVObWDSERrXfTKSIwc4YeIdF_RD-q8ASNaSBTcxw,12967
229
235
  opentrons/protocol_api/_parameters.py,sha256=BGH50BFawoNnh7NRDh0tRrNncdwz_Ta25tbQfwtlYoM,1298
230
- opentrons/protocol_api/_transfer_liquid_validation.py,sha256=nR-qvgFIVYkFJ_PH1eiTuik5PmwAabja2OnvDyzBvcQ,4034
231
- opentrons/protocol_api/_types.py,sha256=i2t-X3OiJ4lKwrwvkDKLgcYdRAyQKxvU3QEfK6jEPTg,1501
236
+ opentrons/protocol_api/_transfer_liquid_validation.py,sha256=g8fCcPf0XP7f0celqxvIyFhSH8Bf8xoQo3769I9mZwI,4682
237
+ opentrons/protocol_api/_types.py,sha256=WnTZbFF0Y1QyxzP4FMDe1Yf64MriLt4SSmJS5ChBkq4,1578
232
238
  opentrons/protocol_api/config.py,sha256=r9lyvXjagTX_g3q5FGURPpcz2IA9sSF7Oa_1mKx-7cw,625
233
239
  opentrons/protocol_api/create_protocol_context.py,sha256=wwsZje0L__oDnu1Yrihau320_f-ASloR9eL1QCtkOh8,7612
234
240
  opentrons/protocol_api/deck.py,sha256=94vFceg1SC1bAGd7TvC1ZpYwnJR-VlzurEZ6jkacYeg,8910
235
241
  opentrons/protocol_api/disposal_locations.py,sha256=NRiSGmDR0LnbyEkWSOM-o64uR2fUoB1NWJG7Y7SsJSs,7920
236
- opentrons/protocol_api/instrument_context.py,sha256=dOg04iqYnNMJ7XnlHBX3tTGiEahc-7feIuErcevRdwY,141216
237
- opentrons/protocol_api/labware.py,sha256=1fwap0oMffbD7gewv1OmmjFZLFuhQu68PI1CjU9UYSY,63235
238
- opentrons/protocol_api/module_contexts.py,sha256=klVrc5UnMK_UgWgP8jB4bQZKS5-sZdE-P8dOJeKlCQw,68554
242
+ opentrons/protocol_api/instrument_context.py,sha256=IrGvNHuWwQ44kB3Q75dCoDliWDpLLani9a8O9U-19Po,160525
243
+ opentrons/protocol_api/labware.py,sha256=ET9dymBh64jGUDlucdrlmBiOCVUJIOj1o2ePYxZ8U4g,63383
244
+ opentrons/protocol_api/module_contexts.py,sha256=lJG9SKZFDrFi78ZeeueafBt1d4AEowOMZdLExHbV-Xc,73743
239
245
  opentrons/protocol_api/module_validation_and_errors.py,sha256=ljst-M_KK78GnyG3pyZ_6yoYkMY3HORS1QyQyWrme-U,2250
240
- opentrons/protocol_api/protocol_context.py,sha256=FGO2OKjfHYW-HtQUEhzKk9R2GcSuQo27lGp-CG_k95c,78052
241
- opentrons/protocol_api/robot_context.py,sha256=HnKUhzX4BbgUynxDbiObgAYGise4rYToC89S2OHSNqQ,13008
246
+ opentrons/protocol_api/protocol_context.py,sha256=sR6Vul04mgthDptMnJYY2YeXOIZqu48L1hrckM_TSps,79768
247
+ opentrons/protocol_api/robot_context.py,sha256=OoxwSNsWkMXVf3SY_r1kUxokMDxIWT0A_9NqSTD37Z8,12962
242
248
  opentrons/protocol_api/tasks.py,sha256=aAGXS9yGjdd9NNosf-o8K_DNRuPea9mimfX6L0Y7q38,1390
243
- opentrons/protocol_api/validation.py,sha256=LpYe5N8KBFrJeofOxoIANZYqj_Et6OIIbdpa7WsqiyU,29442
249
+ opentrons/protocol_api/validation.py,sha256=MZGafzegOBuK7TTXlkkGE2YQSY71RDrdxp4puKQBclc,30995
244
250
  opentrons/protocol_api/core/__init__.py,sha256=-g74o8OtBB0LmmOvwkRvPgrHt7fF7T8FRHDj-x_-Onk,736
245
251
  opentrons/protocol_api/core/common.py,sha256=163qv_L5UtGYbi2jLlHfbsMd1hss58_EFk3rhmt8pms,1350
246
252
  opentrons/protocol_api/core/core_map.py,sha256=NX06HEDi5Obmaz0Xwwc_dikH0M-bTnZcfnSdMLdQqms,2074
247
- opentrons/protocol_api/core/instrument.py,sha256=ZlEv60tzH5jxP0Wh9eyTc_28ju75RsllkQufMwYdIio,13985
253
+ opentrons/protocol_api/core/instrument.py,sha256=qvnUzp8KRTyOPxBQyGZkjPWEkaTC2hWN-V0Eop5UW20,14629
248
254
  opentrons/protocol_api/core/labware.py,sha256=-ZOjkalikXCV3ptehKCNaWGAdKxIdwne8LRFQW9NAm4,4290
249
- opentrons/protocol_api/core/module.py,sha256=OJJqgT6Npda0rhxz88dD3G9luHPE_F1MiuC7ZHn_IFI,17253
250
- opentrons/protocol_api/core/protocol.py,sha256=x1GnXklDsq9FR8NEHu5DLS-w8HuRqwTMLk8xXzFg44w,8951
255
+ opentrons/protocol_api/core/module.py,sha256=BjbbWZl6mlCrDsv2TcVjjVdP7lDeZDPBaOkGrnudNPE,18139
256
+ opentrons/protocol_api/core/protocol.py,sha256=tSugrBB7Ybp092y5R-9SbhpCpjuRtLKIUMOZvHTm42o,9329
251
257
  opentrons/protocol_api/core/robot.py,sha256=QMAqj5Oqq3_IhTDyUF4jpWI4j2LRPP9crUiaYD_RUv4,1385
252
258
  opentrons/protocol_api/core/tasks.py,sha256=JitBBPrH_8MevcseQKa_lBrYOQPsgw1fYHl41hvigtk,787
253
259
  opentrons/protocol_api/core/well.py,sha256=wIoozpmJsBDP2FYeY9WjTD6drTq9IqWdrTIlsDrl2fc,3613
254
260
  opentrons/protocol_api/core/well_grid.py,sha256=BU28DKaBgEU_JdZ6pEzrwNxmuh6TkO4zlg7Pq1Rf5Xk,1516
255
261
  opentrons/protocol_api/core/engine/__init__.py,sha256=B_5T7zgkWDb1mXPg4NbT-wBkQaK-WVokMMnJRNu7xiM,582
256
- opentrons/protocol_api/core/engine/_default_labware_versions.py,sha256=8u1zlPtVfPACVAs9JTzI3HA1PdNPPRODxEAZSF4qUxM,8457
262
+ opentrons/protocol_api/core/engine/_default_labware_versions.py,sha256=KewmRHzXo-3zRUMOOrp3aZviQnfFLnLaYWOTJL7MNqs,8501
257
263
  opentrons/protocol_api/core/engine/_default_liquid_class_versions.py,sha256=be-eczhfOsWm4Q3fSVcjWqxteg_IGnwC-pozJUZ5u4U,1564
258
- opentrons/protocol_api/core/engine/deck_conflict.py,sha256=j3AJ-sYr5e-06UgeGueUldx9B3fn7AhN738kJxZO_vw,14693
264
+ opentrons/protocol_api/core/engine/deck_conflict.py,sha256=QjDN4h6_o3PEJJGiR9TJgoKK5A_SYJKmm8w0EXlpunw,14790
259
265
  opentrons/protocol_api/core/engine/exceptions.py,sha256=aZgNrmYEeuPZm21nX_KZYtvyjv5h_zPjxxgPkEV7_bw,725
260
- opentrons/protocol_api/core/engine/instrument.py,sha256=iiiUdjdpLGxjr3iQwI6AOtfIFTFx1vwZLa6ALrpqgRM,105054
266
+ opentrons/protocol_api/core/engine/instrument.py,sha256=ZnML0eMCawZA-a3RndAqD765AKOoJvg_MHlpgQrKn_c,108907
261
267
  opentrons/protocol_api/core/engine/labware.py,sha256=YUkoCogqLQpDee-wlcMPV90ZUi78xeWzkfhz5gmoIyg,8846
262
268
  opentrons/protocol_api/core/engine/load_labware_params.py,sha256=CxSbCBXVXHtBszP-3Ko8hsQTjvvogKRo0CCzCmMfIic,3003
263
- opentrons/protocol_api/core/engine/module_core.py,sha256=ONrYQonGhxPDOuqgOeDDY_ept42OMHYxZK0zAC-cMuk,42328
269
+ opentrons/protocol_api/core/engine/module_core.py,sha256=SBglcDmhwTrk_IfIgkzHsux9NEDQZ4OgzycAoO0qRdY,43222
264
270
  opentrons/protocol_api/core/engine/overlap_versions.py,sha256=PyGvQtQUg1wzNtkuGZtxwXm019PoIjq7em2JiWaxbXc,675
265
271
  opentrons/protocol_api/core/engine/pipette_movement_conflict.py,sha256=9BmtG1kg3vyrssBXflCNZrJIukGp6y5UJ_XqhIz73rI,18148
266
272
  opentrons/protocol_api/core/engine/point_calculations.py,sha256=C2eF0fvJQGMqQv3DzNhc1-m8HTAXTyTsHPJEPrEUEmo,2502
267
- opentrons/protocol_api/core/engine/protocol.py,sha256=7P7uzIGFF4noryT78Svsben-71Ze_5DzpRIs-wSF7_U,48585
273
+ opentrons/protocol_api/core/engine/protocol.py,sha256=nZCWd6vq6PAzZVU_0kl3PPtcgtshN3xgWE2ixhiRK2g,50017
268
274
  opentrons/protocol_api/core/engine/robot.py,sha256=bzUt23NG-clD-9-QFsV_6nm3fMgSmvYEG9DyyZI1xgw,5366
269
- opentrons/protocol_api/core/engine/stringify.py,sha256=GwFgEhFMk-uPfFQhQG_2mkaf4cxaItiY8RW7rZwiooQ,2794
275
+ opentrons/protocol_api/core/engine/stringify.py,sha256=uaaHTXiGlMXvCUB0zlSyi1poTGX_D8z-Gy2KhkFHp5c,2869
270
276
  opentrons/protocol_api/core/engine/tasks.py,sha256=8unIsHFYso3VBp6cTwJPGuK2ZSUBSFrID21F53Lqevg,1584
271
277
  opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=mR59C-e6IHSZthlbQEwmRnh5ye8lhr6a0Qp5CNNi9n8,45211
272
278
  opentrons/protocol_api/core/engine/well.py,sha256=Aetbc8CQjNr9TnqMwE9spGNyH0qMkqBufXCq7I1u2QE,9237
@@ -274,44 +280,45 @@ opentrons/protocol_api/core/legacy/__init__.py,sha256=_9jCJNKG3SlS_vljVu8HHkZmtL
274
280
  opentrons/protocol_api/core/legacy/_labware_geometry.py,sha256=ugtMdfnSkUwBCC3Sdj5nP5aDUxX-Dr7BeiuPVmdjAtg,1091
275
281
  opentrons/protocol_api/core/legacy/deck.py,sha256=qHqcGo-Kdkl9L1aOE0pwrm9tsAnwkXbt4rIOr_VEP-s,13955
276
282
  opentrons/protocol_api/core/legacy/labware_offset_provider.py,sha256=2DLIby9xmUrwLb2ht8hZbvNTxqPhNzWijd7yCb2cqP8,3783
277
- opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=mEX2Kmx8vBag7ndk4pCIssKkH9C-FEk0xphDyogCLGQ,27023
283
+ opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=-Df8ZWkDZOiFaQ7X8d3OcHmjMpoROpv8XpEXcQgPyzY,27673
278
284
  opentrons/protocol_api/core/legacy/legacy_labware_core.py,sha256=ksal6uzzGcMFEE3Ko2H9cbG8b8u4IprzejkkxdBHwHQ,8579
279
- opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=6N_L8th8YlS5vGxr4a3LE-xic5vfG0dMHToorQ0WJQ0,23977
280
- opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=GTZvcPv84AaAGEHkM9x3g7_zZK5lHR9blWfC505ac6Q,24200
285
+ opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=bdSt_PE5TWrC3KkIvyuZzXF3lYsGJka4W1x4Hi9zG3c,24486
286
+ opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=32pUVUkIhCZYMlxt_y8zoDO9BWIlW2zJ5lP8HFhHOQQ,24626
281
287
  opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=6iPw9YqFXi42xAPwOrR0WgbKZigK_ThCdkGZAyuGTdE,5687
282
288
  opentrons/protocol_api/core/legacy/load_info.py,sha256=r-WaH5ZJb3TRCp_zvbMMh0P4BhbZM8HsBs1K_pU98dk,1857
283
289
  opentrons/protocol_api/core/legacy/module_geometry.py,sha256=lvWFHZ81-JFw-1VZUW1R3yUIb59xpXT6H3jwlRintRo,21082
284
290
  opentrons/protocol_api/core/legacy/tasks.py,sha256=_vOuYbi62Rj8N7U4mA9MG2DE9YW0KzKVRbDQ87B_VNE,647
285
291
  opentrons/protocol_api/core/legacy/well_geometry.py,sha256=n5bEsvYZXXTAqYSAqlXd5t40bUPPrJ2Oj2frBZafQHA,4719
286
292
  opentrons/protocol_api/core/legacy_simulator/__init__.py,sha256=m9bLHGDJ6LSYC2WPm8tpOuu0zWSOPIrlybQgjRQBw9k,647
287
- opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py,sha256=8VMIVZKaqdXM4AGD9SJgqjGDHA7OWmXQHOtV70fopsc,23462
293
+ opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py,sha256=6pYks9_HZRNPe6qUvOcvopKJozIWo0QSqqlJbwL4OYw,24112
288
294
  opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py,sha256=RNfnJMPfuMmSwmlEnWW5WySLwSs9PrrCs9SLzMcXkPI,3439
289
295
  opentrons/protocol_api/core/legacy_simulator/tasks.py,sha256=V12emyOAPfCTmxfrZUf1FI4vUOA0DkSY_O_vTgKh_Wc,734
290
- opentrons/protocol_engine/__init__.py,sha256=UPSk7MbidkiSH_h4V3yxMvyTePKpRr5DM9-wfkJrlSo,4094
291
- opentrons/protocol_engine/create_protocol_engine.py,sha256=tfDIsC7_JKlRiCXPB_8tuxRsssU6o0ViRmWbGPtX9QA,7582
292
- opentrons/protocol_engine/engine_support.py,sha256=5wqk5CHudpOUCSNsalWRmBSeHaCT6bEmcYAn9P60L0w,923
296
+ opentrons/protocol_engine/__init__.py,sha256=O9VlgWXrti_DXEf7B1ou-BxZljlx24Tsi0qAlAScY0k,4216
297
+ opentrons/protocol_engine/create_protocol_engine.py,sha256=cGnd2jaFi8VC4Cdrx4HJsYHoA1chEJs9ppe9Nd5ucGI,8178
298
+ opentrons/protocol_engine/engine_support.py,sha256=vzAy4pE_PIOkfksmA_Hs5vYf_vTY03LzrZAsEpSr5lo,1080
293
299
  opentrons/protocol_engine/error_recovery_policy.py,sha256=ejsIywnz9DMv_XK-mo58PynW34sSDgnziPAw2g5m9G8,2873
294
300
  opentrons/protocol_engine/labware_offset_standardization.py,sha256=iqU-A2p6YK4XXMst2HWuM8ih-HnxN6BvqijOexw_BDw,7916
295
301
  opentrons/protocol_engine/plugins.py,sha256=pSEzpItf4RVO2NwoGSbDpmNtO0B0-G2W0g2sIzdyjkI,3449
296
- opentrons/protocol_engine/protocol_engine.py,sha256=R4NX3sjK7KJ5Vbt1TYmyUxksJqnyZvriET0br8I4XDo,30624
297
- opentrons/protocol_engine/slot_standardization.py,sha256=1YjzQSLHrVPeoTDDN9evu9kbJKCpQzLHT2-C3uINwoU,4004
298
- opentrons/protocol_engine/actions/__init__.py,sha256=UgDYgKbxhuojt3XC0Zf-8GNkRHFRPjwE4I1g58nenU8,1607
302
+ opentrons/protocol_engine/protocol_engine.py,sha256=VWN2VlhGxDKU0mQe-uokZOYMicN9Q1E7Fb7pVHExkUk,33524
303
+ opentrons/protocol_engine/slot_standardization.py,sha256=fpEidJA5YLW5jCIEM6D8DiIc98R8GJZMa-bHcrWUlCk,4074
304
+ opentrons/protocol_engine/actions/__init__.py,sha256=p4Qh9ggYT2_bJbtUDCCxtYhJhK0LTddF4bMCeHqGo8U,1667
299
305
  opentrons/protocol_engine/actions/action_dispatcher.py,sha256=CiJG8djKxyjZZX_T7lhPZnEuLXV1yE41ZnvzsmCHoLU,944
300
306
  opentrons/protocol_engine/actions/action_handler.py,sha256=N907GFwLJc0OMiQFGa7Bz8RAgWtfeipN286QSwEZ1iA,341
301
- opentrons/protocol_engine/actions/actions.py,sha256=8iPEckqfc6eVKRClz-mC46J36-C8Zk1U_hI2Oe9Hb3A,8363
307
+ opentrons/protocol_engine/actions/actions.py,sha256=IdpOkZ0SyS_ZiK_1NHntE69f4yzx0XNe_zecA6yWjAE,8651
302
308
  opentrons/protocol_engine/actions/get_state_update.py,sha256=tsnfhZDFHWER6y6UV57LlaYrnxYJnASBsfQ55fdGh5g,1128
303
309
  opentrons/protocol_engine/clients/__init__.py,sha256=ILmfVL5SOkWzRpL2XXh0Q0MizOj7E2i-WObVuIsWAQE,161
304
310
  opentrons/protocol_engine/clients/sync_client.py,sha256=UfUXN_yU3m2yD-NecdWHyP3JruNkjxwrIlrUfkuPFbs,6912
305
311
  opentrons/protocol_engine/clients/transports.py,sha256=QejmtG5TjgOLUXpNhOzor_q-7MFI1qNfsguwkzY6Rxc,7177
306
- opentrons/protocol_engine/commands/__init__.py,sha256=td6JjEYr5RD8ZsywItLp8V4S_s5i8q2T2PuA56qbAio,19111
312
+ opentrons/protocol_engine/commands/__init__.py,sha256=0RzukdT-cYTbDjx1ZSeVzF-42facgtGZOzWKGUEoaBY,19426
307
313
  opentrons/protocol_engine/commands/air_gap_in_place.py,sha256=3O0FnIRgiEYtW1_LjBKElL7iSP5iBQUnNi7tNUlLnyg,5444
308
314
  opentrons/protocol_engine/commands/aspirate.py,sha256=DmUHHWQ1NYUv19bjR-o4CawWaNt0eQomlISWG_YI2FQ,7977
309
315
  opentrons/protocol_engine/commands/aspirate_in_place.py,sha256=ZHvq8zcgAhDRScwFxCAySSnW0FCtOElSypcSUMom-3k,6587
310
- opentrons/protocol_engine/commands/aspirate_while_tracking.py,sha256=d8-UBiXmBZ11SHdoj-uNKTUMwVtuGMhYfcM9pNqzhA0,7281
316
+ opentrons/protocol_engine/commands/aspirate_while_tracking.py,sha256=bMUcgY3Xv9f3HWoi3JAMiE8tvFgu3h1JAXCroE0Xa9c,9083
311
317
  opentrons/protocol_engine/commands/blow_out.py,sha256=3gboq4x5S8fq7j4ZZGNClXFDlOjcdW1v2g58GPdhaPI,4338
312
318
  opentrons/protocol_engine/commands/blow_out_in_place.py,sha256=jm2XXyJfIP9-AAFwXhD59_13nX18-i6QqpLGb-lK7sI,3391
313
- opentrons/protocol_engine/commands/command.py,sha256=EYYm1HUhy5HM-sgyUwu97EHIW8C4L2XOktFwLVQhric,10194
314
- opentrons/protocol_engine/commands/command_unions.py,sha256=9FeTkjNtY8zgXllMzvRXHtW3-7tlKBvpt0Ob4MUAsn8,28813
319
+ opentrons/protocol_engine/commands/capture_image.py,sha256=z2FngPAT345FH7-vPQZv-HwUqRMvF6yopJ-8WmAUcFE,10928
320
+ opentrons/protocol_engine/commands/command.py,sha256=6VHLpr5bYdfFUwD6xjbS-g8pYAH5lsyOCfwKUbXlcQ0,10245
321
+ opentrons/protocol_engine/commands/command_unions.py,sha256=ppo_4eoG6N1anzSv4m95Kh3ICmYFzgZNI2ZlAoP0LMc,29091
315
322
  opentrons/protocol_engine/commands/comment.py,sha256=-6o07x-MZ6-IvZas84OVFmqF0gAbbKWJZIlGVYThCqM,1638
316
323
  opentrons/protocol_engine/commands/configure_for_volume.py,sha256=wLt7-zJfKrRZhz9E0J9Xu_eayDMVPl8utdUYDMwgzFw,3615
317
324
  opentrons/protocol_engine/commands/configure_nozzle_layout.py,sha256=M_s5Ee03a7sSnbvkibDHzEqZwkca0y8J7F60EnSEq7A,3849
@@ -319,7 +326,7 @@ opentrons/protocol_engine/commands/create_timer.py,sha256=xK2uxexIbIN6gCjci1P7Wb
319
326
  opentrons/protocol_engine/commands/custom.py,sha256=vOJc7QSNnYTpLvJm98OfDKjgcvVFRZs1eEKEd9WkPN0,2157
320
327
  opentrons/protocol_engine/commands/dispense.py,sha256=dEx24qS1Rhrc5-g_HwuLVqUeNZxpSjevqKX_josj60U,6501
321
328
  opentrons/protocol_engine/commands/dispense_in_place.py,sha256=gcj0HXUkPrU3Qz_DbWzP3XZHuB8tXSMTo9CFoGi25lw,6263
322
- opentrons/protocol_engine/commands/dispense_while_tracking.py,sha256=vn0nw5D4ggpTEwarConFPHUVI4gNShehs5v1U5Kn9sY,6644
329
+ opentrons/protocol_engine/commands/dispense_while_tracking.py,sha256=rxg7jUgihS931NWJy7YuauyttUmS-0a5wrOWc-bBeFk,8493
323
330
  opentrons/protocol_engine/commands/drop_tip.py,sha256=LpgwnsaHYPCHqewI2mHs9fWFCvhhVgzkPMlCk155Ja0,9077
324
331
  opentrons/protocol_engine/commands/drop_tip_in_place.py,sha256=88dPdt48hnURavIE46E7Zaxv-h9YN5Bq8XczCwHlW_I,7262
325
332
  opentrons/protocol_engine/commands/generate_command_schema.py,sha256=e88q7DCxjEM1xSrnXV8jBdo6AgMc15_W8cC-i-ESvy0,2312
@@ -337,15 +344,15 @@ opentrons/protocol_engine/commands/load_liquid.py,sha256=KSS3Ps4PDdSrqHTStbioQP7
337
344
  opentrons/protocol_engine/commands/load_liquid_class.py,sha256=NTm7kyvlZNSItWj3RTnQg7JkyPcPNvWhysUo3s4sMg4,4944
338
345
  opentrons/protocol_engine/commands/load_module.py,sha256=VXCmfLBhc11kr0OsRjua5IGdvuguKlueO3JrwupyATs,8262
339
346
  opentrons/protocol_engine/commands/load_pipette.py,sha256=f4vrtr9LlfSBx5_UBP-F7mNGCCIibqsFqLZIAfzSt7E,6016
340
- opentrons/protocol_engine/commands/move_labware.py,sha256=dgONJ2btny0eFvEgiMad3k8GAb-8A-m29gypZxa8_2A,22413
347
+ opentrons/protocol_engine/commands/move_labware.py,sha256=qkrjCR4cGFp_grwkJXQIkE6ZpWwT2D5rn0pJGvvNxro,22440
341
348
  opentrons/protocol_engine/commands/move_relative.py,sha256=EczlVmwUvQc-bPpcXMW-fmH8PpPxdLxAVGdrWddiHvc,3057
342
349
  opentrons/protocol_engine/commands/move_to_addressable_area.py,sha256=JtHftnSjbLpTJUrVP44D2kTUr8Bcq8Le4p1IziNFp3c,6453
343
- opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py,sha256=aVbxdVwCqhZxOn9ByAseqgaOl5TUd42bcyBMbuQu-8Q,7479
350
+ opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py,sha256=eO1I5APzo1sT7hENci6a8tBrNmaxKpL7yzm0BfxSrKo,7479
344
351
  opentrons/protocol_engine/commands/move_to_coordinates.py,sha256=2qZliN1ZLdgNDiGdaTafgKB2gxvHCpMbvX01kJ-kQuM,3179
345
352
  opentrons/protocol_engine/commands/move_to_well.py,sha256=9Kj8P1Pedlcr4DwRoDpv1SeMCnEodOidBYzeAtAYQaA,3569
346
- opentrons/protocol_engine/commands/movement_common.py,sha256=cSdMMI0akNgq3bONxdWmoEb8cb7TpqLqjwK1z7YPfAA,12096
353
+ opentrons/protocol_engine/commands/movement_common.py,sha256=Vh_LqJhJ0dVB2U7Ix3FfbGGCq3C38nLZPP-1WbCVPAY,13136
347
354
  opentrons/protocol_engine/commands/pick_up_tip.py,sha256=IZNoLjvVv5K0iYrDb8KV-tzlBXTbV2Q3bWkcG-RlR6k,8602
348
- opentrons/protocol_engine/commands/pipetting_common.py,sha256=ZjSX9N0cgde44mBorK07c3o-Ltlj0ywCyIKWXYcSgWk,15363
355
+ opentrons/protocol_engine/commands/pipetting_common.py,sha256=4lND3EkqMBo7kUgqilNEEX9o_OGqSP0YPa0_esM5ru8,16966
349
356
  opentrons/protocol_engine/commands/prepare_to_aspirate.py,sha256=qs1GtVfzyk_Lzv8g6K8GIZg4NwwH4Uop9_df6YFsBDA,3559
350
357
  opentrons/protocol_engine/commands/pressure_dispense.py,sha256=mGCJDFKwy6MPHg-AOttDg9TffHmp-eM_1y6x8CaErJE,4711
351
358
  opentrons/protocol_engine/commands/reload_labware.py,sha256=eB1X7M9rHso1qc0beBTVHm5SHbjS6IODsIDj9RhR3mI,2910
@@ -366,18 +373,18 @@ opentrons/protocol_engine/commands/absorbance_reader/close_lid.py,sha256=WbmBtOu
366
373
  opentrons/protocol_engine/commands/absorbance_reader/common.py,sha256=l3rA3Ksu-Ft7MWcqaCO-oE7Ng35fSxrudZHxg9_YlEE,275
367
374
  opentrons/protocol_engine/commands/absorbance_reader/initialize.py,sha256=XzUyZ7tEUw_TNqrzzU4GorV6rY7w16WzRgpk-Ylkpuk,5878
368
375
  opentrons/protocol_engine/commands/absorbance_reader/open_lid.py,sha256=OgYrk_XxKO8KcUCwtDQGuJlXVrmr814kemte3IVAL_8,5091
369
- opentrons/protocol_engine/commands/absorbance_reader/read.py,sha256=5nTs1z1_Wuslx6Rm1XYYm_zZs1fVQii_FUSaVxB6eZY,9333
376
+ opentrons/protocol_engine/commands/absorbance_reader/read.py,sha256=pLuhqrib38elMP9ms_Dn9tcUasbc-YoLfo-bxfDRQT8,9281
370
377
  opentrons/protocol_engine/commands/calibration/__init__.py,sha256=JjNnULLBM3j8VtpfHOvH51em9jVLR_ezyrUJUWqxuYI,1611
371
378
  opentrons/protocol_engine/commands/calibration/calibrate_gripper.py,sha256=b9NM4Qj8w1z1Hh6iiH11JDklvUEF-MkMP5FfEz5091g,5831
372
379
  opentrons/protocol_engine/commands/calibration/calibrate_module.py,sha256=5QZ5zL2bq-3dozuI6YsxiTR337lSb5MWho8hIC7D680,4171
373
380
  opentrons/protocol_engine/commands/calibration/calibrate_pipette.py,sha256=YMH2MJ7RI0Nf7xjoXJLPlCuMCs5_Stj8zLj-oHcfnDk,3278
374
381
  opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py,sha256=Y5UI4zcnhhVdfQOYh1N07jkBiVChD0kS_H_ow7_qiCA,5311
375
382
  opentrons/protocol_engine/commands/flex_stacker/__init__.py,sha256=IJLskKdZZOGUA1eOm2e3fiP1C9GyTdbTS6uY6Hc4nUk,1369
376
- opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=QHBtKawQxWssm6nSmtIpuJCH6BFlT54k4XQTBNSU8mY,35249
383
+ opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=_JU3ypDPaz2R-vZEC6GL9MIBaYVIkU4iF3p-58JotIs,36519
377
384
  opentrons/protocol_engine/commands/flex_stacker/empty.py,sha256=1R0AwQtLn_wfuFH0Og2yAngJU8T_XLqf0a__9CqZQy0,11492
378
385
  opentrons/protocol_engine/commands/flex_stacker/fill.py,sha256=3qhAQxJfaSp4EAFGIUotkrJVuOvdFrwzmkMCa2v6khA,10866
379
386
  opentrons/protocol_engine/commands/flex_stacker/retrieve.py,sha256=kh9Lh-FW-RrXmV4RS8txmTYPfPDKhQhjW0UXr8k0vhc,12763
380
- opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py,sha256=5VdqCcBdIHmpWqIJN3rCKeZ6IKwfxAdQTXMTD-KL-5w,12484
387
+ opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py,sha256=j0DEAgp0MedMavGBi3dq-pg0fcUjCxBMbUAEQ8sORfQ,12740
381
388
  opentrons/protocol_engine/commands/flex_stacker/store.py,sha256=Ed49qEUc16wo643PztZLYNPhVuLNZbx0lALSvpRYwDk,13632
382
389
  opentrons/protocol_engine/commands/heater_shaker/__init__.py,sha256=r3s1b-yr_Rf9pKpcSJca5QQj_Z77EACczA0pNLvRAJE,3082
383
390
  opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py,sha256=Q7sqFtzUD8wclRLL2PLWjnClIeLtJsiMCobStvzoJKc,2847
@@ -386,8 +393,8 @@ opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py,sha256=UYe
386
393
  opentrons/protocol_engine/commands/heater_shaker/deactivate_shaker.py,sha256=IikGCkd9m8pyur0Vs6xzihVHBVn_QuoW9NckocPq8Mo,2894
387
394
  opentrons/protocol_engine/commands/heater_shaker/open_labware_latch.py,sha256=Us3lcfNPdezUO66CiWnrloUJMHwVA0gXATBcWZ6Mohw,3892
388
395
  opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py,sha256=ZsP6qlvY_PrigPtwLAx3iO7NS9rXH01_5W7d9MTMyyY,4472
389
- opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py,sha256=M4GA0v3UYD8-blN1NijgGu7HnoWsrchUhNof3szHu3s,4780
390
- opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py,sha256=gBuIDToKtZTAB6JQfHL_8qAmIyqkCkAiAaCGHib07Do,4219
396
+ opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py,sha256=MXsYYogKNwKthrST8355DHMjU3U0CPu3_3dnnK4c3h0,4791
397
+ opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py,sha256=JfqbpeTblh8ssFkQgsGKZj48orzXWTyqvgKlRcpdNGU,4229
391
398
  opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py,sha256=9rnJtqhLGABdmkkHhlykC_Hk56qp0eGGGyyZto-ykZk,3743
392
399
  opentrons/protocol_engine/commands/magnetic_module/__init__.py,sha256=Y9RCovlGHc1unTllpbjcib1Y1qvzSYuV9EeAMzaHyeI,586
393
400
  opentrons/protocol_engine/commands/magnetic_module/disengage.py,sha256=yS4vXR_ajLpuk8TDGtTcnL5TvkJG7KRf1G113EyPQdk,3181
@@ -410,9 +417,9 @@ opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py,sha256=I1nKZpm
410
417
  opentrons/protocol_engine/commands/thermocycler/open_lid.py,sha256=Aw29xFLL92xBV107gwmEfcdl1VpkLWQq5PDAzqHl34I,2900
411
418
  opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py,sha256=47aoCSP3GGljujIAizEf59fskpw27YYz_i5OI3xk3OA,6042
412
419
  opentrons/protocol_engine/commands/thermocycler/run_profile.py,sha256=Zuh3WICR4fQsr34NPFI_nwnNTFlN1fcBheb_YbQ2TY8,4504
413
- opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py,sha256=Xfr86yG_EDzQ-bfNBs_kUYIqajEqfVyNNtp2d4LuQ3k,6203
414
- opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py,sha256=fjuoWFff1ALNyZ-Ld4iq4Wx1BNUEw2_QJIJIVGNdcOc,4318
415
- opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py,sha256=0q_xV3P8QivNO0kasS65DHzamSkuTiRJ6J6tJUtUzj8,6540
420
+ opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py,sha256=R5gTDiEh8dfLM4BrxJr1FepayWU0Z-YEy8R21jFJ4Bc,6391
421
+ opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py,sha256=cwVEW74ZMICfBNQCgtzy_7NUNkpw_Kb8yg0AJrjHZ4E,4513
422
+ opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py,sha256=MnTujm-cRnC0nKvkpAWtMo45lwtXcybefJgeItku3CQ,6551
416
423
  opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py,sha256=Wc8NQBIOcSl5nwsts6KlUfJXHcvXnSF1td_olzqJGec,3101
417
424
  opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py,sha256=KZHt1dUWPrWUk_d0hl0TiAQhfaVdc_YZcxyMcZ0FLq8,2971
418
425
  opentrons/protocol_engine/commands/unsafe/__init__.py,sha256=k6GnVD4gkCKIpU9T-F4bt-zaTVjJ9snWwActT49znu8,5224
@@ -426,21 +433,21 @@ opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py,sha256=5f
426
433
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py,sha256=pbtr056EiB8byHIdEre7Th1pAXInXCDBzV19im_51ck,4446
427
434
  opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py,sha256=9Sjx92JZhi-tRY1P77M--jJp4JzIGESXUakIpstESwQ,2461
428
435
  opentrons/protocol_engine/commands/unsafe/update_position_estimators.py,sha256=xLe3u3rYu1eOvWxDtA2xsvNy7H6TVtljqo-78nOtFLI,2994
429
- opentrons/protocol_engine/errors/__init__.py,sha256=X-RW6sCQqCKTUH4D4rJwcmVSsGHuwlRGnj7KWw5TRLk,6210
436
+ opentrons/protocol_engine/errors/__init__.py,sha256=S3JMMqRTT4f36RwwVhyg-Kcqu1M2BCA-XyWNq8lqN4k,6432
430
437
  opentrons/protocol_engine/errors/error_occurrence.py,sha256=ODyXHxVO4iXDxpcLaC3uO7ocTOOGPqWwcC1uaiytv0c,7846
431
- opentrons/protocol_engine/errors/exceptions.py,sha256=o_dYxIGNOHGhAVmm8H8Ny1zE74YEIu_RvxQJEkGGQaQ,47868
432
- opentrons/protocol_engine/execution/__init__.py,sha256=eE_XlX5YlqJ0yEPmrUEwt4EmLZhz_z9PbixCKy3Zq6Y,1441
433
- opentrons/protocol_engine/execution/command_executor.py,sha256=UjYmLJPgVujnbAqQf_-yqNFQXyT1jaT5gobY1is_nic,8531
434
- opentrons/protocol_engine/execution/create_queue_worker.py,sha256=DCRre1X-RJUiZQNy-cKpmVCu707REjjHAUiBcoXgSyI,3551
438
+ opentrons/protocol_engine/errors/exceptions.py,sha256=TawUeV_qaIPf-U0Rfihnxfz6a4_3Zt7f4klMZyXNl9A,50065
439
+ opentrons/protocol_engine/execution/__init__.py,sha256=9R8ux152aTGKDoZ3x7KyisQAOj6MIZOtrPQmPNIOjKY,1518
440
+ opentrons/protocol_engine/execution/command_executor.py,sha256=JyedeIiZP5t-uSUata8vDS0AYx7hUHBNk1oqzgh23yo,11129
441
+ opentrons/protocol_engine/execution/create_queue_worker.py,sha256=JqbMIT7nqwgKdRs86GL5LoA6cC42G3IT_eqOZYVEIhg,3740
435
442
  opentrons/protocol_engine/execution/door_watcher.py,sha256=C1CojQj_ddNAC5rS8YMZZbJtfmz2K9zYqllWTg5NKgU,4634
436
443
  opentrons/protocol_engine/execution/equipment.py,sha256=Jbg9ZR7vTw3i3WDy0xNe9J5idFuXkdxPSzfWaYH2DyI,30046
437
444
  opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.py,sha256=tLhMbYOetXSSWF8B6wCL4ksxvs71IGqJD6syMbB9A1E,4352
438
445
  opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEyJIXV0tHkc4UWDDjWFCClYo,26477
439
446
  opentrons/protocol_engine/execution/hardware_stopper.py,sha256=ZlhVYEdFfuKqp5slZBkustXcRPy5fJsw2rmfYzHuJkQ,6127
440
447
  opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py,sha256=BSFLzSSeELAYZCrCUfJZx5DdlrwU06Ur92TYd0T-hzM,9084
441
- opentrons/protocol_engine/execution/labware_movement.py,sha256=N1_zcak0Tb8ZO_c8eqz45gWC5ugryOT61Cp3qLLAOAE,12446
448
+ opentrons/protocol_engine/execution/labware_movement.py,sha256=RJMkWHGvoKc0GXjEZ2ZXWo1v9cvPlmbEdFBs0szROfo,12965
442
449
  opentrons/protocol_engine/execution/movement.py,sha256=NJUs1mtC8R8qR1x2RVTI3q9hyVuLkvCvIM1SnD8sPH0,12899
443
- opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
450
+ opentrons/protocol_engine/execution/pipetting.py,sha256=4E-s8_UUEYlkuNwS316yqSihHUeh25rGB0ztRpUqpgs,21756
444
451
  opentrons/protocol_engine/execution/queue_worker.py,sha256=2cfyplUWdPyxxLbH3H8TbtB9Fvjx__ASluiJXyJBoqU,3537
445
452
  opentrons/protocol_engine/execution/rail_lights.py,sha256=eiJT6oI_kFk7rFuFkZzISZiLNnpf7Kkh86Kyk9wQ_Jo,590
446
453
  opentrons/protocol_engine/execution/run_control.py,sha256=Wn3FGuBZrYddf7Dzcz5v1hHF0DbzRxCykl6vs15BZP0,1450
@@ -451,11 +458,12 @@ opentrons/protocol_engine/execution/thermocycler_plate_lifter.py,sha256=j33nYV8r
451
458
  opentrons/protocol_engine/execution/tip_handler.py,sha256=Ouunj3KVqz-UMbkjFIbJJr2zpfgcUht_r4_60uHEx3M,19731
452
459
  opentrons/protocol_engine/notes/__init__.py,sha256=G0bIQswsov7MrJU0ArrOaWcOTxJU9BCUmNR3LRoNg-Q,311
453
460
  opentrons/protocol_engine/notes/notes.py,sha256=A5C9xHExlS9GAK7o_mYiKJgibBm6EEgHQ4PJor0IET0,1993
454
- opentrons/protocol_engine/resources/__init__.py,sha256=_6yjqFYkTvmyRvLQJyNXoae5pK-qUVtYBMmk2bPH3jk,886
461
+ opentrons/protocol_engine/resources/__init__.py,sha256=URDW9VirxadLU6tPOQ4-MCDvQBE3nGCnkKzdAJVicyo,952
462
+ opentrons/protocol_engine/resources/camera_provider.py,sha256=UVoGudhS7mMMG6u_ALYVQmeUrPdlCamnNKlfX8Dg3rM,4795
455
463
  opentrons/protocol_engine/resources/concurrency_provider.py,sha256=iEi1jOaOTQAFTKSkGex0GRMihKvouftbxuDH8GdVRkI,941
456
464
  opentrons/protocol_engine/resources/deck_configuration_provider.py,sha256=8gA5gHaXbTf03-60QSg5qsBHrAIcfvNSaOTcyJJw9EA,9712
457
465
  opentrons/protocol_engine/resources/deck_data_provider.py,sha256=63c-Hmwy5IbVSoAL3hYoZxizxwzCqbB2KgJptpLX3Bc,3001
458
- opentrons/protocol_engine/resources/file_provider.py,sha256=6btMCDN7NsyFlV7Icy5vDO7xsgbmtkeAM_KCuQ-GvRo,5903
466
+ opentrons/protocol_engine/resources/file_provider.py,sha256=VcOOOopzQbibgUhEqKwF27H78sXIvgp94YmQAw7xdDk,7026
459
467
  opentrons/protocol_engine/resources/fixture_validation.py,sha256=WyGjMjc-DGiNTojesXdwFfCyF3KYl7R2jmEk7teLyxQ,2166
460
468
  opentrons/protocol_engine/resources/labware_data_provider.py,sha256=i0otj_dACWHK23mBGjXGwTJtE4sooov2_YQOMIulzJo,3836
461
469
  opentrons/protocol_engine/resources/labware_validation.py,sha256=xoABKcP0x-O70e2bA8720LzQCBrHBiUWOsfZD2ro9zQ,2858
@@ -469,27 +477,29 @@ opentrons/protocol_engine/state/_axis_aligned_bounding_box.py,sha256=W_fkz7vUrtW
469
477
  opentrons/protocol_engine/state/_move_types.py,sha256=STLssWsXMY92F_asAQrixv10A6QsCkHYAvKQs0igTGE,2230
470
478
  opentrons/protocol_engine/state/_well_math.py,sha256=iL-1SfX-Lp3G7KImeo6FhOQfpPAYl1BADXTXv4WqbJI,10904
471
479
  opentrons/protocol_engine/state/addressable_areas.py,sha256=oY284H3_yiHACjAxT_CIG-Ure9mKdI71UHXoEL9QDS8,28937
480
+ opentrons/protocol_engine/state/camera.py,sha256=rFd40A6z3k8Kq49v7dTU2ewFUOwwJ77fZKtULv60MVw,2009
472
481
  opentrons/protocol_engine/state/command_history.py,sha256=cz3Nllk045OpK6r9m4ByZr2hcCYo4pTy-2uoIZtV5XE,12241
473
- opentrons/protocol_engine/state/commands.py,sha256=2kjNH-pXgJYt3QrSN6V0fJ0sG-WRrJvdD374kDpDa8k,45753
482
+ opentrons/protocol_engine/state/commands.py,sha256=Cz2YVXAA-jPnYf_DzWiFJXeKc4BlL1MeUQScdoRnZak,47168
474
483
  opentrons/protocol_engine/state/config.py,sha256=7jSGxC6Vqj1eA8fqZ2I3zjlxVXg8pxvcBYMztRIx9Mg,1515
475
484
  opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3dwtisJ-9j8E,1753
476
485
  opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
477
- opentrons/protocol_engine/state/geometry.py,sha256=pDw9IsupW7ub34OR23GmgIDYOiymHguFn03UCNZW3iQ,98181
486
+ opentrons/protocol_engine/state/geometry.py,sha256=aY9MzymJbDLiZLYzrsMgOw8M_sBTXfNSh_FRu2U7GXc,100530
478
487
  opentrons/protocol_engine/state/inner_well_math_utils.py,sha256=UhemsPpcuKwVc-iGXI2-v--miOGNunAnAVznJTVADlQ,20598
479
- opentrons/protocol_engine/state/labware.py,sha256=3pQQtwaaGEszjjEKBjLmYxHS5x0WtP89cKiO9NnznfA,61324
488
+ opentrons/protocol_engine/state/labware.py,sha256=y-vZnirUS84RatzUu960CsbGb2lW9fYvrMdLeUF9qSY,61541
480
489
  opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
481
490
  opentrons/protocol_engine/state/liquids.py,sha256=NoesktcQdJUjIVmet1uqqJPf-rzbo4SGemXwQC295W0,2338
482
- opentrons/protocol_engine/state/modules.py,sha256=oble199Vz29tTB7MGbGXKGY-gAYveKiU0AU0uhJSN9o,62572
491
+ opentrons/protocol_engine/state/modules.py,sha256=rL_Xm7vNQrYsa6F3VYUJZVrehMfAnwvf0wXPyPH19PU,63087
483
492
  opentrons/protocol_engine/state/motion.py,sha256=lEBwAeaIYNH38226IWy68m-EPhZvqq-wvQQhGVDCwLo,16983
484
493
  opentrons/protocol_engine/state/pipettes.py,sha256=Q-aDiVvOVvUXq930vvMvAWhK7aZ06-8FLZB6jO95dwQ,38531
485
- opentrons/protocol_engine/state/state.py,sha256=imnlchJA-DKkhsl6rU3mHN5AaGlWuYYEXGXEMf2NlDY,16068
486
- opentrons/protocol_engine/state/state_summary.py,sha256=e5ri08ISGWyXdpFYtsDJ-vhJsktCfnIZrwpU7johqOQ,1256
494
+ opentrons/protocol_engine/state/preconditions.py,sha256=Qvv2Mnwdw2SzkVkfV1vcXNT-M9mbnITBPq9qkhZAa2o,2198
495
+ opentrons/protocol_engine/state/state.py,sha256=-Lrag0Az9eh9A4xUcv1qE2sqC6ZX3nXnoElk2a3hZuI,17193
496
+ opentrons/protocol_engine/state/state_summary.py,sha256=har82LKK8RrlE-c1HGNNjCl4J5VxAjcenR5kbLrFvb8,1363
487
497
  opentrons/protocol_engine/state/tasks.py,sha256=Lo5gI7Uh7OoXQHTFA05BS3E4neJVH9U21gP3l-uOZxE,4899
488
498
  opentrons/protocol_engine/state/tips.py,sha256=yGTawyNgUbBBiigjcRvd06seWQvgg4vpr2osUGTuTdM,14439
489
- opentrons/protocol_engine/state/update_types.py,sha256=WdDYNLR2PfqbNyLOiute4P71_66SAopwL2CU66ASR4g,28569
499
+ opentrons/protocol_engine/state/update_types.py,sha256=EV-FBp5rGEAVxCsby_Y6w4eMvwgOQ9iN5M0e6C6mTXE,28827
490
500
  opentrons/protocol_engine/state/wells.py,sha256=rCFiyS8EOgvmsrFr2pHU3SY79ZRkZg_nhFfoH1pMjb0,10996
491
501
  opentrons/protocol_engine/state/labware_origin_math/errors.py,sha256=K6FPIwSG0QzDpfQXEjBh_UWgpwMZvUZd8L4xbWrBXME,3211
492
- opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py,sha256=2xpr8mIkoU69eMwQkq3Kc0Des-cfB1FLWKJoJL-EnDs,53718
502
+ opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py,sha256=J_NUKME0Z5eBtjnexWrCsCcHfP0baK1FqO4O-itiGmk,53958
493
503
  opentrons/protocol_engine/state/module_substates/__init__.py,sha256=7OIzc7Zzm-7WRys6M90ZzJ7BZhivuZ1BHJ35TdOPasE,1377
494
504
  opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py,sha256=jiD8WqFEafGnka5n46vJ_qhS8Ofh--hTxuBWXk8eefE,1431
495
505
  opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py,sha256=bPpyrybFfzVPueMDoXtT9bXC-1k5nVwDuOG15-2krA0,4324
@@ -498,9 +508,10 @@ opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py,sha2
498
508
  opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py,sha256=IJ5zpufz5WSRbJqHOAi-WroDxpsRZz-GvwznIL4v7VQ,2468
499
509
  opentrons/protocol_engine/state/module_substates/temperature_module_substate.py,sha256=w9h6EBM1YY8SeUOlUz5-nW1Zoyce8-zua8Z6mX4sDNg,2310
500
510
  opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py,sha256=oc-x6oUemD4ybXhCt5Bc7lWoB7hI7LggzpiyZXgI4ek,6442
501
- opentrons/protocol_engine/types/__init__.py,sha256=Xhjucxob68I0AF5Refy3yQZkoMGDNET7mbNiYKQ9AGo,8516
511
+ opentrons/protocol_engine/types/__init__.py,sha256=CzMeOud1020Ek04AagP2OJZZeY1_GCQIvFwVzK8ET8o,8914
502
512
  opentrons/protocol_engine/types/automatic_tip_selection.py,sha256=I_B3iWei1Sl7F7IrMKqOn4S12heZXRnfKvtCTUXIMyM,1118
503
513
  opentrons/protocol_engine/types/command_annotations.py,sha256=5A4k_R_4A2_nGl0K85SKwNlnKA09fUhEIe_mdU55yro,1843
514
+ opentrons/protocol_engine/types/command_preconditions.py,sha256=kcgKahRQ-YqZql-UyE_Boe-oJvzA8lcLHHwobXjYbD4,528
504
515
  opentrons/protocol_engine/types/deck_configuration.py,sha256=xqP5vWM1UjE2saaEFkR3a5RVJH2S9O6HPu-CUHZV_MA,2489
505
516
  opentrons/protocol_engine/types/execution.py,sha256=6g_NvlF4niXjFQwDjkmTgKx-N6I8ypAc_DYEI9RP-IU,3719
506
517
  opentrons/protocol_engine/types/hardware_passthrough.py,sha256=tpTE3XHbRjXWQqY0rgosIfcOAGHqMkOpIU3IpIXgdAA,534
@@ -514,8 +525,8 @@ opentrons/protocol_engine/types/liquid.py,sha256=6Ec0fC0SEN3jKHYeFSwbQxdEAj5hxDP
514
525
  opentrons/protocol_engine/types/liquid_class.py,sha256=SF5WS3s38S87efUqawRGSIYqjhwa4pNx7fB1xdiGHl0,2384
515
526
  opentrons/protocol_engine/types/liquid_handling.py,sha256=Xx1GihrNRJJdJJA5zIwWvIYNydbSXAHjSUAliF18Iu0,319
516
527
  opentrons/protocol_engine/types/liquid_level_detection.py,sha256=hdSztrZcexko7p4lEkC8YuKlepv3j6ovKhMeQZuUHcg,6348
517
- opentrons/protocol_engine/types/location.py,sha256=qIYBs86RO1ws2aXStmdx0CqEVNF9enlj-ACknf75nSs,5707
518
- opentrons/protocol_engine/types/module.py,sha256=EwF-eQS31DttyLRc_uNbIsVx8glsqwOkmlED0rtE038,10033
528
+ opentrons/protocol_engine/types/location.py,sha256=JiewV0vqtH2vjWqGLQskSzDMCc1JuYN0KsKb1DFIKMI,6423
529
+ opentrons/protocol_engine/types/module.py,sha256=zMRwCv-y6qFiSkp38Lu9_tic86ec8VknsKSFclm66ks,10033
519
530
  opentrons/protocol_engine/types/partial_tip_configuration.py,sha256=4RMtHOAX-dgpXWA737tthj_izTBnhKphBcA24LAKmhI,2760
520
531
  opentrons/protocol_engine/types/run_time_parameters.py,sha256=5gH4GmGK7e3OkSClftZT6VA4wXELIvEMgpmQ__waceU,4468
521
532
  opentrons/protocol_engine/types/tasks.py,sha256=2E7jdMuq7uknAylRI6uC_jwZYbdrqPlUc4PfmIkXo1A,715
@@ -539,9 +550,9 @@ opentrons/protocol_runner/json_file_reader.py,sha256=dE9ujq3sWyKF1yFg0AN8h-roGVf
539
550
  opentrons/protocol_runner/json_translator.py,sha256=lrDzHOOkQ19ac4KEdUbfEOnfx-F_QCO-6oGqQZegy4g,12134
540
551
  opentrons/protocol_runner/legacy_command_mapper.py,sha256=yUCfnp4sNawFikrujyPo27Ba_aOy-kr-9F3dOK6Zu9Q,37125
541
552
  opentrons/protocol_runner/legacy_context_plugin.py,sha256=G_qpeyaLvsCjb72_n96Luy8CPSfgPZpt0QKVzKc6LKY,4730
542
- opentrons/protocol_runner/protocol_runner.py,sha256=YUHZvttojkYghq82IWYWvTfN2kUZ1oZdm8Fm4K-zftI,21658
553
+ opentrons/protocol_runner/protocol_runner.py,sha256=yK-A4x4Wue7TBAd3CafrbNYEXdoKx-qGSxyIJeOBdKU,22227
543
554
  opentrons/protocol_runner/python_protocol_wrappers.py,sha256=KEuM4M7rYD4zLjTqK89T47CiBIZJ42kG0JXWarLUq4E,6511
544
- opentrons/protocol_runner/run_orchestrator.py,sha256=uaBWkrSLRxcR2WvWJHGRnAIy3m3bsZTxDW9WLsaG_lA,20768
555
+ opentrons/protocol_runner/run_orchestrator.py,sha256=lOFh5rw4aBa1cIlUnt8p7p8017LZQkhyK-Gs1WOeA-k,22200
545
556
  opentrons/protocol_runner/task_queue.py,sha256=gXvilc3UjCBKDaJFSeIsp_DGoubPSh8RCKKcxXvt-vY,2708
546
557
  opentrons/protocols/__init__.py,sha256=cOUxilkIvdlqGvN4nYJQYr0TGdIWnzxBaTfoz3svmw8,245
547
558
  opentrons/protocols/bundle.py,sha256=QW_2kwnxgdG_nNPl2e110A5ehOH9Ej63-9TBx-F9Yvw,3666
@@ -554,7 +565,7 @@ opentrons/protocols/advanced_control/mix.py,sha256=GobQ9E6F2gARjfhNp2xdyWQXFBSwO
554
565
  opentrons/protocols/advanced_control/transfers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
555
566
  opentrons/protocols/advanced_control/transfers/common.py,sha256=4IRpjvSJ7cvOzjNs6vMAZmiJsajAXBaQ2YXQLIG8Uyk,6799
556
567
  opentrons/protocols/advanced_control/transfers/transfer.py,sha256=-vE1uZq2BqAagSGeiuTxTyL1wT6fza_fwkO_V_OMMFc,37318
557
- opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=wCyAi0nbAWR0qFetRb2w7PYzyaIbpeFkZn9tbcumJgE,10571
568
+ opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=quEfC4roL8KNCOTZdVBKScOBG4-xDNbqVfNUqrRIXjc,10585
558
569
  opentrons/protocols/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
559
570
  opentrons/protocols/api_support/constants.py,sha256=pI_zJ8oORr6FUOaF508ttll3KOIYqRRgcwVFwnqZuqc,262
560
571
  opentrons/protocols/api_support/deck_type.py,sha256=cBxm-IQqFyL1QtYTMGtLXOlyuh-67xWgnJSP6rkg8oc,3942
@@ -591,7 +602,8 @@ opentrons/protocols/parameters/validation.py,sha256=uNwoU3cUlnV5NdvnR6vyxoTNUwos
591
602
  opentrons/resources/smoothie-edge-8414642.hex,sha256=1hiY8t0wTnMSLtIVe_lVhgFR6pdEsh4PEPjv99xbVVA,1035222
592
603
  opentrons/resources/scripts/lpc21isp,sha256=tioSU5T7a9otaalLK91_jTcgmRRXb10JQGfmGO_iKn8,329864
593
604
  opentrons/system/__init__.py,sha256=_0_HR5vwNng4bsxU_gI0KAREkvb1TogdsNmOHR3V71g,307
594
- opentrons/system/camera.py,sha256=-jd1YboaqukXol06kXJMVammylmxcxauCi3hjsAysaA,1730
605
+ opentrons/system/camera.py,sha256=hNftXRlcAaXGLeK9NOWa2P1AuMj1FDNlGysRr8PpUBg,13748
606
+ opentrons/system/ffmpeg.py,sha256=BMSICDtviItldSOPZ8kLMBlK1w-Tyjb8CFnYj7Yzm-I,4086
595
607
  opentrons/system/log_control.py,sha256=4whbd1AFbRJOByQ6bZaiOQ8Dhi3YceBHYzIBStY38Vw,1535
596
608
  opentrons/system/nmcli.py,sha256=OBLIBlP5wwjh-tzO5p2-h7jJ4-1kgI-mCti6NS7589Y,30317
597
609
  opentrons/system/resin.py,sha256=RLX_wKHj2TYxm-YPu4_27YopFkDAhdYMFOqGDdmKGy0,597
@@ -611,8 +623,8 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
611
623
  opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
612
624
  opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
613
625
  opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
614
- opentrons-8.7.0a7.dist-info/METADATA,sha256=vpIwDZky584Xy-uQuZdcio2qz75tn0o3tKX8xtWnfIs,1607
615
- opentrons-8.7.0a7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
616
- opentrons-8.7.0a7.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
617
- opentrons-8.7.0a7.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
618
- opentrons-8.7.0a7.dist-info/RECORD,,
626
+ opentrons-8.8.0a7.dist-info/METADATA,sha256=lGSD5Lc1xtgleVQngABrjaNTduCFHlkeit36g7bKeE4,1607
627
+ opentrons-8.8.0a7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
628
+ opentrons-8.8.0a7.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
629
+ opentrons-8.8.0a7.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
630
+ opentrons-8.8.0a7.dist-info/RECORD,,