opentrons 8.7.0a6__py3-none-any.whl → 8.7.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.

Potentially problematic release.


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

Files changed (144) hide show
  1. opentrons/_version.py +2 -2
  2. opentrons/drivers/asyncio/communication/serial_connection.py +129 -52
  3. opentrons/drivers/heater_shaker/abstract.py +5 -0
  4. opentrons/drivers/heater_shaker/driver.py +10 -0
  5. opentrons/drivers/heater_shaker/simulator.py +4 -0
  6. opentrons/drivers/thermocycler/abstract.py +6 -0
  7. opentrons/drivers/thermocycler/driver.py +61 -10
  8. opentrons/drivers/thermocycler/simulator.py +6 -0
  9. opentrons/hardware_control/api.py +24 -5
  10. opentrons/hardware_control/backends/controller.py +8 -2
  11. opentrons/hardware_control/backends/ot3controller.py +3 -0
  12. opentrons/hardware_control/backends/ot3simulator.py +2 -1
  13. opentrons/hardware_control/backends/simulator.py +2 -1
  14. opentrons/hardware_control/backends/subsystem_manager.py +5 -2
  15. opentrons/hardware_control/emulation/abstract_emulator.py +6 -4
  16. opentrons/hardware_control/emulation/connection_handler.py +8 -5
  17. opentrons/hardware_control/emulation/heater_shaker.py +12 -3
  18. opentrons/hardware_control/emulation/settings.py +1 -1
  19. opentrons/hardware_control/emulation/thermocycler.py +67 -15
  20. opentrons/hardware_control/module_control.py +82 -8
  21. opentrons/hardware_control/modules/__init__.py +3 -0
  22. opentrons/hardware_control/modules/absorbance_reader.py +11 -4
  23. opentrons/hardware_control/modules/flex_stacker.py +38 -9
  24. opentrons/hardware_control/modules/heater_shaker.py +42 -5
  25. opentrons/hardware_control/modules/magdeck.py +8 -4
  26. opentrons/hardware_control/modules/mod_abc.py +13 -5
  27. opentrons/hardware_control/modules/tempdeck.py +25 -5
  28. opentrons/hardware_control/modules/thermocycler.py +68 -11
  29. opentrons/hardware_control/modules/types.py +20 -1
  30. opentrons/hardware_control/modules/utils.py +11 -4
  31. opentrons/hardware_control/nozzle_manager.py +3 -0
  32. opentrons/hardware_control/ot3api.py +26 -5
  33. opentrons/hardware_control/poller.py +22 -8
  34. opentrons/hardware_control/scripts/update_module_fw.py +5 -0
  35. opentrons/hardware_control/types.py +31 -2
  36. opentrons/legacy_commands/module_commands.py +23 -0
  37. opentrons/legacy_commands/protocol_commands.py +20 -0
  38. opentrons/legacy_commands/types.py +80 -0
  39. opentrons/motion_planning/deck_conflict.py +17 -12
  40. opentrons/motion_planning/waypoints.py +15 -29
  41. opentrons/protocol_api/__init__.py +5 -1
  42. opentrons/protocol_api/_types.py +6 -1
  43. opentrons/protocol_api/core/common.py +3 -1
  44. opentrons/protocol_api/core/engine/_default_labware_versions.py +32 -11
  45. opentrons/protocol_api/core/engine/labware.py +8 -1
  46. opentrons/protocol_api/core/engine/module_core.py +75 -8
  47. opentrons/protocol_api/core/engine/protocol.py +18 -1
  48. opentrons/protocol_api/core/engine/tasks.py +48 -0
  49. opentrons/protocol_api/core/engine/well.py +8 -0
  50. opentrons/protocol_api/core/legacy/legacy_module_core.py +24 -4
  51. opentrons/protocol_api/core/legacy/legacy_protocol_core.py +11 -1
  52. opentrons/protocol_api/core/legacy/legacy_well_core.py +4 -0
  53. opentrons/protocol_api/core/legacy/tasks.py +19 -0
  54. opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +14 -2
  55. opentrons/protocol_api/core/legacy_simulator/tasks.py +19 -0
  56. opentrons/protocol_api/core/module.py +37 -4
  57. opentrons/protocol_api/core/protocol.py +11 -2
  58. opentrons/protocol_api/core/tasks.py +31 -0
  59. opentrons/protocol_api/core/well.py +4 -0
  60. opentrons/protocol_api/labware.py +5 -0
  61. opentrons/protocol_api/module_contexts.py +117 -11
  62. opentrons/protocol_api/protocol_context.py +26 -4
  63. opentrons/protocol_api/robot_context.py +38 -21
  64. opentrons/protocol_api/tasks.py +48 -0
  65. opentrons/protocol_api/validation.py +6 -1
  66. opentrons/protocol_engine/actions/__init__.py +4 -2
  67. opentrons/protocol_engine/actions/actions.py +22 -9
  68. opentrons/protocol_engine/clients/sync_client.py +42 -7
  69. opentrons/protocol_engine/commands/__init__.py +42 -0
  70. opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +2 -15
  71. opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +2 -15
  72. opentrons/protocol_engine/commands/aspirate.py +1 -0
  73. opentrons/protocol_engine/commands/command.py +1 -0
  74. opentrons/protocol_engine/commands/command_unions.py +49 -0
  75. opentrons/protocol_engine/commands/create_timer.py +83 -0
  76. opentrons/protocol_engine/commands/dispense.py +1 -0
  77. opentrons/protocol_engine/commands/drop_tip.py +32 -8
  78. opentrons/protocol_engine/commands/heater_shaker/__init__.py +14 -0
  79. opentrons/protocol_engine/commands/heater_shaker/common.py +20 -0
  80. opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py +5 -4
  81. opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py +136 -0
  82. opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +31 -5
  83. opentrons/protocol_engine/commands/movement_common.py +2 -0
  84. opentrons/protocol_engine/commands/pick_up_tip.py +21 -11
  85. opentrons/protocol_engine/commands/set_tip_state.py +97 -0
  86. opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py +38 -7
  87. opentrons/protocol_engine/commands/thermocycler/__init__.py +16 -0
  88. opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +6 -0
  89. opentrons/protocol_engine/commands/thermocycler/run_profile.py +8 -0
  90. opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +40 -6
  91. opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +29 -5
  92. opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py +191 -0
  93. opentrons/protocol_engine/commands/touch_tip.py +1 -1
  94. opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +6 -22
  95. opentrons/protocol_engine/commands/wait_for_tasks.py +98 -0
  96. opentrons/protocol_engine/errors/__init__.py +4 -0
  97. opentrons/protocol_engine/errors/exceptions.py +55 -0
  98. opentrons/protocol_engine/execution/__init__.py +2 -0
  99. opentrons/protocol_engine/execution/command_executor.py +8 -0
  100. opentrons/protocol_engine/execution/create_queue_worker.py +5 -1
  101. opentrons/protocol_engine/execution/labware_movement.py +9 -12
  102. opentrons/protocol_engine/execution/movement.py +2 -0
  103. opentrons/protocol_engine/execution/queue_worker.py +4 -0
  104. opentrons/protocol_engine/execution/run_control.py +8 -0
  105. opentrons/protocol_engine/execution/task_handler.py +157 -0
  106. opentrons/protocol_engine/protocol_engine.py +75 -34
  107. opentrons/protocol_engine/resources/__init__.py +2 -0
  108. opentrons/protocol_engine/resources/concurrency_provider.py +27 -0
  109. opentrons/protocol_engine/resources/deck_configuration_provider.py +7 -0
  110. opentrons/protocol_engine/resources/labware_validation.py +10 -6
  111. opentrons/protocol_engine/state/_well_math.py +60 -18
  112. opentrons/protocol_engine/state/addressable_areas.py +2 -0
  113. opentrons/protocol_engine/state/commands.py +14 -11
  114. opentrons/protocol_engine/state/geometry.py +213 -374
  115. opentrons/protocol_engine/state/labware.py +52 -102
  116. opentrons/protocol_engine/state/labware_origin_math/errors.py +94 -0
  117. opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +1331 -0
  118. opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +37 -0
  119. opentrons/protocol_engine/state/modules.py +21 -8
  120. opentrons/protocol_engine/state/motion.py +44 -0
  121. opentrons/protocol_engine/state/state.py +14 -0
  122. opentrons/protocol_engine/state/state_summary.py +2 -0
  123. opentrons/protocol_engine/state/tasks.py +139 -0
  124. opentrons/protocol_engine/state/tips.py +177 -258
  125. opentrons/protocol_engine/state/update_types.py +16 -9
  126. opentrons/protocol_engine/types/__init__.py +9 -3
  127. opentrons/protocol_engine/types/deck_configuration.py +5 -1
  128. opentrons/protocol_engine/types/instrument.py +8 -1
  129. opentrons/protocol_engine/types/labware.py +1 -13
  130. opentrons/protocol_engine/types/module.py +10 -0
  131. opentrons/protocol_engine/types/tasks.py +38 -0
  132. opentrons/protocol_engine/types/tip.py +9 -0
  133. opentrons/protocol_runner/create_simulating_orchestrator.py +29 -2
  134. opentrons/protocol_runner/run_orchestrator.py +18 -2
  135. opentrons/protocols/api_support/definitions.py +1 -1
  136. opentrons/protocols/api_support/types.py +2 -1
  137. opentrons/simulate.py +48 -15
  138. opentrons/system/camera.py +1 -1
  139. {opentrons-8.7.0a6.dist-info → opentrons-8.7.0a7.dist-info}/METADATA +4 -4
  140. {opentrons-8.7.0a6.dist-info → opentrons-8.7.0a7.dist-info}/RECORD +143 -127
  141. opentrons/protocol_engine/state/_labware_origin_math.py +0 -636
  142. {opentrons-8.7.0a6.dist-info → opentrons-8.7.0a7.dist-info}/WHEEL +0 -0
  143. {opentrons-8.7.0a6.dist-info → opentrons-8.7.0a7.dist-info}/entry_points.txt +0 -0
  144. {opentrons-8.7.0a6.dist-info → opentrons-8.7.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=QWyf8tucSHUWM-f05vXVSeV8CkIBFLOTGDvxyi98YYM,712
2
+ opentrons/_version.py,sha256=CbilLv6OkIs_GvEKO6GZs_h7EdrvdoYEptP2uKHWuAo,712
3
3
  opentrons/execute.py,sha256=Y88qICDiHWQjU0L4Ou7DI5OXXu7zZcdkUvNUYmZqIfc,29282
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=de_hZ3GGMxFB2U0nlvISSWpvzPClNsOI-cQ39Aj39RU,42225
7
+ opentrons/simulate.py,sha256=k8GvGkDJHJIs-808XyJ62QGpVs812vxIKUq8YDSO3Ig,43331
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
@@ -53,7 +53,7 @@ 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=cWcISWe0FfoZj63oYVQD-KkwBojzMTVrzJ64-Gd1u90,18876
56
+ opentrons/drivers/asyncio/communication/serial_connection.py,sha256=4bGivjQ9m7WMaHMFYNWWHRLEGv8SGeD2080dUkdcua8,21994
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
59
  opentrons/drivers/flex_stacker/driver.py,sha256=TEy2yz5fU-vSmuLjHoZqi8fYmvdrmhoWYCMhx7ldZsg,31342
@@ -62,9 +62,9 @@ opentrons/drivers/flex_stacker/simulator.py,sha256=suOrNpD2jsiQX10yAesln_Fl3PI3I
62
62
  opentrons/drivers/flex_stacker/types.py,sha256=IHubhe1Xi0mUbiY6tzlyUv9KHNOGhjS4l6x7q0woAw4,7986
63
63
  opentrons/drivers/flex_stacker/utils.py,sha256=sV04CYFLsFdwHb71qWk0MrHLR1FyLjiJ0mShb8wwUHs,623
64
64
  opentrons/drivers/heater_shaker/__init__.py,sha256=Dj7oE_oEQxdADDR39Pv6F4FAB8s53nweU8Us8IbpGxQ,212
65
- opentrons/drivers/heater_shaker/abstract.py,sha256=YtCHyNsissBquwLTZn4tPHjl0fu6J0OeW1ilLxSQq5Y,1940
66
- opentrons/drivers/heater_shaker/driver.py,sha256=SQ9aXxTvqqcQNa_22FPDTMei-iF2fD6E6mwW8wai4JQ,6973
67
- opentrons/drivers/heater_shaker/simulator.py,sha256=vFBa4ax5Ktq4IRaqGUfdHkZ3T1Ql5uy7Gew_fIMm8Mc,2942
65
+ opentrons/drivers/heater_shaker/abstract.py,sha256=KxEwdgS3L7uE_pWpKk9X7hJdYB-ob77MasO4j0NsvuU,2074
66
+ opentrons/drivers/heater_shaker/driver.py,sha256=UB1T5x94bGQ6PTYFeAkBTf4LvcqlfjojlGFtma8hlwM,7327
67
+ opentrons/drivers/heater_shaker/simulator.py,sha256=JIw2pi5NUNvYuq8Q1D9CEdWWPOZJ0NkCh1dus8B5yfY,3021
68
68
  opentrons/drivers/mag_deck/__init__.py,sha256=15iBeKXR2skQz3z0MjGDvV52l55Yn-jjeH0lSAV3HHU,193
69
69
  opentrons/drivers/mag_deck/abstract.py,sha256=aXedoWHKgHRqNh-kT-0e4dPwXNvirF0EUgV_91pOBZA,875
70
70
  opentrons/drivers/mag_deck/driver.py,sha256=8bwN53Qku_xF-aSZYK29nG0bVsbvw_neOBCr7urdvgU,6440
@@ -90,57 +90,57 @@ opentrons/drivers/temp_deck/abstract.py,sha256=7tGTgAimr_4AlF8gaPxHuP3DL0iCKbGka
90
90
  opentrons/drivers/temp_deck/driver.py,sha256=gS4i52MUllnghnXIL8wNtBQFrUvy7xdTFdN4wW1OviI,5619
91
91
  opentrons/drivers/temp_deck/simulator.py,sha256=xZzt8wIZ9BG6XuigMOLiCnM55nHcHPGN0VVhwg_JZ5A,1653
92
92
  opentrons/drivers/thermocycler/__init__.py,sha256=ScQ4ItGlDrkoF7QkrDle0j-fJmkcLP_WlkVsD8kneC4,338
93
- opentrons/drivers/thermocycler/abstract.py,sha256=8XcZwDEjcB5ti5f0u25LCIdfVrpieJttz1n9xJsoM0g,2497
94
- opentrons/drivers/thermocycler/driver.py,sha256=9RS9hnS6Qjv0Kvep6_uAtcJI0EUdYJQaZ9_Rbhv16zE,13499
95
- opentrons/drivers/thermocycler/simulator.py,sha256=2yVZVar5z1o6K5nRE-IQS9KFXJ3dgOd7NS7W1UpFFtE,4121
93
+ opentrons/drivers/thermocycler/abstract.py,sha256=n_W4S9pExHPC6OcPx_RJZsdAjZnujR4zno82aiPPitk,2680
94
+ opentrons/drivers/thermocycler/driver.py,sha256=hBdLxxjpWHhpcxsyYgge9DEeoEcryZQzcYdgP9R_Dko,15303
95
+ opentrons/drivers/thermocycler/simulator.py,sha256=xDOYqZhFqBaVTWO5By33HJi89H9eUu1lPK0yJSiVezQ,4279
96
96
  opentrons/hardware_control/__init__.py,sha256=5t_YhGQ1uw4iB6QYtNz7qV8AcwLjaWtjmMP5B4YekEE,2353
97
97
  opentrons/hardware_control/__main__.py,sha256=DnlYdphZKLHiLCeXmnMDer6CclhberfTk_wCAbiy9Gc,2585
98
98
  opentrons/hardware_control/adapters.py,sha256=mm-gumoaF7CFrP0ad6W4xafbJRq6RaOD0GffSibWR-Q,3888
99
- opentrons/hardware_control/api.py,sha256=TbEKD7MtDKkvdeJ0yqsFlsM8q_0D36iwolQSclivJpw,51234
99
+ opentrons/hardware_control/api.py,sha256=HwKMghTYBjT_KhJ0peZPosgXIED--k5yAYKYILqkCLU,51993
100
100
  opentrons/hardware_control/constants.py,sha256=Ku-XABo7AN9JQ0tef8oPk-JlUuhQQLeP9S0h7kx5GEA,227
101
101
  opentrons/hardware_control/dev_types.py,sha256=q2GU8JMkHAhNrW5A4bcyq9y5q4-X-HXxa7yxCR-olxw,3507
102
102
  opentrons/hardware_control/errors.py,sha256=NMF5_AvX22ENTHPpUlElgF-0aeaxEhYXnOq2lfIzuiM,1433
103
103
  opentrons/hardware_control/execution_manager.py,sha256=WG3NF1OJgorAmRpkx8BRnqFeQsPUQ5w7H1kVK7pC-7A,5984
104
- opentrons/hardware_control/module_control.py,sha256=0mmVH9fiZWNyc33ilCpJHajX1Dfhf0YsbI28mSIS2K8,12726
104
+ opentrons/hardware_control/module_control.py,sha256=8_2jiH2H1DEj_n2YR1J8T7nuPYTiUUVjPp_1-V3i6Rs,15254
105
105
  opentrons/hardware_control/motion_utilities.py,sha256=7VG60YQ9MSMAZ0hO-q-kRAdkcebzrx7uIPtc6FMCViE,10311
106
- opentrons/hardware_control/nozzle_manager.py,sha256=dqD8XlYsOu0PFFyxvmsMypBB52Gi6x-VIwhykV7JhuU,16868
106
+ opentrons/hardware_control/nozzle_manager.py,sha256=AG4HKrV4n0Bm0UOEsaAYAURtkJwuEyk97e9Nqv2_nD0,17021
107
107
  opentrons/hardware_control/ot3_calibration.py,sha256=vHB17U-FBzytvM8QeEu5kRYPo8lFwAo31ZEpiU4yf_0,45000
108
- opentrons/hardware_control/ot3api.py,sha256=1vPsaNPmtjsJI1EJF8JPKOd2Bj2GDJLvmKU8eMKGhi8,127869
108
+ opentrons/hardware_control/ot3api.py,sha256=9eoHC6WCw4uYfDqVKVp71O2boLaPrmal42PuYbS9lFY,128636
109
109
  opentrons/hardware_control/pause_manager.py,sha256=wmNmraimE2yZQVqCxX_rtQHUWRzpzyQEaym9fLMgyww,888
110
- opentrons/hardware_control/poller.py,sha256=rx6Q-UxbUIj3ek69IlYenFh7BFuasszRO-GzzhRPuHQ,3885
110
+ opentrons/hardware_control/poller.py,sha256=6aqR0UM36w-Fk1ozjp-74VHthZTfT8Yurh5Zb4OnZX8,4392
111
111
  opentrons/hardware_control/robot_calibration.py,sha256=ilszGjZPspKiEk8MQPaHm2B-ljeisAYflKl8UyQ_D0U,7155
112
112
  opentrons/hardware_control/simulator_setup.py,sha256=3gelKslgMDobLpIlhVHmAqmZ5wXe1hZcK4RwKRMy3aM,9277
113
113
  opentrons/hardware_control/thread_manager.py,sha256=3-PrzUzJFSjUVtrgTUEF5GIStsDufvaSbp51B2x-yJY,17253
114
114
  opentrons/hardware_control/threaded_async_lock.py,sha256=qMaIrJ4KSMzvKm0hWt4o74Joah-sc404LlhMjCJue2g,3316
115
- opentrons/hardware_control/types.py,sha256=fzI0gLNe9JRMjqR1wcSS99-eQXeXJGWQxYyO8wQynoE,23111
115
+ opentrons/hardware_control/types.py,sha256=Uc0nn8iEwyc7u1k9SEYxt0QC6JIZ3il9s05_F1FxnAw,23691
116
116
  opentrons/hardware_control/util.py,sha256=RSlfjzrmhtntSexamNpPn3-qrnbrdhuzEjOnxv8v7lA,8650
117
117
  opentrons/hardware_control/backends/__init__.py,sha256=u5Dg3AFZuvDV7hFqJ8I4F9D1dLDt6e-TsFJReyBYe4E,212
118
- opentrons/hardware_control/backends/controller.py,sha256=MOVMq9s1rY_jHhajHB1hQ1MgXXyY54-gMrrvAuMsOFg,14622
118
+ opentrons/hardware_control/backends/controller.py,sha256=jo_KsXcNxkMh_4nFSffJM77R7GEsR74q9YFyhHzYIDw,14870
119
119
  opentrons/hardware_control/backends/errors.py,sha256=ZiVP16exHMTWWOajxffnXEqI6NNfeTw-4RkhXE0EBJA,249
120
120
  opentrons/hardware_control/backends/estop_state.py,sha256=_GYjI6OaD3CZNduWV2_RVeOtQ4K_Fg-SP8yU01ENhCY,6554
121
121
  opentrons/hardware_control/backends/flex_protocol.py,sha256=3S-OHbAnOSTF5PxzhMxD0TdEfxurLwecBrDkedl2O3s,13185
122
- opentrons/hardware_control/backends/ot3controller.py,sha256=w0LMGu0WWkGd4cEWaqlhMk1NQFHg1-Di83s5_KrKP3U,71374
123
- opentrons/hardware_control/backends/ot3simulator.py,sha256=CtYnb7NpqIc1TNK91hI0UaK4OyaIecFDczsb-T7DX_w,30387
122
+ opentrons/hardware_control/backends/ot3controller.py,sha256=Ag67CIu4pR5CdySGSQSzGoqsLfWUuz--cAgRcIfSay8,71510
123
+ opentrons/hardware_control/backends/ot3simulator.py,sha256=QxYxaSUxaJ4KxguRDO78_nebiEa1hHxNgltPw5Zdnhk,30509
124
124
  opentrons/hardware_control/backends/ot3utils.py,sha256=HYlIZRGmLqudS1mIt0Io2LxQ1BrLrxVFQCjqudbTUWU,22374
125
- opentrons/hardware_control/backends/simulator.py,sha256=q_9PQlBdOyCa9sj2gLqYWZ-fG9v4mddDAiScL-yHCXY,17549
125
+ opentrons/hardware_control/backends/simulator.py,sha256=Ag1V3lfEfxDYgcdOgPQeo7KBvM6cZ10ThQbjLpFnPuk,17671
126
126
  opentrons/hardware_control/backends/status_bar_state.py,sha256=E8z9dCJDI3Nb4qfUA5y2_PrE2jSYzZJQVkk75UqY5ZE,9287
127
- opentrons/hardware_control/backends/subsystem_manager.py,sha256=_bcVUdb5R8UB_x_n1BPyz5OsfkyyaMLYxotvo3fIoh0,16685
127
+ opentrons/hardware_control/backends/subsystem_manager.py,sha256=bOt6JhfXDS6hDdLkoXPeFAOo-SP5B7PIT3OgcZZBFOE,16905
128
128
  opentrons/hardware_control/backends/tip_presence_manager.py,sha256=wzK8bvcr4lcCOwIwAz8ParXtXfrbt5hod7-stTP0ts0,5973
129
129
  opentrons/hardware_control/backends/types.py,sha256=Fo7qTDyYfKW-NhcymqLQfkPBWOm6GO89q3JUqNnLIUo,329
130
130
  opentrons/hardware_control/emulation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- opentrons/hardware_control/emulation/abstract_emulator.py,sha256=VpXimoe8ZmzcoWVzBjcIiLn9T8xP6RD31PdxSV8kGjk,575
131
+ opentrons/hardware_control/emulation/abstract_emulator.py,sha256=chHNc0Q5UZL-V0sUiJj3RyoT2eTzdfcGnLYv9dTH6fk,672
132
132
  opentrons/hardware_control/emulation/app.py,sha256=IALhkYEYQWYD1xjgoG7bu59zfinIO4Xxlfo_FwFlOYA,1735
133
- opentrons/hardware_control/emulation/connection_handler.py,sha256=KCOOoFsjXKr33pT7vkRDUQMgex0hlzcY4bc9_byiy-4,1393
134
- opentrons/hardware_control/emulation/heater_shaker.py,sha256=xksVCb9Fs4-PaxNdYDoPmT9IbudCemQqHatHfawOyYA,5097
133
+ opentrons/hardware_control/emulation/connection_handler.py,sha256=RGggVv3Gs07p4IT45V-S1hjO33xv3EQftZM7abdbIoo,1553
134
+ opentrons/hardware_control/emulation/heater_shaker.py,sha256=A-icYJ_nDFezENlmsTBoG2TpHkRlLBxlj93caqWuW74,5362
135
135
  opentrons/hardware_control/emulation/magdeck.py,sha256=tUMHJghEi8nF6FTJ7WSf6SCZF2lf9muCVY3_8sKtmJY,2054
136
136
  opentrons/hardware_control/emulation/parser.py,sha256=QEHRG9waJR9nCXdngrP_sufdKkL7Mn53QJ25wGchTfU,2410
137
137
  opentrons/hardware_control/emulation/proxy.py,sha256=QC9PSmVAU4qgKKTHF1eLkoo4B8LcQG74EqQx3bLJ5ng,7661
138
138
  opentrons/hardware_control/emulation/run_emulator.py,sha256=LiaK9LeKOvF1oS2bQjof5J-CSj5ulUYVKibanQGY8Co,2014
139
- opentrons/hardware_control/emulation/settings.py,sha256=eg_GNUQ4GDPihJCOb_BNfkhz8DaLaCI4n6MXuLikmYs,3353
139
+ opentrons/hardware_control/emulation/settings.py,sha256=a6Xg75XafMlZYqhL8SLdQ-FE4qsT6AxG4R7-6Ole9E0,3370
140
140
  opentrons/hardware_control/emulation/simulations.py,sha256=d4xwkcCS4jfovTUwlqXmjTY_n4cBpo-dQ0WoJ3-ilac,3617
141
141
  opentrons/hardware_control/emulation/smoothie.py,sha256=9dTkTSh2WfLPhCvLS2BjxhvsRGtoR-Rq4kyGPTIJpDU,6763
142
142
  opentrons/hardware_control/emulation/tempdeck.py,sha256=9YYfju3A0LLM1BosnpNtLPHc442vdWIRoxGCsGqLOpA,2375
143
- opentrons/hardware_control/emulation/thermocycler.py,sha256=pSthTNqvx-XvHsXGOxAsaCHrFWdBRzAqXi-JvfV-M4k,5194
143
+ opentrons/hardware_control/emulation/thermocycler.py,sha256=v6LT-7yS2iL0goRFOiB5DNfKHr2nSbWfWSpO8e1atYo,7338
144
144
  opentrons/hardware_control/emulation/types.py,sha256=ud8BtJQ5nEe9vHTjrr3V8l2pnoMTZ46RGGKybtZK88s,211
145
145
  opentrons/hardware_control/emulation/util.py,sha256=asWjJdaWFn-VbiPoZqBYnaDtamXhplRzWT_3taG_u2g,923
146
146
  opentrons/hardware_control/emulation/module_server/__init__.py,sha256=2NyV7FMTmTKrQfT-UT1YH2o5tG6oMRfP1BLPNvEBe3Q,189
@@ -164,21 +164,21 @@ opentrons/hardware_control/instruments/ot3/gripper_handler.py,sha256=sa5GWZAzxQZ
164
164
  opentrons/hardware_control/instruments/ot3/instrument_calibration.py,sha256=x5hloPvJD19OUbI5IkoKYda-G7xHdzfckRaDl_GK4i4,7011
165
165
  opentrons/hardware_control/instruments/ot3/pipette.py,sha256=t3K28QLEmj3DS_KXoXbeBjEE5PfQJlSePzvSNt4GXsI,32376
166
166
  opentrons/hardware_control/instruments/ot3/pipette_handler.py,sha256=C8Ai5uSSuQEbcul-pkzHuywoIX-1Tppl4Xh51ADR3j0,39443
167
- opentrons/hardware_control/modules/__init__.py,sha256=9tLhyYJ4AQ2Kch8oD4-NEZ_dGC7IqY5hOdGLyKqJjLs,1549
168
- opentrons/hardware_control/modules/absorbance_reader.py,sha256=_6fcHEmsaeV3p8rFpPHB6Tdh7hvWE8buJDtUL2u0nlw,13495
167
+ opentrons/hardware_control/modules/__init__.py,sha256=eqs0zNU0jizvjl6kbDhG4DpAZf-c8ORyxcbu1Fqgcbc,1612
168
+ opentrons/hardware_control/modules/absorbance_reader.py,sha256=f6MVYvN9vl0agMWSfshTVqsrt9sXyz4uIi97FCKS8i8,13701
169
169
  opentrons/hardware_control/modules/errors.py,sha256=cREqoMc6nwGxQbLvZYDfIlq1mCv0alN42J7qxNBNiOY,165
170
- opentrons/hardware_control/modules/flex_stacker.py,sha256=-2pjP7qV5XIzaxwbCVdpJ_NW5CuRnyC-5SCtrGfF7jM,36496
171
- opentrons/hardware_control/modules/heater_shaker.py,sha256=vgH2vKupr-HB7JbjodwXdpGRJ6q0FF2gk6egbPwCyJI,15066
170
+ opentrons/hardware_control/modules/flex_stacker.py,sha256=osFukKIM5Ieb9ltsxt_k8ZX-W36BERAaYRU_JE7MJUQ,37558
171
+ opentrons/hardware_control/modules/heater_shaker.py,sha256=9q9KCZ_a_HAzCqRW67kXPajKEJC1e4-QD8ljvvX8juU,16532
172
172
  opentrons/hardware_control/modules/lid_temp_status.py,sha256=XKlr41I41g8aFxrrqGZxecHWgtBceG9ZrOSkyqq1khE,1201
173
- opentrons/hardware_control/modules/magdeck.py,sha256=GzZOpCu9yRKgyKRxROT1T6kNHsDmhbxDx6m7Ua-9MlU,7695
174
- opentrons/hardware_control/modules/mod_abc.py,sha256=4p7f-VTqkSKM4lyCojn2zzp5umTwJqHIoA-fuCoMpqI,7935
173
+ opentrons/hardware_control/modules/magdeck.py,sha256=4pNF9e4cx13XoQvrlgjQ7wI6A9176EFzet8dnQshGrg,7835
174
+ opentrons/hardware_control/modules/mod_abc.py,sha256=1WJE3Eue0pVuTlsj-oReDy7YqDDqquU8srcMV1bhNy4,8275
175
175
  opentrons/hardware_control/modules/module_calibration.py,sha256=2gtufh6D523Dp1N9-qd6z_AuyXFAAxZ0-p7wZvHUxuY,3033
176
176
  opentrons/hardware_control/modules/plate_temp_status.py,sha256=wBVEUjK4DgkBKGF4Ii5X1ZWcw3Cb946jHlbnRaQbFW8,2168
177
- opentrons/hardware_control/modules/tempdeck.py,sha256=5ImBuJGPjXhw61Bb2ONYsodnv4I1jxJlI2x8P3OB6Og,10293
178
- opentrons/hardware_control/modules/thermocycler.py,sha256=7H7bkXnfTLm_ZM30KVi3bAlgAtAPArN2XP6kN8bZVu8,25214
179
- opentrons/hardware_control/modules/types.py,sha256=hzTHQhdTwZw_IMNE_5ee8fAcZxKw7xd_DsgZYMo797M,10985
177
+ opentrons/hardware_control/modules/tempdeck.py,sha256=CbTCdV3CzG7JHR3hlt8qoNKZhF9pYpWUmp5_dlnTUys,11012
178
+ opentrons/hardware_control/modules/thermocycler.py,sha256=VU3nhD2_LeM4GPGH1Is4UWssGM9qWfHTCocnrp9lb4k,27369
179
+ opentrons/hardware_control/modules/types.py,sha256=CMyK4zbTeqiZITtQIPJMzKon2wmHTi7TMF0qa5qOS6M,11418
180
180
  opentrons/hardware_control/modules/update.py,sha256=HrJGzEyRpOMKbO5sw6W-UfxEGNyTb7ipyLZSO4CIJrs,8825
181
- opentrons/hardware_control/modules/utils.py,sha256=II9vbdKgE0lRo5Y45Evm0T-ckYyov2yV-NOoba6J5uE,2423
181
+ opentrons/hardware_control/modules/utils.py,sha256=2U-cTSE31Wbl51PQmoNG3X2jTDhiETSomWRs5kl0vcQ,2521
182
182
  opentrons/hardware_control/protocols/__init__.py,sha256=R5ECj8jVnk99k0ep5WY9xgfy9-APF1lcYOVpxacwKxI,3453
183
183
  opentrons/hardware_control/protocols/asyncio_configurable.py,sha256=CgrwetG2daH3xTFOFGUqC2Qlr84avfGAmg9yiDyAEEs,302
184
184
  opentrons/hardware_control/protocols/calibratable.py,sha256=NxbZ9hcA7MoKbskdCnXdYHWzo_sK-3vIX3Xxtt8MAb8,1420
@@ -206,115 +206,121 @@ opentrons/hardware_control/scripts/ot3gripper,sha256=vK6wdD7MOMBURhpFDSzU_eZUfPc
206
206
  opentrons/hardware_control/scripts/ot3repl,sha256=arOMCJCqhT0jrpVaYJeS2oNNMG_jLfZwKT6_YeSL-bU,359
207
207
  opentrons/hardware_control/scripts/repl.py,sha256=RojtHjYV6sa6O4SeNEgs5SvnAK0imQK_XqoLQTKlzWU,5982
208
208
  opentrons/hardware_control/scripts/tc_control.py,sha256=V6hOzoRXL3xqIUEz8Raldd45aO2JgN5m5Hr08c1G8Ko,2741
209
- opentrons/hardware_control/scripts/update_module_fw.py,sha256=FqX4y5_Ghs-uY1_KjbQZpVu8be9XR91MJy1owGt3LLc,9795
209
+ opentrons/hardware_control/scripts/update_module_fw.py,sha256=kVuS2Vtm6bxpwMwqytMwFqyJFpy6VkaIz3kOu7GeQy0,10021
210
210
  opentrons/legacy_commands/__init__.py,sha256=erkaz7hc2iHsTtjpFDWrR1V5n47it3U1qxD2zL9CkuE,63
211
211
  opentrons/legacy_commands/commands.py,sha256=lgImZ0Y3gZrMKDVioaOXWqa6mMJCNKDa8p-lQhTghWk,14530
212
212
  opentrons/legacy_commands/helpers.py,sha256=Bc7mjK6V7b4h472NCx_qSwD0ojd_DM7mPg18tjo1DIQ,5228
213
- opentrons/legacy_commands/module_commands.py,sha256=bAqZmsAqXkjf3qzexo9fOs4QxZ-RvcZmdy0_QEcHd7U,9368
214
- opentrons/legacy_commands/protocol_commands.py,sha256=nPYBrm7j9co83IGWjzae2GOVkEZdu58pXQv3eOdpLzg,1383
213
+ opentrons/legacy_commands/module_commands.py,sha256=MgMCv2Bsl6TyRzrRFGRkE816w9raLV7E2aNrto6Nm4s,10101
214
+ opentrons/legacy_commands/protocol_commands.py,sha256=SwKKcS7PG6EaihkeFQiJ7BCc7_QcPpkLyzxTsnneTHU,2016
215
215
  opentrons/legacy_commands/publisher.py,sha256=JRrpF-kG7qt5dwDFbCqeMjokCSwn8BdllMMYnJeDLn8,5440
216
216
  opentrons/legacy_commands/robot_commands.py,sha256=c51gVAh-98PxhxmEL_3P80rejkaY58gAQ7S6wNwctao,1642
217
- opentrons/legacy_commands/types.py,sha256=cbW_flEmurZIcAh-EOcJp3bgrUCvx3ASTrw1oRqMv10,30745
217
+ opentrons/legacy_commands/types.py,sha256=fKjJoaQw0c7tAf3lZUj9qX5GMaxV0qb3NGYIe1THpGQ,32767
218
218
  opentrons/motion_planning/__init__.py,sha256=Gma3SLAvKbL7QuhVGtL9zFx5vlk_7YBF0TjYZQSiv9s,755
219
219
  opentrons/motion_planning/adjacent_slots_getters.py,sha256=z7HkfC8ymAdGHdFq-sC_1_cERX_v29b9x4HKtJ6gp9I,5390
220
- opentrons/motion_planning/deck_conflict.py,sha256=gIAQYJbSKEn5XM_AoBVCOdp-acQsc0nF5FHaeuF53vg,16757
220
+ opentrons/motion_planning/deck_conflict.py,sha256=UyLIWvJY2oKEHvw_TzBeDK7TVIAglsb_WJOBdS1CH9A,16906
221
221
  opentrons/motion_planning/errors.py,sha256=-TOop0-NWaWb6KNYRoYLpWMca_kwsxxXEf31WuDSGls,948
222
222
  opentrons/motion_planning/types.py,sha256=C4jXv5b02iBQmePMLrujgvHwqvEphBWtY18MPfKQpj4,1188
223
- opentrons/motion_planning/waypoints.py,sha256=45J1TBfvDKEczEog1-H16GoX3PhFBlYKyNzE2Sl10U8,8341
224
- opentrons/protocol_api/__init__.py,sha256=L_dJqPH9JLvQJAgK6J-7zHYaalYP3zlUCY66BzsaMIQ,2570
223
+ opentrons/motion_planning/waypoints.py,sha256=QAtgHw3Z9YOVB3XIKG5u5PGyZJT9LBGOLv0j_tXgS1k,7884
224
+ opentrons/protocol_api/__init__.py,sha256=BjQt8PFxp7aKSu2KvoDRqMoaEMxh4LbB2kJfowtL7EQ,2669
225
225
  opentrons/protocol_api/_liquid.py,sha256=exYaa5UjQQzmDROVBCnyqOVkbyZs0G1ZBMhH2bORNJY,5031
226
226
  opentrons/protocol_api/_liquid_properties.py,sha256=DHdDHoset72mKq2sLaf355Zz1XdsP3hIiTkQZbUscb0,27913
227
227
  opentrons/protocol_api/_nozzle_layout.py,sha256=-WA71bRDISs9bLwHdWqAyM7HBc53sOA8_BOVqYsuN3g,1095
228
228
  opentrons/protocol_api/_parameter_context.py,sha256=dvGMVObWDSERrXfTKSIwc4YeIdF_RD-q8ASNaSBTcxw,12967
229
229
  opentrons/protocol_api/_parameters.py,sha256=BGH50BFawoNnh7NRDh0tRrNncdwz_Ta25tbQfwtlYoM,1298
230
230
  opentrons/protocol_api/_transfer_liquid_validation.py,sha256=nR-qvgFIVYkFJ_PH1eiTuik5PmwAabja2OnvDyzBvcQ,4034
231
- opentrons/protocol_api/_types.py,sha256=6tPCuOmZ5GNtu-24zyY6O-KkXEqzhTAlHlKHQH3Dvzs,1413
231
+ opentrons/protocol_api/_types.py,sha256=i2t-X3OiJ4lKwrwvkDKLgcYdRAyQKxvU3QEfK6jEPTg,1501
232
232
  opentrons/protocol_api/config.py,sha256=r9lyvXjagTX_g3q5FGURPpcz2IA9sSF7Oa_1mKx-7cw,625
233
233
  opentrons/protocol_api/create_protocol_context.py,sha256=wwsZje0L__oDnu1Yrihau320_f-ASloR9eL1QCtkOh8,7612
234
234
  opentrons/protocol_api/deck.py,sha256=94vFceg1SC1bAGd7TvC1ZpYwnJR-VlzurEZ6jkacYeg,8910
235
235
  opentrons/protocol_api/disposal_locations.py,sha256=NRiSGmDR0LnbyEkWSOM-o64uR2fUoB1NWJG7Y7SsJSs,7920
236
236
  opentrons/protocol_api/instrument_context.py,sha256=dOg04iqYnNMJ7XnlHBX3tTGiEahc-7feIuErcevRdwY,141216
237
- opentrons/protocol_api/labware.py,sha256=ZGukS0oE6vOltolNx9ZFXj_HFhm5BRaTnS0tJUKxGsE,63061
238
- opentrons/protocol_api/module_contexts.py,sha256=cPyay45R3SeBckC4fk8txuC7DZoCSeoVSp1ALCMNipQ,63292
237
+ opentrons/protocol_api/labware.py,sha256=1fwap0oMffbD7gewv1OmmjFZLFuhQu68PI1CjU9UYSY,63235
238
+ opentrons/protocol_api/module_contexts.py,sha256=klVrc5UnMK_UgWgP8jB4bQZKS5-sZdE-P8dOJeKlCQw,68554
239
239
  opentrons/protocol_api/module_validation_and_errors.py,sha256=ljst-M_KK78GnyG3pyZ_6yoYkMY3HORS1QyQyWrme-U,2250
240
- opentrons/protocol_api/protocol_context.py,sha256=2F-awiZGGNwwdu2xxkjrVDCuemJaV3z4bSIBZoXVVlY,77105
241
- opentrons/protocol_api/robot_context.py,sha256=D6ZdpFX30VTtVUDHitsVjabJQXD5TxOV9_Z6sik1LvE,11891
242
- opentrons/protocol_api/validation.py,sha256=jFJcw_ixifViupEFaGrjEcuHyNIHG1gvo-n2jSqGnok,29227
240
+ opentrons/protocol_api/protocol_context.py,sha256=FGO2OKjfHYW-HtQUEhzKk9R2GcSuQo27lGp-CG_k95c,78052
241
+ opentrons/protocol_api/robot_context.py,sha256=HnKUhzX4BbgUynxDbiObgAYGise4rYToC89S2OHSNqQ,13008
242
+ opentrons/protocol_api/tasks.py,sha256=aAGXS9yGjdd9NNosf-o8K_DNRuPea9mimfX6L0Y7q38,1390
243
+ opentrons/protocol_api/validation.py,sha256=LpYe5N8KBFrJeofOxoIANZYqj_Et6OIIbdpa7WsqiyU,29442
243
244
  opentrons/protocol_api/core/__init__.py,sha256=-g74o8OtBB0LmmOvwkRvPgrHt7fF7T8FRHDj-x_-Onk,736
244
- opentrons/protocol_api/core/common.py,sha256=Ne7D4yBC3qywy35jIAC_1xI8HQwYt0HjPRXqIcyP06M,1276
245
+ opentrons/protocol_api/core/common.py,sha256=163qv_L5UtGYbi2jLlHfbsMd1hss58_EFk3rhmt8pms,1350
245
246
  opentrons/protocol_api/core/core_map.py,sha256=NX06HEDi5Obmaz0Xwwc_dikH0M-bTnZcfnSdMLdQqms,2074
246
247
  opentrons/protocol_api/core/instrument.py,sha256=ZlEv60tzH5jxP0Wh9eyTc_28ju75RsllkQufMwYdIio,13985
247
248
  opentrons/protocol_api/core/labware.py,sha256=-ZOjkalikXCV3ptehKCNaWGAdKxIdwne8LRFQW9NAm4,4290
248
- opentrons/protocol_api/core/module.py,sha256=D8d9Xs_AgI53i8POkK2deUiu92V93Wt9-HG4FDKrHnE,15833
249
- opentrons/protocol_api/core/protocol.py,sha256=Jru2lRuPtgdzpZiuhU6VV6UGN2wbjCSoWm_CAbOVPiU,8695
249
+ opentrons/protocol_api/core/module.py,sha256=OJJqgT6Npda0rhxz88dD3G9luHPE_F1MiuC7ZHn_IFI,17253
250
+ opentrons/protocol_api/core/protocol.py,sha256=x1GnXklDsq9FR8NEHu5DLS-w8HuRqwTMLk8xXzFg44w,8951
250
251
  opentrons/protocol_api/core/robot.py,sha256=QMAqj5Oqq3_IhTDyUF4jpWI4j2LRPP9crUiaYD_RUv4,1385
251
- opentrons/protocol_api/core/well.py,sha256=Lf89YYEyq-ahRSRIFJw42vxIP8Fw6kzIUh9K1HEijUQ,3487
252
+ opentrons/protocol_api/core/tasks.py,sha256=JitBBPrH_8MevcseQKa_lBrYOQPsgw1fYHl41hvigtk,787
253
+ opentrons/protocol_api/core/well.py,sha256=wIoozpmJsBDP2FYeY9WjTD6drTq9IqWdrTIlsDrl2fc,3613
252
254
  opentrons/protocol_api/core/well_grid.py,sha256=BU28DKaBgEU_JdZ6pEzrwNxmuh6TkO4zlg7Pq1Rf5Xk,1516
253
255
  opentrons/protocol_api/core/engine/__init__.py,sha256=B_5T7zgkWDb1mXPg4NbT-wBkQaK-WVokMMnJRNu7xiM,582
254
- opentrons/protocol_api/core/engine/_default_labware_versions.py,sha256=hLKAp33c_eNLpvT5qUt8AOYy6PHhM_JnkdOXaMl80jA,7541
256
+ opentrons/protocol_api/core/engine/_default_labware_versions.py,sha256=8u1zlPtVfPACVAs9JTzI3HA1PdNPPRODxEAZSF4qUxM,8457
255
257
  opentrons/protocol_api/core/engine/_default_liquid_class_versions.py,sha256=be-eczhfOsWm4Q3fSVcjWqxteg_IGnwC-pozJUZ5u4U,1564
256
258
  opentrons/protocol_api/core/engine/deck_conflict.py,sha256=j3AJ-sYr5e-06UgeGueUldx9B3fn7AhN738kJxZO_vw,14693
257
259
  opentrons/protocol_api/core/engine/exceptions.py,sha256=aZgNrmYEeuPZm21nX_KZYtvyjv5h_zPjxxgPkEV7_bw,725
258
260
  opentrons/protocol_api/core/engine/instrument.py,sha256=iiiUdjdpLGxjr3iQwI6AOtfIFTFx1vwZLa6ALrpqgRM,105054
259
- opentrons/protocol_api/core/engine/labware.py,sha256=-2oygShyRZo1-R0UOoBtXniFOXfc3cSdGM-qa_l9wh8,8610
261
+ opentrons/protocol_api/core/engine/labware.py,sha256=YUkoCogqLQpDee-wlcMPV90ZUi78xeWzkfhz5gmoIyg,8846
260
262
  opentrons/protocol_api/core/engine/load_labware_params.py,sha256=CxSbCBXVXHtBszP-3Ko8hsQTjvvogKRo0CCzCmMfIic,3003
261
- opentrons/protocol_api/core/engine/module_core.py,sha256=qxxcqpH-A4Zil9hHDxnvh4H8JuPvK6-sgkODU5YdjZQ,39537
263
+ opentrons/protocol_api/core/engine/module_core.py,sha256=ONrYQonGhxPDOuqgOeDDY_ept42OMHYxZK0zAC-cMuk,42328
262
264
  opentrons/protocol_api/core/engine/overlap_versions.py,sha256=PyGvQtQUg1wzNtkuGZtxwXm019PoIjq7em2JiWaxbXc,675
263
265
  opentrons/protocol_api/core/engine/pipette_movement_conflict.py,sha256=9BmtG1kg3vyrssBXflCNZrJIukGp6y5UJ_XqhIz73rI,18148
264
266
  opentrons/protocol_api/core/engine/point_calculations.py,sha256=C2eF0fvJQGMqQv3DzNhc1-m8HTAXTyTsHPJEPrEUEmo,2502
265
- opentrons/protocol_api/core/engine/protocol.py,sha256=gGGxcSstYs7edonbKVa41yI1XHYYcE9q5itsqHPfpZs,47815
267
+ opentrons/protocol_api/core/engine/protocol.py,sha256=7P7uzIGFF4noryT78Svsben-71Ze_5DzpRIs-wSF7_U,48585
266
268
  opentrons/protocol_api/core/engine/robot.py,sha256=bzUt23NG-clD-9-QFsV_6nm3fMgSmvYEG9DyyZI1xgw,5366
267
269
  opentrons/protocol_api/core/engine/stringify.py,sha256=GwFgEhFMk-uPfFQhQG_2mkaf4cxaItiY8RW7rZwiooQ,2794
270
+ opentrons/protocol_api/core/engine/tasks.py,sha256=8unIsHFYso3VBp6cTwJPGuK2ZSUBSFrID21F53Lqevg,1584
268
271
  opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=mR59C-e6IHSZthlbQEwmRnh5ye8lhr6a0Qp5CNNi9n8,45211
269
- opentrons/protocol_api/core/engine/well.py,sha256=IaaFK-3hoUfabfn_twIT7zcAynhzAmRxDnvABss2szo,8923
272
+ opentrons/protocol_api/core/engine/well.py,sha256=Aetbc8CQjNr9TnqMwE9spGNyH0qMkqBufXCq7I1u2QE,9237
270
273
  opentrons/protocol_api/core/legacy/__init__.py,sha256=_9jCJNKG3SlS_vljVu8HHkZmtLf4F-f-JHALLF5d5go,401
271
274
  opentrons/protocol_api/core/legacy/_labware_geometry.py,sha256=ugtMdfnSkUwBCC3Sdj5nP5aDUxX-Dr7BeiuPVmdjAtg,1091
272
275
  opentrons/protocol_api/core/legacy/deck.py,sha256=qHqcGo-Kdkl9L1aOE0pwrm9tsAnwkXbt4rIOr_VEP-s,13955
273
276
  opentrons/protocol_api/core/legacy/labware_offset_provider.py,sha256=2DLIby9xmUrwLb2ht8hZbvNTxqPhNzWijd7yCb2cqP8,3783
274
277
  opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=mEX2Kmx8vBag7ndk4pCIssKkH9C-FEk0xphDyogCLGQ,27023
275
278
  opentrons/protocol_api/core/legacy/legacy_labware_core.py,sha256=ksal6uzzGcMFEE3Ko2H9cbG8b8u4IprzejkkxdBHwHQ,8579
276
- opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=CFCuXN1g5zE2IXD1I09vkngBlOdDzQjuIaNlJ5tVXnQ,23231
277
- opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=Owj8Vx3ysQEarPH81PcCpAA0MnVegMkjWXNz5-nRIqg,23712
278
- opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=wxeiPBqaS8YQwRpDGwF7ykJ0s2y3bExwVGpNbUZMmFg,5560
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
281
+ opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=6iPw9YqFXi42xAPwOrR0WgbKZigK_ThCdkGZAyuGTdE,5687
279
282
  opentrons/protocol_api/core/legacy/load_info.py,sha256=r-WaH5ZJb3TRCp_zvbMMh0P4BhbZM8HsBs1K_pU98dk,1857
280
283
  opentrons/protocol_api/core/legacy/module_geometry.py,sha256=lvWFHZ81-JFw-1VZUW1R3yUIb59xpXT6H3jwlRintRo,21082
284
+ opentrons/protocol_api/core/legacy/tasks.py,sha256=_vOuYbi62Rj8N7U4mA9MG2DE9YW0KzKVRbDQ87B_VNE,647
281
285
  opentrons/protocol_api/core/legacy/well_geometry.py,sha256=n5bEsvYZXXTAqYSAqlXd5t40bUPPrJ2Oj2frBZafQHA,4719
282
286
  opentrons/protocol_api/core/legacy_simulator/__init__.py,sha256=m9bLHGDJ6LSYC2WPm8tpOuu0zWSOPIrlybQgjRQBw9k,647
283
287
  opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py,sha256=8VMIVZKaqdXM4AGD9SJgqjGDHA7OWmXQHOtV70fopsc,23462
284
- opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py,sha256=28HrrHzeUfnGKXpZqQ-VM8WbPiadqVhKj2S9y33q6Lo,2910
288
+ opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py,sha256=RNfnJMPfuMmSwmlEnWW5WySLwSs9PrrCs9SLzMcXkPI,3439
289
+ opentrons/protocol_api/core/legacy_simulator/tasks.py,sha256=V12emyOAPfCTmxfrZUf1FI4vUOA0DkSY_O_vTgKh_Wc,734
285
290
  opentrons/protocol_engine/__init__.py,sha256=UPSk7MbidkiSH_h4V3yxMvyTePKpRr5DM9-wfkJrlSo,4094
286
291
  opentrons/protocol_engine/create_protocol_engine.py,sha256=tfDIsC7_JKlRiCXPB_8tuxRsssU6o0ViRmWbGPtX9QA,7582
287
292
  opentrons/protocol_engine/engine_support.py,sha256=5wqk5CHudpOUCSNsalWRmBSeHaCT6bEmcYAn9P60L0w,923
288
293
  opentrons/protocol_engine/error_recovery_policy.py,sha256=ejsIywnz9DMv_XK-mo58PynW34sSDgnziPAw2g5m9G8,2873
289
294
  opentrons/protocol_engine/labware_offset_standardization.py,sha256=iqU-A2p6YK4XXMst2HWuM8ih-HnxN6BvqijOexw_BDw,7916
290
295
  opentrons/protocol_engine/plugins.py,sha256=pSEzpItf4RVO2NwoGSbDpmNtO0B0-G2W0g2sIzdyjkI,3449
291
- opentrons/protocol_engine/protocol_engine.py,sha256=UGyOdeD2hxGUxINkQk55_wI3KV_9m4dA1bWLaswy6sU,28476
296
+ opentrons/protocol_engine/protocol_engine.py,sha256=R4NX3sjK7KJ5Vbt1TYmyUxksJqnyZvriET0br8I4XDo,30624
292
297
  opentrons/protocol_engine/slot_standardization.py,sha256=1YjzQSLHrVPeoTDDN9evu9kbJKCpQzLHT2-C3uINwoU,4004
293
- opentrons/protocol_engine/actions/__init__.py,sha256=Zm5AwWOkc9QZJo8WBww8P73KYIwRFjid0Vi1NLPXSik,1561
298
+ opentrons/protocol_engine/actions/__init__.py,sha256=UgDYgKbxhuojt3XC0Zf-8GNkRHFRPjwE4I1g58nenU8,1607
294
299
  opentrons/protocol_engine/actions/action_dispatcher.py,sha256=CiJG8djKxyjZZX_T7lhPZnEuLXV1yE41ZnvzsmCHoLU,944
295
300
  opentrons/protocol_engine/actions/action_handler.py,sha256=N907GFwLJc0OMiQFGa7Bz8RAgWtfeipN286QSwEZ1iA,341
296
- opentrons/protocol_engine/actions/actions.py,sha256=k_kl5tSmNPROYmWq3zt2tout4ebaOp4Qm5b7eyb8Hsk,8128
301
+ opentrons/protocol_engine/actions/actions.py,sha256=8iPEckqfc6eVKRClz-mC46J36-C8Zk1U_hI2Oe9Hb3A,8363
297
302
  opentrons/protocol_engine/actions/get_state_update.py,sha256=tsnfhZDFHWER6y6UV57LlaYrnxYJnASBsfQ55fdGh5g,1128
298
303
  opentrons/protocol_engine/clients/__init__.py,sha256=ILmfVL5SOkWzRpL2XXh0Q0MizOj7E2i-WObVuIsWAQE,161
299
- opentrons/protocol_engine/clients/sync_client.py,sha256=G5hik77cqRbM_jrHp-j0NN3ovVDXbs9yCJ8XW4MChZw,5745
304
+ opentrons/protocol_engine/clients/sync_client.py,sha256=UfUXN_yU3m2yD-NecdWHyP3JruNkjxwrIlrUfkuPFbs,6912
300
305
  opentrons/protocol_engine/clients/transports.py,sha256=QejmtG5TjgOLUXpNhOzor_q-7MFI1qNfsguwkzY6Rxc,7177
301
- opentrons/protocol_engine/commands/__init__.py,sha256=vB5Ij7nn_8G4GNXpiiZOfzZLXX_-G-K4Dj9Iexj_51A,18193
306
+ opentrons/protocol_engine/commands/__init__.py,sha256=td6JjEYr5RD8ZsywItLp8V4S_s5i8q2T2PuA56qbAio,19111
302
307
  opentrons/protocol_engine/commands/air_gap_in_place.py,sha256=3O0FnIRgiEYtW1_LjBKElL7iSP5iBQUnNi7tNUlLnyg,5444
303
- opentrons/protocol_engine/commands/aspirate.py,sha256=ZxpwQ5Zq-AS11aNfgxx6PsL_MrBEaawAxAi7jWwpIRE,7920
308
+ opentrons/protocol_engine/commands/aspirate.py,sha256=DmUHHWQ1NYUv19bjR-o4CawWaNt0eQomlISWG_YI2FQ,7977
304
309
  opentrons/protocol_engine/commands/aspirate_in_place.py,sha256=ZHvq8zcgAhDRScwFxCAySSnW0FCtOElSypcSUMom-3k,6587
305
310
  opentrons/protocol_engine/commands/aspirate_while_tracking.py,sha256=d8-UBiXmBZ11SHdoj-uNKTUMwVtuGMhYfcM9pNqzhA0,7281
306
311
  opentrons/protocol_engine/commands/blow_out.py,sha256=3gboq4x5S8fq7j4ZZGNClXFDlOjcdW1v2g58GPdhaPI,4338
307
312
  opentrons/protocol_engine/commands/blow_out_in_place.py,sha256=jm2XXyJfIP9-AAFwXhD59_13nX18-i6QqpLGb-lK7sI,3391
308
- opentrons/protocol_engine/commands/command.py,sha256=1hWH_KWg_WDL4R4VXe1ZH2vO6pYt5SA-ZpuPPF1oV5E,10149
309
- opentrons/protocol_engine/commands/command_unions.py,sha256=_2iINXrl9yc3H8X-AF8YBhYZQHLU0RHFEfl0MwE2H2w,27550
313
+ opentrons/protocol_engine/commands/command.py,sha256=EYYm1HUhy5HM-sgyUwu97EHIW8C4L2XOktFwLVQhric,10194
314
+ opentrons/protocol_engine/commands/command_unions.py,sha256=9FeTkjNtY8zgXllMzvRXHtW3-7tlKBvpt0Ob4MUAsn8,28813
310
315
  opentrons/protocol_engine/commands/comment.py,sha256=-6o07x-MZ6-IvZas84OVFmqF0gAbbKWJZIlGVYThCqM,1638
311
316
  opentrons/protocol_engine/commands/configure_for_volume.py,sha256=wLt7-zJfKrRZhz9E0J9Xu_eayDMVPl8utdUYDMwgzFw,3615
312
317
  opentrons/protocol_engine/commands/configure_nozzle_layout.py,sha256=M_s5Ee03a7sSnbvkibDHzEqZwkca0y8J7F60EnSEq7A,3849
318
+ opentrons/protocol_engine/commands/create_timer.py,sha256=xK2uxexIbIN6gCjci1P7Wbq_Erl_lRbVRWuRRJV_qmg,2728
313
319
  opentrons/protocol_engine/commands/custom.py,sha256=vOJc7QSNnYTpLvJm98OfDKjgcvVFRZs1eEKEd9WkPN0,2157
314
- opentrons/protocol_engine/commands/dispense.py,sha256=gmjBXgGuWhB-SEUboXiNHqkaUrmpRTqSN4Dy362ln8w,6444
320
+ opentrons/protocol_engine/commands/dispense.py,sha256=dEx24qS1Rhrc5-g_HwuLVqUeNZxpSjevqKX_josj60U,6501
315
321
  opentrons/protocol_engine/commands/dispense_in_place.py,sha256=gcj0HXUkPrU3Qz_DbWzP3XZHuB8tXSMTo9CFoGi25lw,6263
316
322
  opentrons/protocol_engine/commands/dispense_while_tracking.py,sha256=vn0nw5D4ggpTEwarConFPHUVI4gNShehs5v1U5Kn9sY,6644
317
- opentrons/protocol_engine/commands/drop_tip.py,sha256=GE4txfLQNMfkXx67TFARO3XPW5to647BwKLPZmXemfU,8011
323
+ opentrons/protocol_engine/commands/drop_tip.py,sha256=LpgwnsaHYPCHqewI2mHs9fWFCvhhVgzkPMlCk155Ja0,9077
318
324
  opentrons/protocol_engine/commands/drop_tip_in_place.py,sha256=88dPdt48hnURavIE46E7Zaxv-h9YN5Bq8XczCwHlW_I,7262
319
325
  opentrons/protocol_engine/commands/generate_command_schema.py,sha256=e88q7DCxjEM1xSrnXV8jBdo6AgMc15_W8cC-i-ESvy0,2312
320
326
  opentrons/protocol_engine/commands/get_next_tip.py,sha256=4jpFlG_QQbsjtpAUXdMIYWt7YnyKUjGGDAjhPFSAz54,4830
@@ -337,8 +343,8 @@ opentrons/protocol_engine/commands/move_to_addressable_area.py,sha256=JtHftnSjbL
337
343
  opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py,sha256=aVbxdVwCqhZxOn9ByAseqgaOl5TUd42bcyBMbuQu-8Q,7479
338
344
  opentrons/protocol_engine/commands/move_to_coordinates.py,sha256=2qZliN1ZLdgNDiGdaTafgKB2gxvHCpMbvX01kJ-kQuM,3179
339
345
  opentrons/protocol_engine/commands/move_to_well.py,sha256=9Kj8P1Pedlcr4DwRoDpv1SeMCnEodOidBYzeAtAYQaA,3569
340
- opentrons/protocol_engine/commands/movement_common.py,sha256=bnJuwcp6nkyoxkTXqfSXnnKgZ7TKflkMGZSHXuPWsRk,11950
341
- opentrons/protocol_engine/commands/pick_up_tip.py,sha256=tftFW1SY1_QHmcR1hdZ9jTgbS1jHvK3kDmYO9Y6y2yY,8241
346
+ opentrons/protocol_engine/commands/movement_common.py,sha256=cSdMMI0akNgq3bONxdWmoEb8cb7TpqLqjwK1z7YPfAA,12096
347
+ opentrons/protocol_engine/commands/pick_up_tip.py,sha256=IZNoLjvVv5K0iYrDb8KV-tzlBXTbV2Q3bWkcG-RlR6k,8602
342
348
  opentrons/protocol_engine/commands/pipetting_common.py,sha256=ZjSX9N0cgde44mBorK07c3o-Ltlj0ywCyIKWXYcSgWk,15363
343
349
  opentrons/protocol_engine/commands/prepare_to_aspirate.py,sha256=qs1GtVfzyk_Lzv8g6K8GIZg4NwwH4Uop9_df6YFsBDA,3559
344
350
  opentrons/protocol_engine/commands/pressure_dispense.py,sha256=mGCJDFKwy6MPHg-AOttDg9TffHmp-eM_1y6x8CaErJE,4711
@@ -348,16 +354,18 @@ opentrons/protocol_engine/commands/save_position.py,sha256=koxPh6t8s7Cl1vjPt9e6r
348
354
  opentrons/protocol_engine/commands/seal_pipette_to_tip.py,sha256=0lEGfXgAhU6a5LF91suj3bjZdyjXPSZ1JQNYIkUvgXE,12395
349
355
  opentrons/protocol_engine/commands/set_rail_lights.py,sha256=QfB-NKw2ktBvSge1jOi9wYVLD19Vj6HiKw22Fsn0aSo,2090
350
356
  opentrons/protocol_engine/commands/set_status_bar.py,sha256=LJGFBteL8bD8tG8yMPQir93mWnGYlPy3er00THbp6kk,2834
351
- opentrons/protocol_engine/commands/touch_tip.py,sha256=620D8mXSKQdjXQonNVztz_ENOqjuHQd_oa-nHFiM2Ls,5713
357
+ opentrons/protocol_engine/commands/set_tip_state.py,sha256=5KsUTFY6u2I-Me6dQrlzHePR0ZEQiLOK2SBV9JAZYxw,2801
358
+ opentrons/protocol_engine/commands/touch_tip.py,sha256=55RqfPJAB0rzmYRctL_mtA5e-np-1sJvB2B5tljZQHw,5756
352
359
  opentrons/protocol_engine/commands/unseal_pipette_from_tip.py,sha256=J8e9k6TxuRsEpKJJjX8Mmpkm-MAjBp13sVvKfWz9Nc0,4815
353
360
  opentrons/protocol_engine/commands/verify_tip_presence.py,sha256=UUwUWdlryfh-mU8IoHUZkoy67KxrqXTFygeu1bsavhc,3136
354
361
  opentrons/protocol_engine/commands/wait_for_duration.py,sha256=G-Lmo97BoqW8KA-cZDGQkqUmEE7lrLdw5j-2_LBF5gg,2396
355
362
  opentrons/protocol_engine/commands/wait_for_resume.py,sha256=IE_I7fqoKBrlBumaCp5Tm5ihyA6i5VAzG25xdVdRnVw,2372
363
+ opentrons/protocol_engine/commands/wait_for_tasks.py,sha256=z_ehU5EBp1EwKSJTJekMnuQkwX8wXaXdpF5Vjek8QLU,3242
356
364
  opentrons/protocol_engine/commands/absorbance_reader/__init__.py,sha256=6V2mLhLiWyzPfOoObggTen18OohiDIKi9hoZgobLKLs,1230
357
- opentrons/protocol_engine/commands/absorbance_reader/close_lid.py,sha256=0d8BugRUXfhgF0PTqthd0pLunT9K6ZNo_y-b9r3gwgA,5766
365
+ opentrons/protocol_engine/commands/absorbance_reader/close_lid.py,sha256=WbmBtOudQ-pO_afXwPILwUlmhWHLa4-sxElTY1lmbsg,5100
358
366
  opentrons/protocol_engine/commands/absorbance_reader/common.py,sha256=l3rA3Ksu-Ft7MWcqaCO-oE7Ng35fSxrudZHxg9_YlEE,275
359
367
  opentrons/protocol_engine/commands/absorbance_reader/initialize.py,sha256=XzUyZ7tEUw_TNqrzzU4GorV6rY7w16WzRgpk-Ylkpuk,5878
360
- opentrons/protocol_engine/commands/absorbance_reader/open_lid.py,sha256=S04np9nxqpsdzvcT565kN8fX6v-KEzqqT-L49kshIaw,5757
368
+ opentrons/protocol_engine/commands/absorbance_reader/open_lid.py,sha256=OgYrk_XxKO8KcUCwtDQGuJlXVrmr814kemte3IVAL_8,5091
361
369
  opentrons/protocol_engine/commands/absorbance_reader/read.py,sha256=5nTs1z1_Wuslx6Rm1XYYm_zZs1fVQii_FUSaVxB6eZY,9333
362
370
  opentrons/protocol_engine/commands/calibration/__init__.py,sha256=JjNnULLBM3j8VtpfHOvH51em9jVLR_ezyrUJUWqxuYI,1611
363
371
  opentrons/protocol_engine/commands/calibration/calibrate_gripper.py,sha256=b9NM4Qj8w1z1Hh6iiH11JDklvUEF-MkMP5FfEz5091g,5831
@@ -371,13 +379,15 @@ opentrons/protocol_engine/commands/flex_stacker/fill.py,sha256=3qhAQxJfaSp4EAFGI
371
379
  opentrons/protocol_engine/commands/flex_stacker/retrieve.py,sha256=kh9Lh-FW-RrXmV4RS8txmTYPfPDKhQhjW0UXr8k0vhc,12763
372
380
  opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py,sha256=5VdqCcBdIHmpWqIJN3rCKeZ6IKwfxAdQTXMTD-KL-5w,12484
373
381
  opentrons/protocol_engine/commands/flex_stacker/store.py,sha256=Ed49qEUc16wo643PztZLYNPhVuLNZbx0lALSvpRYwDk,13632
374
- opentrons/protocol_engine/commands/heater_shaker/__init__.py,sha256=ImAPrYSUvP8tI7obvoHmrJbjwLldgGNTnFYRgfXj8hI,2757
382
+ opentrons/protocol_engine/commands/heater_shaker/__init__.py,sha256=r3s1b-yr_Rf9pKpcSJca5QQj_Z77EACczA0pNLvRAJE,3082
375
383
  opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py,sha256=Q7sqFtzUD8wclRLL2PLWjnClIeLtJsiMCobStvzoJKc,2847
384
+ opentrons/protocol_engine/commands/heater_shaker/common.py,sha256=r42wsSGJ0YmV-g9V4K9ZJft-oTdyXcEA25UA7SulW78,636
376
385
  opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py,sha256=UYeGrTmnGtfw22p0agefI2ZnpukKlIgFcmJv9v58Xnc,2755
377
386
  opentrons/protocol_engine/commands/heater_shaker/deactivate_shaker.py,sha256=IikGCkd9m8pyur0Vs6xzihVHBVn_QuoW9NckocPq8Mo,2894
378
387
  opentrons/protocol_engine/commands/heater_shaker/open_labware_latch.py,sha256=Us3lcfNPdezUO66CiWnrloUJMHwVA0gXATBcWZ6Mohw,3892
379
- opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py,sha256=8b35K2lCuDjWzjBfusMJvuOhEWxy9XFk6LlUZ1ZJz1A,4487
380
- opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py,sha256=e5UVzU-xqbQgDwmXq0k0t9RgY6lpCseuzrRQarptaFQ,3181
388
+ 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
381
391
  opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py,sha256=9rnJtqhLGABdmkkHhlykC_Hk56qp0eGGGyyZto-ykZk,3743
382
392
  opentrons/protocol_engine/commands/magnetic_module/__init__.py,sha256=Y9RCovlGHc1unTllpbjcib1Y1qvzSYuV9EeAMzaHyeI,586
383
393
  opentrons/protocol_engine/commands/magnetic_module/disengage.py,sha256=yS4vXR_ajLpuk8TDGtTcnL5TvkJG7KRf1G113EyPQdk,3181
@@ -391,61 +401,64 @@ opentrons/protocol_engine/commands/robot/move_to.py,sha256=Wzj7Wlk-fVgM1hrpI-vV4
391
401
  opentrons/protocol_engine/commands/robot/open_gripper_jaw.py,sha256=QGR0wEpv5k3itq6WysbvaYKbJPQ37CaCi-xa0cXpqTE,2370
392
402
  opentrons/protocol_engine/commands/temperature_module/__init__.py,sha256=DKzhgXNdCHop_U4ogP8AMcAVq90pBQX0MVZjkiDH-Ds,1276
393
403
  opentrons/protocol_engine/commands/temperature_module/deactivate.py,sha256=IIEIKle1Ac_qPB-hUqvWu9qPlpNIHaj9ncpRuxz_hbU,2892
394
- opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py,sha256=A0WaSxbyrU5uMV-eRHz38QOpFtD2yNRYEY89jKBya1k,3462
404
+ opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py,sha256=dJvkBeoElhptfPs9dtazlRGVO52DZeyXIPz94ze7DDM,4643
395
405
  opentrons/protocol_engine/commands/temperature_module/wait_for_temperature.py,sha256=Jmpu_vgW-Jgu7F8S6Nb7TJzRQpVzdgpAJaUraPqayHA,3908
396
- opentrons/protocol_engine/commands/thermocycler/__init__.py,sha256=L4Jx-UkUEDrb4I1SRY9tBN8EprVbtOSWtJpitbqupgM,3914
406
+ opentrons/protocol_engine/commands/thermocycler/__init__.py,sha256=VH2FlpjeygCwj8r156h4PiOJpkJs9ICSEQ3MydGGqSc,4437
397
407
  opentrons/protocol_engine/commands/thermocycler/close_lid.py,sha256=K83l4SkqVgZnadK_uS3kxZxesE7qdhfg0oWluFe1xhA,2933
398
408
  opentrons/protocol_engine/commands/thermocycler/deactivate_block.py,sha256=7mp7HR8tBRqTUmH0326kL8tNe1O6Zcrhyw_kR8QHOfU,2680
399
409
  opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py,sha256=I1nKZpmauO-6h5o3baZtr7NubDmRg2EHbkWAr7PyPPk,2612
400
410
  opentrons/protocol_engine/commands/thermocycler/open_lid.py,sha256=Aw29xFLL92xBV107gwmEfcdl1VpkLWQq5PDAzqHl34I,2900
401
- opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py,sha256=C1bH-jmd66X8CusTsO0zGcUWE_Mcnx2J4joRifviz7w,5769
402
- opentrons/protocol_engine/commands/thermocycler/run_profile.py,sha256=l3A1cIJJsTMMYJrHHUa38UEN-SGPipxWaiojZkO8JSM,4169
403
- opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py,sha256=V6BmoNKBuWDOlFmF9sTJCCz-QZKOQH7fXKzFgyt9H4I,4756
404
- opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py,sha256=3qsG2WBatgD53vdsFR-GZU2VXwydmD-r_0J2Uj8mM1M,3384
411
+ opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py,sha256=47aoCSP3GGljujIAizEf59fskpw27YYz_i5OI3xk3OA,6042
412
+ 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
405
416
  opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py,sha256=Wc8NQBIOcSl5nwsts6KlUfJXHcvXnSF1td_olzqJGec,3101
406
417
  opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py,sha256=KZHt1dUWPrWUk_d0hl0TiAQhfaVdc_YZcxyMcZ0FLq8,2971
407
418
  opentrons/protocol_engine/commands/unsafe/__init__.py,sha256=k6GnVD4gkCKIpU9T-F4bt-zaTVjJ9snWwActT49znu8,5224
408
419
  opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py,sha256=uK9240g-lx0JE1N1f6Nfj_crhf9olHmzcxbUk6sMZoU,3374
409
420
  opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py,sha256=c4PF5efb-g5JaopnPoTJTtiV85JsWLqCghfGtq6UHp8,4083
410
421
  opentrons/protocol_engine/commands/unsafe/unsafe_engage_axes.py,sha256=Ze5hLslsXdd7l3lF0GKOPoWCdTmqTTGIjiTQyNhL-W4,2502
411
- opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py,sha256=mcIPhcQvVCUL_wfb2-JPrCvIFTXMVD93VeJb4H1LmhM,7873
422
+ opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py,sha256=QAUg7ICZAAifuf1CfeGT9HkrXFbd6r_ezS5AiSb8sQE,7235
412
423
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_close_latch.py,sha256=HtzQsqJh0IxVJ4QEG3NbBXbjO-15dI6YbJ1KQQ03jn4,3131
413
424
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_manual_retrieve.py,sha256=oujzsRFF4rdQeRWdW68LhUe_0QBnhSW8SGWdi_ImZzk,11176
414
425
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py,sha256=5f4VnKAyXAyOXhXU21yUqaSGdW_ttd3iolgqc2GYfsU,3098
415
426
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py,sha256=pbtr056EiB8byHIdEre7Th1pAXInXCDBzV19im_51ck,4446
416
427
  opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py,sha256=9Sjx92JZhi-tRY1P77M--jJp4JzIGESXUakIpstESwQ,2461
417
428
  opentrons/protocol_engine/commands/unsafe/update_position_estimators.py,sha256=xLe3u3rYu1eOvWxDtA2xsvNy7H6TVtljqo-78nOtFLI,2994
418
- opentrons/protocol_engine/errors/__init__.py,sha256=g8l-se91A5t5KZb6kaemeliIXj2q0TH5O70anwDKMCA,6094
429
+ opentrons/protocol_engine/errors/__init__.py,sha256=X-RW6sCQqCKTUH4D4rJwcmVSsGHuwlRGnj7KWw5TRLk,6210
419
430
  opentrons/protocol_engine/errors/error_occurrence.py,sha256=ODyXHxVO4iXDxpcLaC3uO7ocTOOGPqWwcC1uaiytv0c,7846
420
- opentrons/protocol_engine/errors/exceptions.py,sha256=GLY_gvLH5S4UWeX0FWtwE1Amq2ly7kaz4GdmWaUC2Jc,46087
421
- opentrons/protocol_engine/execution/__init__.py,sha256=X8qTYYOc1v84JIDM1xYpIo3VG_BPnsrfl2jm9UUQGwQ,1384
422
- opentrons/protocol_engine/execution/command_executor.py,sha256=SxE6W9_8HgiCLiPu6Q8hJr2HKsO1Ta-V1PdmFDxa7rQ,8208
423
- opentrons/protocol_engine/execution/create_queue_worker.py,sha256=6hMuOqbqwfMn63idsrAgro0NJZoyX4VVH7AV3le2EWM,3372
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
424
435
  opentrons/protocol_engine/execution/door_watcher.py,sha256=C1CojQj_ddNAC5rS8YMZZbJtfmz2K9zYqllWTg5NKgU,4634
425
436
  opentrons/protocol_engine/execution/equipment.py,sha256=Jbg9ZR7vTw3i3WDy0xNe9J5idFuXkdxPSzfWaYH2DyI,30046
426
437
  opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.py,sha256=tLhMbYOetXSSWF8B6wCL4ksxvs71IGqJD6syMbB9A1E,4352
427
438
  opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEyJIXV0tHkc4UWDDjWFCClYo,26477
428
439
  opentrons/protocol_engine/execution/hardware_stopper.py,sha256=ZlhVYEdFfuKqp5slZBkustXcRPy5fJsw2rmfYzHuJkQ,6127
429
440
  opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py,sha256=BSFLzSSeELAYZCrCUfJZx5DdlrwU06Ur92TYd0T-hzM,9084
430
- opentrons/protocol_engine/execution/labware_movement.py,sha256=0QnTf98CpYItP1icvNpwUeIa2LUWk4w7yBCUVJw-64g,12656
431
- opentrons/protocol_engine/execution/movement.py,sha256=ZU4K4OHnzZYCZbk3RwfSOC6C3T2jtBlvYMppJhJSF08,12749
441
+ opentrons/protocol_engine/execution/labware_movement.py,sha256=N1_zcak0Tb8ZO_c8eqz45gWC5ugryOT61Cp3qLLAOAE,12446
442
+ opentrons/protocol_engine/execution/movement.py,sha256=NJUs1mtC8R8qR1x2RVTI3q9hyVuLkvCvIM1SnD8sPH0,12899
432
443
  opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
433
- opentrons/protocol_engine/execution/queue_worker.py,sha256=LM753TrQzJoKUSIrtcaHDOWLe58zcpx-fUOLVpyDlHM,3302
444
+ opentrons/protocol_engine/execution/queue_worker.py,sha256=2cfyplUWdPyxxLbH3H8TbtB9Fvjx__ASluiJXyJBoqU,3537
434
445
  opentrons/protocol_engine/execution/rail_lights.py,sha256=eiJT6oI_kFk7rFuFkZzISZiLNnpf7Kkh86Kyk9wQ_Jo,590
435
- opentrons/protocol_engine/execution/run_control.py,sha256=ksvI2zkguC4G3lR3HJgAF8uY1PNcaRfi7UOYu-oIZgo,1144
446
+ opentrons/protocol_engine/execution/run_control.py,sha256=Wn3FGuBZrYddf7Dzcz5v1hHF0DbzRxCykl6vs15BZP0,1450
436
447
  opentrons/protocol_engine/execution/status_bar.py,sha256=tR7CHS_y1ARQxcSKDO4YFU2cqVQhePzalmzsyH8b23A,970
448
+ opentrons/protocol_engine/execution/task_handler.py,sha256=5vkCYbHa4QUgnQBQzd1DUlSRlXBafJSgFLEjUNGLBNo,5654
437
449
  opentrons/protocol_engine/execution/thermocycler_movement_flagger.py,sha256=A4VD_0W5oqEx05UIsDnNbTYCFH0VEabxJqHFkssBPHs,8249
438
450
  opentrons/protocol_engine/execution/thermocycler_plate_lifter.py,sha256=j33nYV8rkeAYUOau8wFIyJVWjWkjyildleYHCysez-o,3375
439
451
  opentrons/protocol_engine/execution/tip_handler.py,sha256=Ouunj3KVqz-UMbkjFIbJJr2zpfgcUht_r4_60uHEx3M,19731
440
452
  opentrons/protocol_engine/notes/__init__.py,sha256=G0bIQswsov7MrJU0ArrOaWcOTxJU9BCUmNR3LRoNg-Q,311
441
453
  opentrons/protocol_engine/notes/notes.py,sha256=A5C9xHExlS9GAK7o_mYiKJgibBm6EEgHQ4PJor0IET0,1993
442
- opentrons/protocol_engine/resources/__init__.py,sha256=yvGFYpmLoxHYQff_IwiaEH9viZUfal5D5K91UjYLwwY,805
443
- opentrons/protocol_engine/resources/deck_configuration_provider.py,sha256=K3_FKHNpeM1_kTjHGBbrMPaCZsbEEOUaY8licOd6Xh8,9411
454
+ opentrons/protocol_engine/resources/__init__.py,sha256=_6yjqFYkTvmyRvLQJyNXoae5pK-qUVtYBMmk2bPH3jk,886
455
+ opentrons/protocol_engine/resources/concurrency_provider.py,sha256=iEi1jOaOTQAFTKSkGex0GRMihKvouftbxuDH8GdVRkI,941
456
+ opentrons/protocol_engine/resources/deck_configuration_provider.py,sha256=8gA5gHaXbTf03-60QSg5qsBHrAIcfvNSaOTcyJJw9EA,9712
444
457
  opentrons/protocol_engine/resources/deck_data_provider.py,sha256=63c-Hmwy5IbVSoAL3hYoZxizxwzCqbB2KgJptpLX3Bc,3001
445
458
  opentrons/protocol_engine/resources/file_provider.py,sha256=6btMCDN7NsyFlV7Icy5vDO7xsgbmtkeAM_KCuQ-GvRo,5903
446
459
  opentrons/protocol_engine/resources/fixture_validation.py,sha256=WyGjMjc-DGiNTojesXdwFfCyF3KYl7R2jmEk7teLyxQ,2166
447
460
  opentrons/protocol_engine/resources/labware_data_provider.py,sha256=i0otj_dACWHK23mBGjXGwTJtE4sooov2_YQOMIulzJo,3836
448
- opentrons/protocol_engine/resources/labware_validation.py,sha256=6UkWktVvGNpOrRov4vEZ2A8qbjJMuKlisSQvr4Z749A,2747
461
+ opentrons/protocol_engine/resources/labware_validation.py,sha256=xoABKcP0x-O70e2bA8720LzQCBrHBiUWOsfZD2ro9zQ,2858
449
462
  opentrons/protocol_engine/resources/model_utils.py,sha256=C3OHUi-OtuFUm3dS5rApSU3EJ0clnaCZEyBku5sTjzA,941
450
463
  opentrons/protocol_engine/resources/module_data_provider.py,sha256=DaTv3QqrlpKEXlIfBCSgXwlyOrV2YqWcxlHD0MGKWWw,1558
451
464
  opentrons/protocol_engine/resources/ot3_validation.py,sha256=0x81JoZBXcj2xUVcOF7v5ETc8y5T_sbs-jTPxuSnooE,744
@@ -453,28 +466,30 @@ opentrons/protocol_engine/resources/pipette_data_provider.py,sha256=bsrknDnHWpp5
453
466
  opentrons/protocol_engine/state/__init__.py,sha256=hDdA4GjXbi9h7K_FMbQGT9tOw3YtRNn5LIryMdkotS8,36
454
467
  opentrons/protocol_engine/state/_abstract_store.py,sha256=b5cqKZhI6ERZj6gyL0kDutD6ogdQngR3T-JmPATvhi8,631
455
468
  opentrons/protocol_engine/state/_axis_aligned_bounding_box.py,sha256=W_fkz7vUrtWlrJIp7GoSgceCj3YRcLSUafktQdRI3xg,1373
456
- opentrons/protocol_engine/state/_labware_origin_math.py,sha256=-_rSAdFDS1juUnqaXV7yQuNnapspQOych8Nxt2ZsjVQ,23978
457
469
  opentrons/protocol_engine/state/_move_types.py,sha256=STLssWsXMY92F_asAQrixv10A6QsCkHYAvKQs0igTGE,2230
458
- opentrons/protocol_engine/state/_well_math.py,sha256=hppbOs4G6yQ6wgvKQWNhOs2zdYA_MwFW7qKgg2bGyx0,9714
459
- opentrons/protocol_engine/state/addressable_areas.py,sha256=3tjP7EedkpD5_tjTXa2n0PlQRRf1ttLrh_hOl9k0ThI,28811
470
+ opentrons/protocol_engine/state/_well_math.py,sha256=iL-1SfX-Lp3G7KImeo6FhOQfpPAYl1BADXTXv4WqbJI,10904
471
+ opentrons/protocol_engine/state/addressable_areas.py,sha256=oY284H3_yiHACjAxT_CIG-Ure9mKdI71UHXoEL9QDS8,28937
460
472
  opentrons/protocol_engine/state/command_history.py,sha256=cz3Nllk045OpK6r9m4ByZr2hcCYo4pTy-2uoIZtV5XE,12241
461
- opentrons/protocol_engine/state/commands.py,sha256=y5WE2pKmnMalgHFHEiBnBurO2TZ9wVPDMpS8Y9wMyrs,45612
473
+ opentrons/protocol_engine/state/commands.py,sha256=2kjNH-pXgJYt3QrSN6V0fJ0sG-WRrJvdD374kDpDa8k,45753
462
474
  opentrons/protocol_engine/state/config.py,sha256=7jSGxC6Vqj1eA8fqZ2I3zjlxVXg8pxvcBYMztRIx9Mg,1515
463
475
  opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3dwtisJ-9j8E,1753
464
476
  opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
465
- opentrons/protocol_engine/state/geometry.py,sha256=X-xyaF0orHMrNzZfzyGeOonazk0F67toJPbfGQmtmfM,105687
477
+ opentrons/protocol_engine/state/geometry.py,sha256=pDw9IsupW7ub34OR23GmgIDYOiymHguFn03UCNZW3iQ,98181
466
478
  opentrons/protocol_engine/state/inner_well_math_utils.py,sha256=UhemsPpcuKwVc-iGXI2-v--miOGNunAnAVznJTVADlQ,20598
467
- opentrons/protocol_engine/state/labware.py,sha256=vwagsqSBAIkVj4eupu0pIK6F3idnqqoRWDjVbp4ZwKQ,62977
479
+ opentrons/protocol_engine/state/labware.py,sha256=3pQQtwaaGEszjjEKBjLmYxHS5x0WtP89cKiO9NnznfA,61324
468
480
  opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
469
481
  opentrons/protocol_engine/state/liquids.py,sha256=NoesktcQdJUjIVmet1uqqJPf-rzbo4SGemXwQC295W0,2338
470
- opentrons/protocol_engine/state/modules.py,sha256=UbvbJcx45n5hZRbxQMTmxrA1rFichsWNUj6SpPAsBIU,61816
471
- opentrons/protocol_engine/state/motion.py,sha256=pWt28-vBaO6dz_rtvoliUsGDvls_ML6sRfDOwmD0F7g,15086
482
+ opentrons/protocol_engine/state/modules.py,sha256=oble199Vz29tTB7MGbGXKGY-gAYveKiU0AU0uhJSN9o,62572
483
+ opentrons/protocol_engine/state/motion.py,sha256=lEBwAeaIYNH38226IWy68m-EPhZvqq-wvQQhGVDCwLo,16983
472
484
  opentrons/protocol_engine/state/pipettes.py,sha256=Q-aDiVvOVvUXq930vvMvAWhK7aZ06-8FLZB6jO95dwQ,38531
473
- opentrons/protocol_engine/state/state.py,sha256=X8Sb2HN01nmNBY1Rw6qeLOjSuIWTbiq4g5otsd4u6A0,15600
474
- opentrons/protocol_engine/state/state_summary.py,sha256=tu-xJYKbKzeLk9Z0RwSaz0tUs6blYuxSA5V2n7_zSGk,1180
475
- opentrons/protocol_engine/state/tips.py,sha256=kvYG3VO98VGloJiGiWNoNJ1JOfqPGWx6Yz--LXHcfK4,18307
476
- opentrons/protocol_engine/state/update_types.py,sha256=qyTeiJgC6xRJghLShsgTvH5LDieUTDWRCvRiYvU8Czs,28379
485
+ opentrons/protocol_engine/state/state.py,sha256=imnlchJA-DKkhsl6rU3mHN5AaGlWuYYEXGXEMf2NlDY,16068
486
+ opentrons/protocol_engine/state/state_summary.py,sha256=e5ri08ISGWyXdpFYtsDJ-vhJsktCfnIZrwpU7johqOQ,1256
487
+ opentrons/protocol_engine/state/tasks.py,sha256=Lo5gI7Uh7OoXQHTFA05BS3E4neJVH9U21gP3l-uOZxE,4899
488
+ opentrons/protocol_engine/state/tips.py,sha256=yGTawyNgUbBBiigjcRvd06seWQvgg4vpr2osUGTuTdM,14439
489
+ opentrons/protocol_engine/state/update_types.py,sha256=WdDYNLR2PfqbNyLOiute4P71_66SAopwL2CU66ASR4g,28569
477
490
  opentrons/protocol_engine/state/wells.py,sha256=rCFiyS8EOgvmsrFr2pHU3SY79ZRkZg_nhFfoH1pMjb0,10996
491
+ 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
478
493
  opentrons/protocol_engine/state/module_substates/__init__.py,sha256=7OIzc7Zzm-7WRys6M90ZzJ7BZhivuZ1BHJ35TdOPasE,1377
479
494
  opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py,sha256=jiD8WqFEafGnka5n46vJ_qhS8Ofh--hTxuBWXk8eefE,1431
480
495
  opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py,sha256=bPpyrybFfzVPueMDoXtT9bXC-1k5nVwDuOG15-2krA0,4324
@@ -482,16 +497,16 @@ opentrons/protocol_engine/state/module_substates/heater_shaker_module_substate.p
482
497
  opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py,sha256=kjzQK0wz4l1rt-OZ4c9J_rZejmEP4zwFX-QHEl_LNqE,362
483
498
  opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py,sha256=IJ5zpufz5WSRbJqHOAi-WroDxpsRZz-GvwznIL4v7VQ,2468
484
499
  opentrons/protocol_engine/state/module_substates/temperature_module_substate.py,sha256=w9h6EBM1YY8SeUOlUz5-nW1Zoyce8-zua8Z6mX4sDNg,2310
485
- opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py,sha256=fLt2jMsbnfe8Q25vAjloxLBGdx8sotqM34VxbwfegpE,5167
486
- opentrons/protocol_engine/types/__init__.py,sha256=8zInoWjiYEAir1Frq1ESEdFYj17aBH4zXjxL4odPLR0,8376
500
+ opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py,sha256=oc-x6oUemD4ybXhCt5Bc7lWoB7hI7LggzpiyZXgI4ek,6442
501
+ opentrons/protocol_engine/types/__init__.py,sha256=Xhjucxob68I0AF5Refy3yQZkoMGDNET7mbNiYKQ9AGo,8516
487
502
  opentrons/protocol_engine/types/automatic_tip_selection.py,sha256=I_B3iWei1Sl7F7IrMKqOn4S12heZXRnfKvtCTUXIMyM,1118
488
503
  opentrons/protocol_engine/types/command_annotations.py,sha256=5A4k_R_4A2_nGl0K85SKwNlnKA09fUhEIe_mdU55yro,1843
489
- opentrons/protocol_engine/types/deck_configuration.py,sha256=3dhkk3Z_PrJvqb26brkEdlyzMAGih_UopoEzu9k6SRk,2422
504
+ opentrons/protocol_engine/types/deck_configuration.py,sha256=xqP5vWM1UjE2saaEFkR3a5RVJH2S9O6HPu-CUHZV_MA,2489
490
505
  opentrons/protocol_engine/types/execution.py,sha256=6g_NvlF4niXjFQwDjkmTgKx-N6I8ypAc_DYEI9RP-IU,3719
491
506
  opentrons/protocol_engine/types/hardware_passthrough.py,sha256=tpTE3XHbRjXWQqY0rgosIfcOAGHqMkOpIU3IpIXgdAA,534
492
- opentrons/protocol_engine/types/instrument.py,sha256=sqiY6OKYgI0ViQ2UsuYMkL9MI6OpvdgLzC1mvclrp2M,984
507
+ opentrons/protocol_engine/types/instrument.py,sha256=7Va5JUz1StpeSQGjt4e75QQeZFWyDAB2J_-tJ7rl1Eg,1134
493
508
  opentrons/protocol_engine/types/instrument_sensors.py,sha256=CGcChvuxpRXVJHLZP_wd1ej3XDD9x1S9biugMAnk0tM,1449
494
- opentrons/protocol_engine/types/labware.py,sha256=huIKtzEmWJcWuyKq5jN_3Ra4QXRDUbaK2Ck0O3vV5zU,4615
509
+ opentrons/protocol_engine/types/labware.py,sha256=Y7oobgfhVWKmDJoWV9l8xzut_Xr3qyEjQdlIwDJnvOs,4225
495
510
  opentrons/protocol_engine/types/labware_movement.py,sha256=BEZIDc-6YhU9LRACi0ozroIxuOIq-tngvrFE22uufjs,577
496
511
  opentrons/protocol_engine/types/labware_offset_location.py,sha256=gXOmIHLD1Hk6OhfhmV9Uf2HN0rIKD6syWSPfYehB9QQ,4237
497
512
  opentrons/protocol_engine/types/labware_offset_vector.py,sha256=2M_q0vSjOyjujt-0NY9NM0asQS27MHYElcFgoKCAZAY,377
@@ -500,10 +515,11 @@ opentrons/protocol_engine/types/liquid_class.py,sha256=SF5WS3s38S87efUqawRGSIYqj
500
515
  opentrons/protocol_engine/types/liquid_handling.py,sha256=Xx1GihrNRJJdJJA5zIwWvIYNydbSXAHjSUAliF18Iu0,319
501
516
  opentrons/protocol_engine/types/liquid_level_detection.py,sha256=hdSztrZcexko7p4lEkC8YuKlepv3j6ovKhMeQZuUHcg,6348
502
517
  opentrons/protocol_engine/types/location.py,sha256=qIYBs86RO1ws2aXStmdx0CqEVNF9enlj-ACknf75nSs,5707
503
- opentrons/protocol_engine/types/module.py,sha256=EDfRqa1Wb1siZ8vt7zQVCjCRcTiGoOjqzrgySdxm-zw,9729
518
+ opentrons/protocol_engine/types/module.py,sha256=EwF-eQS31DttyLRc_uNbIsVx8glsqwOkmlED0rtE038,10033
504
519
  opentrons/protocol_engine/types/partial_tip_configuration.py,sha256=4RMtHOAX-dgpXWA737tthj_izTBnhKphBcA24LAKmhI,2760
505
520
  opentrons/protocol_engine/types/run_time_parameters.py,sha256=5gH4GmGK7e3OkSClftZT6VA4wXELIvEMgpmQ__waceU,4468
506
- opentrons/protocol_engine/types/tip.py,sha256=qfjnCPG7RAlTGS80SAQB8rGwtFW3yRWYj7DpYy0oDow,389
521
+ opentrons/protocol_engine/types/tasks.py,sha256=2E7jdMuq7uknAylRI6uC_jwZYbdrqPlUc4PfmIkXo1A,715
522
+ opentrons/protocol_engine/types/tip.py,sha256=1fwftev92OuuO7z18jR6ZB0tVijOBaARGpMyZKXE20E,560
507
523
  opentrons/protocol_engine/types/util.py,sha256=n94IDny6jeeIO1mCkMNgrB5G5aRYDaOvzbohYYFN-es,356
508
524
  opentrons/protocol_engine/types/well_position.py,sha256=bktvL-DGwtP0GbgPNbpsBfMhFj49sE00JTc9KCUesTw,3318
509
525
  opentrons/protocol_reader/__init__.py,sha256=BGQOig6EgY-3eeLkxmVeZ9VhqOt4QUiG_rQJwiuW8uY,959
@@ -518,14 +534,14 @@ opentrons/protocol_reader/protocol_reader.py,sha256=QpZ-orePbxIQbNDctoTSJLzoK4O1
518
534
  opentrons/protocol_reader/protocol_source.py,sha256=zPzdu9gH9ZK_C2n9vpK1u7isdoZhkYbV0f4SqANOLi4,3939
519
535
  opentrons/protocol_reader/role_analyzer.py,sha256=DyC1Y7V1wiDHYS0uo8pugnknsRzCXXTpKCll4iTX8I0,3023
520
536
  opentrons/protocol_runner/__init__.py,sha256=Sr0gBDzNv3nuHPapeNy_IWadhohtwmlhfnB4V105q6g,551
521
- opentrons/protocol_runner/create_simulating_orchestrator.py,sha256=S1Fu9TMa3NrujcPYTfULHpfqLTkrZPYz7CbcXtcDes0,4249
537
+ opentrons/protocol_runner/create_simulating_orchestrator.py,sha256=yqDNIeOaZR20cQTQfQJuzyJKXchJ_-BGbkP2x79qGJo,5245
522
538
  opentrons/protocol_runner/json_file_reader.py,sha256=dE9ujq3sWyKF1yFg0AN8h-roGVfvqf1tEcIq5wxHbxE,2341
523
539
  opentrons/protocol_runner/json_translator.py,sha256=lrDzHOOkQ19ac4KEdUbfEOnfx-F_QCO-6oGqQZegy4g,12134
524
540
  opentrons/protocol_runner/legacy_command_mapper.py,sha256=yUCfnp4sNawFikrujyPo27Ba_aOy-kr-9F3dOK6Zu9Q,37125
525
541
  opentrons/protocol_runner/legacy_context_plugin.py,sha256=G_qpeyaLvsCjb72_n96Luy8CPSfgPZpt0QKVzKc6LKY,4730
526
542
  opentrons/protocol_runner/protocol_runner.py,sha256=YUHZvttojkYghq82IWYWvTfN2kUZ1oZdm8Fm4K-zftI,21658
527
543
  opentrons/protocol_runner/python_protocol_wrappers.py,sha256=KEuM4M7rYD4zLjTqK89T47CiBIZJ42kG0JXWarLUq4E,6511
528
- opentrons/protocol_runner/run_orchestrator.py,sha256=tiuidZgpFTf6oqdw81glFuOT-CPPuAy_W6PYXzgHsCo,20107
544
+ opentrons/protocol_runner/run_orchestrator.py,sha256=uaBWkrSLRxcR2WvWJHGRnAIy3m3bsZTxDW9WLsaG_lA,20768
529
545
  opentrons/protocol_runner/task_queue.py,sha256=gXvilc3UjCBKDaJFSeIsp_DGoubPSh8RCKKcxXvt-vY,2708
530
546
  opentrons/protocols/__init__.py,sha256=cOUxilkIvdlqGvN4nYJQYr0TGdIWnzxBaTfoz3svmw8,245
531
547
  opentrons/protocols/bundle.py,sha256=QW_2kwnxgdG_nNPl2e110A5ehOH9Ej63-9TBx-F9Yvw,3666
@@ -542,11 +558,11 @@ opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=w
542
558
  opentrons/protocols/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
543
559
  opentrons/protocols/api_support/constants.py,sha256=pI_zJ8oORr6FUOaF508ttll3KOIYqRRgcwVFwnqZuqc,262
544
560
  opentrons/protocols/api_support/deck_type.py,sha256=cBxm-IQqFyL1QtYTMGtLXOlyuh-67xWgnJSP6rkg8oc,3942
545
- opentrons/protocols/api_support/definitions.py,sha256=Sg0LIzkncnqTPz-e6EtLxdPmEVhogKkmDv3lTpGfmdI,727
561
+ opentrons/protocols/api_support/definitions.py,sha256=uwrJKfraRhFM_DFBJrRfHaRhKtIqWzfxciySxhVeDwA,727
546
562
  opentrons/protocols/api_support/instrument.py,sha256=xbgFKbJU_gL1QjbH_mgGHJx2USQIQisjEkBHiFfYEqA,5712
547
563
  opentrons/protocols/api_support/labware_like.py,sha256=JArK3XIYSMzDJTnpsVg9KNcMBEaRLMllmbV4ZtcI02s,7701
548
564
  opentrons/protocols/api_support/tip_tracker.py,sha256=ztngh5wGworD77ycKHm3_f9EqjT24VFXIAARAGcCPns,7407
549
- opentrons/protocols/api_support/types.py,sha256=rG9ogC8Q8PnWO814KHkcOtkhu7mz8P19Vq23J1Ch-NU,826
565
+ opentrons/protocols/api_support/types.py,sha256=Raf135jQ-WZ5MMKcrrlg55_ro2FK2KfnkF9jIk-zVfU,867
550
566
  opentrons/protocols/api_support/util.py,sha256=Y-taVQs_nekISZPn82pCQVhvtYF85t-gL41L36wDoQE,13047
551
567
  opentrons/protocols/duration/__init__.py,sha256=7z2fQSrAEqtughcs_EnEDZT74qHAvorUB9ryMMuqgkk,75
552
568
  opentrons/protocols/duration/errors.py,sha256=hw7MED89bbMHJMib1O0BrmdXBwrTn1tJqXfkK22jZTc,208
@@ -575,7 +591,7 @@ opentrons/protocols/parameters/validation.py,sha256=uNwoU3cUlnV5NdvnR6vyxoTNUwos
575
591
  opentrons/resources/smoothie-edge-8414642.hex,sha256=1hiY8t0wTnMSLtIVe_lVhgFR6pdEsh4PEPjv99xbVVA,1035222
576
592
  opentrons/resources/scripts/lpc21isp,sha256=tioSU5T7a9otaalLK91_jTcgmRRXb10JQGfmGO_iKn8,329864
577
593
  opentrons/system/__init__.py,sha256=_0_HR5vwNng4bsxU_gI0KAREkvb1TogdsNmOHR3V71g,307
578
- opentrons/system/camera.py,sha256=AK7nAJ4CTg0HPeCAg_NUILkinXddLGUIVEQxwPswKfA,1720
594
+ opentrons/system/camera.py,sha256=-jd1YboaqukXol06kXJMVammylmxcxauCi3hjsAysaA,1730
579
595
  opentrons/system/log_control.py,sha256=4whbd1AFbRJOByQ6bZaiOQ8Dhi3YceBHYzIBStY38Vw,1535
580
596
  opentrons/system/nmcli.py,sha256=OBLIBlP5wwjh-tzO5p2-h7jJ4-1kgI-mCti6NS7589Y,30317
581
597
  opentrons/system/resin.py,sha256=RLX_wKHj2TYxm-YPu4_27YopFkDAhdYMFOqGDdmKGy0,597
@@ -595,8 +611,8 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
595
611
  opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
596
612
  opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
597
613
  opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
598
- opentrons-8.7.0a6.dist-info/METADATA,sha256=RU-1uPU6tiSwIoBZzbwMcTfEa8XHYGoDrwFYgFq5RbU,1607
599
- opentrons-8.7.0a6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
600
- opentrons-8.7.0a6.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
601
- opentrons-8.7.0a6.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
602
- opentrons-8.7.0a6.dist-info/RECORD,,
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,,