opentrons 8.7.0a1__py3-none-any.whl → 8.7.0a2__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 (119) hide show
  1. opentrons/_version.py +2 -2
  2. opentrons/drivers/thermocycler/abstract.py +1 -0
  3. opentrons/drivers/thermocycler/driver.py +33 -4
  4. opentrons/drivers/thermocycler/simulator.py +2 -0
  5. opentrons/hardware_control/api.py +24 -5
  6. opentrons/hardware_control/backends/controller.py +8 -2
  7. opentrons/hardware_control/backends/ot3controller.py +3 -0
  8. opentrons/hardware_control/backends/ot3simulator.py +2 -1
  9. opentrons/hardware_control/backends/simulator.py +2 -1
  10. opentrons/hardware_control/backends/subsystem_manager.py +5 -2
  11. opentrons/hardware_control/module_control.py +82 -8
  12. opentrons/hardware_control/modules/__init__.py +3 -0
  13. opentrons/hardware_control/modules/absorbance_reader.py +11 -4
  14. opentrons/hardware_control/modules/flex_stacker.py +38 -9
  15. opentrons/hardware_control/modules/heater_shaker.py +30 -5
  16. opentrons/hardware_control/modules/magdeck.py +8 -4
  17. opentrons/hardware_control/modules/mod_abc.py +13 -5
  18. opentrons/hardware_control/modules/tempdeck.py +25 -5
  19. opentrons/hardware_control/modules/thermocycler.py +56 -10
  20. opentrons/hardware_control/modules/types.py +20 -1
  21. opentrons/hardware_control/modules/utils.py +11 -4
  22. opentrons/hardware_control/nozzle_manager.py +3 -0
  23. opentrons/hardware_control/ot3api.py +26 -5
  24. opentrons/hardware_control/scripts/update_module_fw.py +5 -0
  25. opentrons/hardware_control/types.py +31 -2
  26. opentrons/legacy_commands/protocol_commands.py +20 -0
  27. opentrons/legacy_commands/types.py +42 -0
  28. opentrons/motion_planning/waypoints.py +15 -29
  29. opentrons/protocol_api/__init__.py +5 -0
  30. opentrons/protocol_api/_types.py +6 -1
  31. opentrons/protocol_api/core/common.py +3 -1
  32. opentrons/protocol_api/core/engine/_default_labware_versions.py +32 -11
  33. opentrons/protocol_api/core/engine/labware.py +8 -1
  34. opentrons/protocol_api/core/engine/module_core.py +4 -0
  35. opentrons/protocol_api/core/engine/protocol.py +18 -1
  36. opentrons/protocol_api/core/engine/tasks.py +35 -0
  37. opentrons/protocol_api/core/legacy/legacy_module_core.py +2 -0
  38. opentrons/protocol_api/core/legacy/legacy_protocol_core.py +11 -1
  39. opentrons/protocol_api/core/legacy/tasks.py +19 -0
  40. opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +14 -2
  41. opentrons/protocol_api/core/legacy_simulator/tasks.py +19 -0
  42. opentrons/protocol_api/core/module.py +1 -0
  43. opentrons/protocol_api/core/protocol.py +11 -2
  44. opentrons/protocol_api/core/tasks.py +31 -0
  45. opentrons/protocol_api/module_contexts.py +1 -0
  46. opentrons/protocol_api/protocol_context.py +26 -4
  47. opentrons/protocol_api/robot_context.py +38 -21
  48. opentrons/protocol_api/tasks.py +48 -0
  49. opentrons/protocol_api/validation.py +6 -1
  50. opentrons/protocol_engine/actions/__init__.py +4 -2
  51. opentrons/protocol_engine/actions/actions.py +22 -9
  52. opentrons/protocol_engine/clients/sync_client.py +6 -7
  53. opentrons/protocol_engine/commands/__init__.py +42 -0
  54. opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +2 -15
  55. opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +2 -15
  56. opentrons/protocol_engine/commands/aspirate.py +1 -0
  57. opentrons/protocol_engine/commands/command.py +1 -0
  58. opentrons/protocol_engine/commands/command_unions.py +39 -0
  59. opentrons/protocol_engine/commands/create_timer.py +83 -0
  60. opentrons/protocol_engine/commands/dispense.py +1 -0
  61. opentrons/protocol_engine/commands/drop_tip.py +32 -8
  62. opentrons/protocol_engine/commands/movement_common.py +2 -0
  63. opentrons/protocol_engine/commands/pick_up_tip.py +21 -11
  64. opentrons/protocol_engine/commands/set_tip_state.py +97 -0
  65. opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +6 -0
  66. opentrons/protocol_engine/commands/thermocycler/run_profile.py +8 -0
  67. opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +17 -1
  68. opentrons/protocol_engine/commands/touch_tip.py +1 -1
  69. opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +6 -22
  70. opentrons/protocol_engine/commands/wait_for_tasks.py +98 -0
  71. opentrons/protocol_engine/errors/__init__.py +4 -0
  72. opentrons/protocol_engine/errors/exceptions.py +55 -0
  73. opentrons/protocol_engine/execution/__init__.py +2 -0
  74. opentrons/protocol_engine/execution/command_executor.py +8 -0
  75. opentrons/protocol_engine/execution/create_queue_worker.py +5 -1
  76. opentrons/protocol_engine/execution/labware_movement.py +9 -12
  77. opentrons/protocol_engine/execution/movement.py +2 -0
  78. opentrons/protocol_engine/execution/queue_worker.py +4 -0
  79. opentrons/protocol_engine/execution/run_control.py +8 -0
  80. opentrons/protocol_engine/execution/task_handler.py +157 -0
  81. opentrons/protocol_engine/protocol_engine.py +67 -33
  82. opentrons/protocol_engine/resources/__init__.py +2 -0
  83. opentrons/protocol_engine/resources/concurrency_provider.py +27 -0
  84. opentrons/protocol_engine/resources/deck_configuration_provider.py +7 -0
  85. opentrons/protocol_engine/resources/labware_validation.py +10 -6
  86. opentrons/protocol_engine/state/_well_math.py +60 -18
  87. opentrons/protocol_engine/state/addressable_areas.py +2 -0
  88. opentrons/protocol_engine/state/commands.py +7 -7
  89. opentrons/protocol_engine/state/geometry.py +204 -374
  90. opentrons/protocol_engine/state/labware.py +52 -102
  91. opentrons/protocol_engine/state/labware_origin_math/errors.py +94 -0
  92. opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +1331 -0
  93. opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +37 -0
  94. opentrons/protocol_engine/state/modules.py +21 -8
  95. opentrons/protocol_engine/state/motion.py +44 -0
  96. opentrons/protocol_engine/state/state.py +14 -0
  97. opentrons/protocol_engine/state/state_summary.py +2 -0
  98. opentrons/protocol_engine/state/tasks.py +139 -0
  99. opentrons/protocol_engine/state/tips.py +177 -258
  100. opentrons/protocol_engine/state/update_types.py +16 -9
  101. opentrons/protocol_engine/types/__init__.py +9 -3
  102. opentrons/protocol_engine/types/deck_configuration.py +5 -1
  103. opentrons/protocol_engine/types/instrument.py +8 -1
  104. opentrons/protocol_engine/types/labware.py +1 -13
  105. opentrons/protocol_engine/types/module.py +10 -0
  106. opentrons/protocol_engine/types/tasks.py +38 -0
  107. opentrons/protocol_engine/types/tip.py +9 -0
  108. opentrons/protocol_runner/create_simulating_orchestrator.py +29 -2
  109. opentrons/protocol_runner/run_orchestrator.py +18 -2
  110. opentrons/protocols/api_support/definitions.py +1 -1
  111. opentrons/protocols/api_support/types.py +2 -1
  112. opentrons/simulate.py +48 -15
  113. opentrons/system/camera.py +1 -1
  114. {opentrons-8.7.0a1.dist-info → opentrons-8.7.0a2.dist-info}/METADATA +4 -4
  115. {opentrons-8.7.0a1.dist-info → opentrons-8.7.0a2.dist-info}/RECORD +118 -105
  116. opentrons/protocol_engine/state/_labware_origin_math.py +0 -636
  117. {opentrons-8.7.0a1.dist-info → opentrons-8.7.0a2.dist-info}/WHEEL +0 -0
  118. {opentrons-8.7.0a1.dist-info → opentrons-8.7.0a2.dist-info}/entry_points.txt +0 -0
  119. {opentrons-8.7.0a1.dist-info → opentrons-8.7.0a2.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=SN78vIsTT8t_rXBBup1Jg0Zmzddm97urqUZr263vZBg,712
2
+ opentrons/_version.py,sha256=jMQTzg8tI_gJ1qBj3XDSmH_VmZMad1LUNbge6zgRY00,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
@@ -90,41 +90,41 @@ 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=7-bAN_yznl_eoUh00eVw1A8cPUZLpwPTPVPvx1sWYw4,2540
94
+ opentrons/drivers/thermocycler/driver.py,sha256=_es_wQB3bQGeRaTXxFdjIKiS5zE-xrpm0tDEyV9tTos,14532
95
+ opentrons/drivers/thermocycler/simulator.py,sha256=gvPyVZ-inUdJii_4Tr3ee6nWRHcYX_pLgcUNy2VrAmA,4200
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=GFOe3U3Xi_SpcGm5xuMTJobLeJC0ncmRbONjRAiJLsg,3446
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
110
  opentrons/hardware_control/poller.py,sha256=rx6Q-UxbUIj3ek69IlYenFh7BFuasszRO-GzzhRPuHQ,3885
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
@@ -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=MRUMYXTVVe4kaoYYMJ2bIqb4uJwxpXP12kllkr47CnQ,39383
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=b0RzgFnwpWXHOIdRieQxqH1WCrmmBNA5D-zqdJb9PMU,16005
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=MdBOuy8GLClP_qrmEsU1kGyxosIz7qNzu1vCpudIkk4,26911
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,65 +206,68 @@ 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
213
  opentrons/legacy_commands/module_commands.py,sha256=bAqZmsAqXkjf3qzexo9fOs4QxZ-RvcZmdy0_QEcHd7U,9368
214
- opentrons/legacy_commands/protocol_commands.py,sha256=nPYBrm7j9co83IGWjzae2GOVkEZdu58pXQv3eOdpLzg,1383
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=3pv9jBvBPiMvhFRanioKM6AT2tBYVIcE89cag9ZRuqs,31594
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
220
  opentrons/motion_planning/deck_conflict.py,sha256=gIAQYJbSKEn5XM_AoBVCOdp-acQsc0nF5FHaeuF53vg,16757
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=NswU4FToJIDD7bY0p53fpZttxki0w-SVIJRjnRNMNGg,2670
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
237
  opentrons/protocol_api/labware.py,sha256=ZGukS0oE6vOltolNx9ZFXj_HFhm5BRaTnS0tJUKxGsE,63061
238
- opentrons/protocol_api/module_contexts.py,sha256=cPyay45R3SeBckC4fk8txuC7DZoCSeoVSp1ALCMNipQ,63292
238
+ opentrons/protocol_api/module_contexts.py,sha256=c6kV9UpelANL00MIAR0RcTlazfhQBYvVIAGYLkW9meM,63325
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=q16YM8RYx9ngFcRvGIYxc46kioBzBm9WCf7jiamecT4,15869
250
+ opentrons/protocol_api/core/protocol.py,sha256=x1GnXklDsq9FR8NEHu5DLS-w8HuRqwTMLk8xXzFg44w,8951
250
251
  opentrons/protocol_api/core/robot.py,sha256=QMAqj5Oqq3_IhTDyUF4jpWI4j2LRPP9crUiaYD_RUv4,1385
252
+ opentrons/protocol_api/core/tasks.py,sha256=JitBBPrH_8MevcseQKa_lBrYOQPsgw1fYHl41hvigtk,787
251
253
  opentrons/protocol_api/core/well.py,sha256=Lf89YYEyq-ahRSRIFJw42vxIP8Fw6kzIUh9K1HEijUQ,3487
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=lDrCqOZm7ceu1E50EYiSh7qTDMci5cgw4bM-AvLyMjE,98890
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=xWVFbLVXR1o6zLb0hYEjuL2ps4VQOHOJsPtdpV7mjMI,39706
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=MQNMYNII1OxwaQGsKbOgVtmEH54mjDahzD-WHst9MH8,46247
267
+ opentrons/protocol_api/core/engine/protocol.py,sha256=NgrAcRr5_eipkA5ElOMl7zRGXIKEsdms41Ds7et4rgQ,46982
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=eU5Vn5Oegccu8kZrireIO2YwULPWfJnsNe-aDJ9Ytm8,1218
268
271
  opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=mR59C-e6IHSZthlbQEwmRnh5ye8lhr6a0Qp5CNNi9n8,45211
269
272
  opentrons/protocol_api/core/engine/well.py,sha256=IaaFK-3hoUfabfn_twIT7zcAynhzAmRxDnvABss2szo,8923
270
273
  opentrons/protocol_api/core/legacy/__init__.py,sha256=_9jCJNKG3SlS_vljVu8HHkZmtLf4F-f-JHALLF5d5go,401
@@ -273,48 +276,51 @@ opentrons/protocol_api/core/legacy/deck.py,sha256=qHqcGo-Kdkl9L1aOE0pwrm9tsAnwkX
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
279
+ opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=8TjUgTg_JAiUNZHAOePgNnUapZZQOQ3lTZEj90E4aeA,23300
280
+ opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=GTZvcPv84AaAGEHkM9x3g7_zZK5lHR9blWfC505ac6Q,24200
278
281
  opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=wxeiPBqaS8YQwRpDGwF7ykJ0s2y3bExwVGpNbUZMmFg,5560
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=V12emyOAPfCTmxfrZUf1FI4vUOA0DkSY_O_vTgKh_Wc,734
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=vYDDV6xYT7KGdSHydzaR3MoE2JtZNkQGjvcy-Za2XiA,30273
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=9G70U9eoU0JuQn3wr5xF1WGxrCc4mWnqNBWqFSwGmvk,5688
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=hIy_SKgjAMKDu-1M5bG8L-3ONd6DgWhmFOPS3bYdx5I,28364
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
@@ -398,9 +406,9 @@ opentrons/protocol_engine/commands/thermocycler/close_lid.py,sha256=K83l4SkqVgZn
398
406
  opentrons/protocol_engine/commands/thermocycler/deactivate_block.py,sha256=7mp7HR8tBRqTUmH0326kL8tNe1O6Zcrhyw_kR8QHOfU,2680
399
407
  opentrons/protocol_engine/commands/thermocycler/deactivate_lid.py,sha256=I1nKZpmauO-6h5o3baZtr7NubDmRg2EHbkWAr7PyPPk,2612
400
408
  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
409
+ opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py,sha256=47aoCSP3GGljujIAizEf59fskpw27YYz_i5OI3xk3OA,6042
410
+ opentrons/protocol_engine/commands/thermocycler/run_profile.py,sha256=Zuh3WICR4fQsr34NPFI_nwnNTFlN1fcBheb_YbQ2TY8,4504
411
+ opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py,sha256=RN6Wz6S7mCabYXB3hT63Qvvi7qyqbhpZtofkC1Ymbgw,5410
404
412
  opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py,sha256=3qsG2WBatgD53vdsFR-GZU2VXwydmD-r_0J2Uj8mM1M,3384
405
413
  opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py,sha256=Wc8NQBIOcSl5nwsts6KlUfJXHcvXnSF1td_olzqJGec,3101
406
414
  opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py,sha256=KZHt1dUWPrWUk_d0hl0TiAQhfaVdc_YZcxyMcZ0FLq8,2971
@@ -408,44 +416,46 @@ opentrons/protocol_engine/commands/unsafe/__init__.py,sha256=k6GnVD4gkCKIpU9T-F4
408
416
  opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py,sha256=uK9240g-lx0JE1N1f6Nfj_crhf9olHmzcxbUk6sMZoU,3374
409
417
  opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py,sha256=c4PF5efb-g5JaopnPoTJTtiV85JsWLqCghfGtq6UHp8,4083
410
418
  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
419
+ opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py,sha256=QAUg7ICZAAifuf1CfeGT9HkrXFbd6r_ezS5AiSb8sQE,7235
412
420
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_close_latch.py,sha256=HtzQsqJh0IxVJ4QEG3NbBXbjO-15dI6YbJ1KQQ03jn4,3131
413
421
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_manual_retrieve.py,sha256=oujzsRFF4rdQeRWdW68LhUe_0QBnhSW8SGWdi_ImZzk,11176
414
422
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_open_latch.py,sha256=5f4VnKAyXAyOXhXU21yUqaSGdW_ttd3iolgqc2GYfsU,3098
415
423
  opentrons/protocol_engine/commands/unsafe/unsafe_stacker_prepare_shuttle.py,sha256=pbtr056EiB8byHIdEre7Th1pAXInXCDBzV19im_51ck,4446
416
424
  opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py,sha256=9Sjx92JZhi-tRY1P77M--jJp4JzIGESXUakIpstESwQ,2461
417
425
  opentrons/protocol_engine/commands/unsafe/update_position_estimators.py,sha256=xLe3u3rYu1eOvWxDtA2xsvNy7H6TVtljqo-78nOtFLI,2994
418
- opentrons/protocol_engine/errors/__init__.py,sha256=g8l-se91A5t5KZb6kaemeliIXj2q0TH5O70anwDKMCA,6094
426
+ opentrons/protocol_engine/errors/__init__.py,sha256=X-RW6sCQqCKTUH4D4rJwcmVSsGHuwlRGnj7KWw5TRLk,6210
419
427
  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
428
+ opentrons/protocol_engine/errors/exceptions.py,sha256=o_dYxIGNOHGhAVmm8H8Ny1zE74YEIu_RvxQJEkGGQaQ,47868
429
+ opentrons/protocol_engine/execution/__init__.py,sha256=eE_XlX5YlqJ0yEPmrUEwt4EmLZhz_z9PbixCKy3Zq6Y,1441
430
+ opentrons/protocol_engine/execution/command_executor.py,sha256=UjYmLJPgVujnbAqQf_-yqNFQXyT1jaT5gobY1is_nic,8531
431
+ opentrons/protocol_engine/execution/create_queue_worker.py,sha256=DCRre1X-RJUiZQNy-cKpmVCu707REjjHAUiBcoXgSyI,3551
424
432
  opentrons/protocol_engine/execution/door_watcher.py,sha256=C1CojQj_ddNAC5rS8YMZZbJtfmz2K9zYqllWTg5NKgU,4634
425
433
  opentrons/protocol_engine/execution/equipment.py,sha256=Jbg9ZR7vTw3i3WDy0xNe9J5idFuXkdxPSzfWaYH2DyI,30046
426
434
  opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.py,sha256=tLhMbYOetXSSWF8B6wCL4ksxvs71IGqJD6syMbB9A1E,4352
427
435
  opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEyJIXV0tHkc4UWDDjWFCClYo,26477
428
436
  opentrons/protocol_engine/execution/hardware_stopper.py,sha256=ZlhVYEdFfuKqp5slZBkustXcRPy5fJsw2rmfYzHuJkQ,6127
429
437
  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
438
+ opentrons/protocol_engine/execution/labware_movement.py,sha256=N1_zcak0Tb8ZO_c8eqz45gWC5ugryOT61Cp3qLLAOAE,12446
439
+ opentrons/protocol_engine/execution/movement.py,sha256=NJUs1mtC8R8qR1x2RVTI3q9hyVuLkvCvIM1SnD8sPH0,12899
432
440
  opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
433
- opentrons/protocol_engine/execution/queue_worker.py,sha256=LM753TrQzJoKUSIrtcaHDOWLe58zcpx-fUOLVpyDlHM,3302
441
+ opentrons/protocol_engine/execution/queue_worker.py,sha256=2cfyplUWdPyxxLbH3H8TbtB9Fvjx__ASluiJXyJBoqU,3537
434
442
  opentrons/protocol_engine/execution/rail_lights.py,sha256=eiJT6oI_kFk7rFuFkZzISZiLNnpf7Kkh86Kyk9wQ_Jo,590
435
- opentrons/protocol_engine/execution/run_control.py,sha256=ksvI2zkguC4G3lR3HJgAF8uY1PNcaRfi7UOYu-oIZgo,1144
443
+ opentrons/protocol_engine/execution/run_control.py,sha256=Wn3FGuBZrYddf7Dzcz5v1hHF0DbzRxCykl6vs15BZP0,1450
436
444
  opentrons/protocol_engine/execution/status_bar.py,sha256=tR7CHS_y1ARQxcSKDO4YFU2cqVQhePzalmzsyH8b23A,970
445
+ opentrons/protocol_engine/execution/task_handler.py,sha256=5vkCYbHa4QUgnQBQzd1DUlSRlXBafJSgFLEjUNGLBNo,5654
437
446
  opentrons/protocol_engine/execution/thermocycler_movement_flagger.py,sha256=A4VD_0W5oqEx05UIsDnNbTYCFH0VEabxJqHFkssBPHs,8249
438
447
  opentrons/protocol_engine/execution/thermocycler_plate_lifter.py,sha256=j33nYV8rkeAYUOau8wFIyJVWjWkjyildleYHCysez-o,3375
439
448
  opentrons/protocol_engine/execution/tip_handler.py,sha256=Ouunj3KVqz-UMbkjFIbJJr2zpfgcUht_r4_60uHEx3M,19731
440
449
  opentrons/protocol_engine/notes/__init__.py,sha256=G0bIQswsov7MrJU0ArrOaWcOTxJU9BCUmNR3LRoNg-Q,311
441
450
  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
451
+ opentrons/protocol_engine/resources/__init__.py,sha256=_6yjqFYkTvmyRvLQJyNXoae5pK-qUVtYBMmk2bPH3jk,886
452
+ opentrons/protocol_engine/resources/concurrency_provider.py,sha256=iEi1jOaOTQAFTKSkGex0GRMihKvouftbxuDH8GdVRkI,941
453
+ opentrons/protocol_engine/resources/deck_configuration_provider.py,sha256=8gA5gHaXbTf03-60QSg5qsBHrAIcfvNSaOTcyJJw9EA,9712
444
454
  opentrons/protocol_engine/resources/deck_data_provider.py,sha256=63c-Hmwy5IbVSoAL3hYoZxizxwzCqbB2KgJptpLX3Bc,3001
445
455
  opentrons/protocol_engine/resources/file_provider.py,sha256=6btMCDN7NsyFlV7Icy5vDO7xsgbmtkeAM_KCuQ-GvRo,5903
446
456
  opentrons/protocol_engine/resources/fixture_validation.py,sha256=WyGjMjc-DGiNTojesXdwFfCyF3KYl7R2jmEk7teLyxQ,2166
447
457
  opentrons/protocol_engine/resources/labware_data_provider.py,sha256=i0otj_dACWHK23mBGjXGwTJtE4sooov2_YQOMIulzJo,3836
448
- opentrons/protocol_engine/resources/labware_validation.py,sha256=6UkWktVvGNpOrRov4vEZ2A8qbjJMuKlisSQvr4Z749A,2747
458
+ opentrons/protocol_engine/resources/labware_validation.py,sha256=xoABKcP0x-O70e2bA8720LzQCBrHBiUWOsfZD2ro9zQ,2858
449
459
  opentrons/protocol_engine/resources/model_utils.py,sha256=C3OHUi-OtuFUm3dS5rApSU3EJ0clnaCZEyBku5sTjzA,941
450
460
  opentrons/protocol_engine/resources/module_data_provider.py,sha256=DaTv3QqrlpKEXlIfBCSgXwlyOrV2YqWcxlHD0MGKWWw,1558
451
461
  opentrons/protocol_engine/resources/ot3_validation.py,sha256=0x81JoZBXcj2xUVcOF7v5ETc8y5T_sbs-jTPxuSnooE,744
@@ -453,28 +463,30 @@ opentrons/protocol_engine/resources/pipette_data_provider.py,sha256=zyaasVJuWb_3
453
463
  opentrons/protocol_engine/state/__init__.py,sha256=hDdA4GjXbi9h7K_FMbQGT9tOw3YtRNn5LIryMdkotS8,36
454
464
  opentrons/protocol_engine/state/_abstract_store.py,sha256=b5cqKZhI6ERZj6gyL0kDutD6ogdQngR3T-JmPATvhi8,631
455
465
  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
466
  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
467
+ opentrons/protocol_engine/state/_well_math.py,sha256=iL-1SfX-Lp3G7KImeo6FhOQfpPAYl1BADXTXv4WqbJI,10904
468
+ opentrons/protocol_engine/state/addressable_areas.py,sha256=oY284H3_yiHACjAxT_CIG-Ure9mKdI71UHXoEL9QDS8,28937
460
469
  opentrons/protocol_engine/state/command_history.py,sha256=cz3Nllk045OpK6r9m4ByZr2hcCYo4pTy-2uoIZtV5XE,12241
461
- opentrons/protocol_engine/state/commands.py,sha256=y5WE2pKmnMalgHFHEiBnBurO2TZ9wVPDMpS8Y9wMyrs,45612
470
+ opentrons/protocol_engine/state/commands.py,sha256=i4pQUmtQXssOGxR6wMsL9fJf0ztVS-lIXxNj7gQwdOU,45661
462
471
  opentrons/protocol_engine/state/config.py,sha256=7jSGxC6Vqj1eA8fqZ2I3zjlxVXg8pxvcBYMztRIx9Mg,1515
463
472
  opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3dwtisJ-9j8E,1753
464
473
  opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
465
- opentrons/protocol_engine/state/geometry.py,sha256=X-xyaF0orHMrNzZfzyGeOonazk0F67toJPbfGQmtmfM,105687
474
+ opentrons/protocol_engine/state/geometry.py,sha256=3xFm1NC3q_IHYY_3mUlhhKYgSp_jMU3kirzyARPsNw4,97865
466
475
  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
476
+ opentrons/protocol_engine/state/labware.py,sha256=3pQQtwaaGEszjjEKBjLmYxHS5x0WtP89cKiO9NnznfA,61324
468
477
  opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
469
478
  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
479
+ opentrons/protocol_engine/state/modules.py,sha256=oble199Vz29tTB7MGbGXKGY-gAYveKiU0AU0uhJSN9o,62572
480
+ opentrons/protocol_engine/state/motion.py,sha256=lEBwAeaIYNH38226IWy68m-EPhZvqq-wvQQhGVDCwLo,16983
472
481
  opentrons/protocol_engine/state/pipettes.py,sha256=nXXQqeBIArPu0rEz-Y6OqA_F23A7uxPHVC2JfaJFH_g,38186
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
482
+ opentrons/protocol_engine/state/state.py,sha256=imnlchJA-DKkhsl6rU3mHN5AaGlWuYYEXGXEMf2NlDY,16068
483
+ opentrons/protocol_engine/state/state_summary.py,sha256=e5ri08ISGWyXdpFYtsDJ-vhJsktCfnIZrwpU7johqOQ,1256
484
+ opentrons/protocol_engine/state/tasks.py,sha256=Lo5gI7Uh7OoXQHTFA05BS3E4neJVH9U21gP3l-uOZxE,4899
485
+ opentrons/protocol_engine/state/tips.py,sha256=yGTawyNgUbBBiigjcRvd06seWQvgg4vpr2osUGTuTdM,14439
486
+ opentrons/protocol_engine/state/update_types.py,sha256=WdDYNLR2PfqbNyLOiute4P71_66SAopwL2CU66ASR4g,28569
477
487
  opentrons/protocol_engine/state/wells.py,sha256=rCFiyS8EOgvmsrFr2pHU3SY79ZRkZg_nhFfoH1pMjb0,10996
488
+ opentrons/protocol_engine/state/labware_origin_math/errors.py,sha256=K6FPIwSG0QzDpfQXEjBh_UWgpwMZvUZd8L4xbWrBXME,3211
489
+ opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py,sha256=2xpr8mIkoU69eMwQkq3Kc0Des-cfB1FLWKJoJL-EnDs,53718
478
490
  opentrons/protocol_engine/state/module_substates/__init__.py,sha256=7OIzc7Zzm-7WRys6M90ZzJ7BZhivuZ1BHJ35TdOPasE,1377
479
491
  opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py,sha256=jiD8WqFEafGnka5n46vJ_qhS8Ofh--hTxuBWXk8eefE,1431
480
492
  opentrons/protocol_engine/state/module_substates/flex_stacker_substate.py,sha256=bPpyrybFfzVPueMDoXtT9bXC-1k5nVwDuOG15-2krA0,4324
@@ -482,16 +494,16 @@ opentrons/protocol_engine/state/module_substates/heater_shaker_module_substate.p
482
494
  opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py,sha256=kjzQK0wz4l1rt-OZ4c9J_rZejmEP4zwFX-QHEl_LNqE,362
483
495
  opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py,sha256=IJ5zpufz5WSRbJqHOAi-WroDxpsRZz-GvwznIL4v7VQ,2468
484
496
  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
497
+ opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py,sha256=QYNo1ebsVI2R09QwQbrICrdXLJmfJGxeS6xNnHHLJTA,6425
498
+ opentrons/protocol_engine/types/__init__.py,sha256=Xhjucxob68I0AF5Refy3yQZkoMGDNET7mbNiYKQ9AGo,8516
487
499
  opentrons/protocol_engine/types/automatic_tip_selection.py,sha256=I_B3iWei1Sl7F7IrMKqOn4S12heZXRnfKvtCTUXIMyM,1118
488
500
  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
501
+ opentrons/protocol_engine/types/deck_configuration.py,sha256=xqP5vWM1UjE2saaEFkR3a5RVJH2S9O6HPu-CUHZV_MA,2489
490
502
  opentrons/protocol_engine/types/execution.py,sha256=6g_NvlF4niXjFQwDjkmTgKx-N6I8ypAc_DYEI9RP-IU,3719
491
503
  opentrons/protocol_engine/types/hardware_passthrough.py,sha256=tpTE3XHbRjXWQqY0rgosIfcOAGHqMkOpIU3IpIXgdAA,534
492
- opentrons/protocol_engine/types/instrument.py,sha256=sqiY6OKYgI0ViQ2UsuYMkL9MI6OpvdgLzC1mvclrp2M,984
504
+ opentrons/protocol_engine/types/instrument.py,sha256=7Va5JUz1StpeSQGjt4e75QQeZFWyDAB2J_-tJ7rl1Eg,1134
493
505
  opentrons/protocol_engine/types/instrument_sensors.py,sha256=CGcChvuxpRXVJHLZP_wd1ej3XDD9x1S9biugMAnk0tM,1449
494
- opentrons/protocol_engine/types/labware.py,sha256=huIKtzEmWJcWuyKq5jN_3Ra4QXRDUbaK2Ck0O3vV5zU,4615
506
+ opentrons/protocol_engine/types/labware.py,sha256=Y7oobgfhVWKmDJoWV9l8xzut_Xr3qyEjQdlIwDJnvOs,4225
495
507
  opentrons/protocol_engine/types/labware_movement.py,sha256=BEZIDc-6YhU9LRACi0ozroIxuOIq-tngvrFE22uufjs,577
496
508
  opentrons/protocol_engine/types/labware_offset_location.py,sha256=gXOmIHLD1Hk6OhfhmV9Uf2HN0rIKD6syWSPfYehB9QQ,4237
497
509
  opentrons/protocol_engine/types/labware_offset_vector.py,sha256=2M_q0vSjOyjujt-0NY9NM0asQS27MHYElcFgoKCAZAY,377
@@ -500,10 +512,11 @@ opentrons/protocol_engine/types/liquid_class.py,sha256=SF5WS3s38S87efUqawRGSIYqj
500
512
  opentrons/protocol_engine/types/liquid_handling.py,sha256=Xx1GihrNRJJdJJA5zIwWvIYNydbSXAHjSUAliF18Iu0,319
501
513
  opentrons/protocol_engine/types/liquid_level_detection.py,sha256=hdSztrZcexko7p4lEkC8YuKlepv3j6ovKhMeQZuUHcg,6348
502
514
  opentrons/protocol_engine/types/location.py,sha256=qIYBs86RO1ws2aXStmdx0CqEVNF9enlj-ACknf75nSs,5707
503
- opentrons/protocol_engine/types/module.py,sha256=EDfRqa1Wb1siZ8vt7zQVCjCRcTiGoOjqzrgySdxm-zw,9729
515
+ opentrons/protocol_engine/types/module.py,sha256=EwF-eQS31DttyLRc_uNbIsVx8glsqwOkmlED0rtE038,10033
504
516
  opentrons/protocol_engine/types/partial_tip_configuration.py,sha256=4RMtHOAX-dgpXWA737tthj_izTBnhKphBcA24LAKmhI,2760
505
517
  opentrons/protocol_engine/types/run_time_parameters.py,sha256=5gH4GmGK7e3OkSClftZT6VA4wXELIvEMgpmQ__waceU,4468
506
- opentrons/protocol_engine/types/tip.py,sha256=qfjnCPG7RAlTGS80SAQB8rGwtFW3yRWYj7DpYy0oDow,389
518
+ opentrons/protocol_engine/types/tasks.py,sha256=2E7jdMuq7uknAylRI6uC_jwZYbdrqPlUc4PfmIkXo1A,715
519
+ opentrons/protocol_engine/types/tip.py,sha256=1fwftev92OuuO7z18jR6ZB0tVijOBaARGpMyZKXE20E,560
507
520
  opentrons/protocol_engine/types/util.py,sha256=n94IDny6jeeIO1mCkMNgrB5G5aRYDaOvzbohYYFN-es,356
508
521
  opentrons/protocol_engine/types/well_position.py,sha256=bktvL-DGwtP0GbgPNbpsBfMhFj49sE00JTc9KCUesTw,3318
509
522
  opentrons/protocol_reader/__init__.py,sha256=BGQOig6EgY-3eeLkxmVeZ9VhqOt4QUiG_rQJwiuW8uY,959
@@ -518,14 +531,14 @@ opentrons/protocol_reader/protocol_reader.py,sha256=QpZ-orePbxIQbNDctoTSJLzoK4O1
518
531
  opentrons/protocol_reader/protocol_source.py,sha256=zPzdu9gH9ZK_C2n9vpK1u7isdoZhkYbV0f4SqANOLi4,3939
519
532
  opentrons/protocol_reader/role_analyzer.py,sha256=DyC1Y7V1wiDHYS0uo8pugnknsRzCXXTpKCll4iTX8I0,3023
520
533
  opentrons/protocol_runner/__init__.py,sha256=Sr0gBDzNv3nuHPapeNy_IWadhohtwmlhfnB4V105q6g,551
521
- opentrons/protocol_runner/create_simulating_orchestrator.py,sha256=S1Fu9TMa3NrujcPYTfULHpfqLTkrZPYz7CbcXtcDes0,4249
534
+ opentrons/protocol_runner/create_simulating_orchestrator.py,sha256=yqDNIeOaZR20cQTQfQJuzyJKXchJ_-BGbkP2x79qGJo,5245
522
535
  opentrons/protocol_runner/json_file_reader.py,sha256=dE9ujq3sWyKF1yFg0AN8h-roGVfvqf1tEcIq5wxHbxE,2341
523
536
  opentrons/protocol_runner/json_translator.py,sha256=lrDzHOOkQ19ac4KEdUbfEOnfx-F_QCO-6oGqQZegy4g,12134
524
537
  opentrons/protocol_runner/legacy_command_mapper.py,sha256=yUCfnp4sNawFikrujyPo27Ba_aOy-kr-9F3dOK6Zu9Q,37125
525
538
  opentrons/protocol_runner/legacy_context_plugin.py,sha256=G_qpeyaLvsCjb72_n96Luy8CPSfgPZpt0QKVzKc6LKY,4730
526
539
  opentrons/protocol_runner/protocol_runner.py,sha256=YUHZvttojkYghq82IWYWvTfN2kUZ1oZdm8Fm4K-zftI,21658
527
540
  opentrons/protocol_runner/python_protocol_wrappers.py,sha256=KEuM4M7rYD4zLjTqK89T47CiBIZJ42kG0JXWarLUq4E,6511
528
- opentrons/protocol_runner/run_orchestrator.py,sha256=tiuidZgpFTf6oqdw81glFuOT-CPPuAy_W6PYXzgHsCo,20107
541
+ opentrons/protocol_runner/run_orchestrator.py,sha256=uaBWkrSLRxcR2WvWJHGRnAIy3m3bsZTxDW9WLsaG_lA,20768
529
542
  opentrons/protocol_runner/task_queue.py,sha256=gXvilc3UjCBKDaJFSeIsp_DGoubPSh8RCKKcxXvt-vY,2708
530
543
  opentrons/protocols/__init__.py,sha256=cOUxilkIvdlqGvN4nYJQYr0TGdIWnzxBaTfoz3svmw8,245
531
544
  opentrons/protocols/bundle.py,sha256=QW_2kwnxgdG_nNPl2e110A5ehOH9Ej63-9TBx-F9Yvw,3666
@@ -542,11 +555,11 @@ opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=w
542
555
  opentrons/protocols/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
543
556
  opentrons/protocols/api_support/constants.py,sha256=pI_zJ8oORr6FUOaF508ttll3KOIYqRRgcwVFwnqZuqc,262
544
557
  opentrons/protocols/api_support/deck_type.py,sha256=cBxm-IQqFyL1QtYTMGtLXOlyuh-67xWgnJSP6rkg8oc,3942
545
- opentrons/protocols/api_support/definitions.py,sha256=Sg0LIzkncnqTPz-e6EtLxdPmEVhogKkmDv3lTpGfmdI,727
558
+ opentrons/protocols/api_support/definitions.py,sha256=uwrJKfraRhFM_DFBJrRfHaRhKtIqWzfxciySxhVeDwA,727
546
559
  opentrons/protocols/api_support/instrument.py,sha256=xbgFKbJU_gL1QjbH_mgGHJx2USQIQisjEkBHiFfYEqA,5712
547
560
  opentrons/protocols/api_support/labware_like.py,sha256=JArK3XIYSMzDJTnpsVg9KNcMBEaRLMllmbV4ZtcI02s,7701
548
561
  opentrons/protocols/api_support/tip_tracker.py,sha256=ztngh5wGworD77ycKHm3_f9EqjT24VFXIAARAGcCPns,7407
549
- opentrons/protocols/api_support/types.py,sha256=rG9ogC8Q8PnWO814KHkcOtkhu7mz8P19Vq23J1Ch-NU,826
562
+ opentrons/protocols/api_support/types.py,sha256=Raf135jQ-WZ5MMKcrrlg55_ro2FK2KfnkF9jIk-zVfU,867
550
563
  opentrons/protocols/api_support/util.py,sha256=Y-taVQs_nekISZPn82pCQVhvtYF85t-gL41L36wDoQE,13047
551
564
  opentrons/protocols/duration/__init__.py,sha256=7z2fQSrAEqtughcs_EnEDZT74qHAvorUB9ryMMuqgkk,75
552
565
  opentrons/protocols/duration/errors.py,sha256=hw7MED89bbMHJMib1O0BrmdXBwrTn1tJqXfkK22jZTc,208
@@ -575,7 +588,7 @@ opentrons/protocols/parameters/validation.py,sha256=uNwoU3cUlnV5NdvnR6vyxoTNUwos
575
588
  opentrons/resources/smoothie-edge-8414642.hex,sha256=1hiY8t0wTnMSLtIVe_lVhgFR6pdEsh4PEPjv99xbVVA,1035222
576
589
  opentrons/resources/scripts/lpc21isp,sha256=tioSU5T7a9otaalLK91_jTcgmRRXb10JQGfmGO_iKn8,329864
577
590
  opentrons/system/__init__.py,sha256=_0_HR5vwNng4bsxU_gI0KAREkvb1TogdsNmOHR3V71g,307
578
- opentrons/system/camera.py,sha256=AK7nAJ4CTg0HPeCAg_NUILkinXddLGUIVEQxwPswKfA,1720
591
+ opentrons/system/camera.py,sha256=-jd1YboaqukXol06kXJMVammylmxcxauCi3hjsAysaA,1730
579
592
  opentrons/system/log_control.py,sha256=4whbd1AFbRJOByQ6bZaiOQ8Dhi3YceBHYzIBStY38Vw,1535
580
593
  opentrons/system/nmcli.py,sha256=OBLIBlP5wwjh-tzO5p2-h7jJ4-1kgI-mCti6NS7589Y,30317
581
594
  opentrons/system/resin.py,sha256=RLX_wKHj2TYxm-YPu4_27YopFkDAhdYMFOqGDdmKGy0,597
@@ -595,8 +608,8 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
595
608
  opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
596
609
  opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
597
610
  opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
598
- opentrons-8.7.0a1.dist-info/METADATA,sha256=VJsAOF5Ya8ZdUbGhic3GWkxexsL2BjOSVmMxJF3zeYY,1607
599
- opentrons-8.7.0a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
600
- opentrons-8.7.0a1.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
601
- opentrons-8.7.0a1.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
602
- opentrons-8.7.0a1.dist-info/RECORD,,
611
+ opentrons-8.7.0a2.dist-info/METADATA,sha256=tI9AxcLrY0HOVnvfHHED6dY6yivZ77AZaq8Fb_alUck,1607
612
+ opentrons-8.7.0a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
613
+ opentrons-8.7.0a2.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
614
+ opentrons-8.7.0a2.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
615
+ opentrons-8.7.0a2.dist-info/RECORD,,