opentrons 8.6.0a11__py3-none-any.whl → 8.7.0a0__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.
- opentrons/_version.py +2 -2
- opentrons/cli/analyze.py +58 -2
- opentrons/hardware_control/backends/ot3controller.py +22 -13
- opentrons/hardware_control/backends/ot3simulator.py +1 -1
- opentrons/hardware_control/ot3api.py +1 -1
- opentrons/protocol_api/core/engine/_default_liquid_class_versions.py +54 -0
- opentrons/protocol_api/core/engine/protocol.py +11 -2
- opentrons/protocol_api/core/engine/transfer_components_executor.py +36 -20
- opentrons/protocol_api/core/legacy/legacy_protocol_core.py +1 -1
- opentrons/protocol_api/core/protocol.py +1 -1
- opentrons/protocol_api/labware.py +36 -2
- opentrons/protocol_api/module_contexts.py +100 -13
- opentrons/protocol_api/protocol_context.py +162 -12
- opentrons/protocol_api/validation.py +4 -0
- opentrons/protocol_engine/commands/command_unions.py +2 -0
- opentrons/protocol_engine/commands/flex_stacker/common.py +13 -0
- opentrons/protocol_engine/commands/flex_stacker/store.py +20 -2
- opentrons/protocol_engine/execution/labware_movement.py +5 -11
- opentrons/protocol_engine/state/labware.py +66 -0
- opentrons/protocol_engine/types/__init__.py +2 -0
- opentrons/protocol_engine/types/labware.py +9 -0
- opentrons/protocols/api_support/definitions.py +1 -1
- {opentrons-8.6.0a11.dist-info → opentrons-8.7.0a0.dist-info}/METADATA +4 -4
- {opentrons-8.6.0a11.dist-info → opentrons-8.7.0a0.dist-info}/RECORD +27 -26
- {opentrons-8.6.0a11.dist-info → opentrons-8.7.0a0.dist-info}/WHEEL +0 -0
- {opentrons-8.6.0a11.dist-info → opentrons-8.7.0a0.dist-info}/entry_points.txt +0 -0
- {opentrons-8.6.0a11.dist-info → opentrons-8.7.0a0.dist-info}/licenses/LICENSE +0 -0
|
@@ -46,6 +46,7 @@ from ..types import (
|
|
|
46
46
|
AddressableAreaLocation,
|
|
47
47
|
NonStackedLocation,
|
|
48
48
|
Dimensions,
|
|
49
|
+
GripSpecs,
|
|
49
50
|
LabwareOffset,
|
|
50
51
|
LabwareOffsetVector,
|
|
51
52
|
LabwareOffsetLocationSequence,
|
|
@@ -1430,3 +1431,68 @@ class LabwareView:
|
|
|
1430
1431
|
):
|
|
1431
1432
|
return Dimensions(0, 0, 0)
|
|
1432
1433
|
return Dimensions(max_x - min_x, max_y - min_y, max_z)
|
|
1434
|
+
|
|
1435
|
+
def _gripper_uncertainty_narrower(
|
|
1436
|
+
self, labware_bbox: Dimensions, well_bbox: Dimensions, target_grip_width: float
|
|
1437
|
+
) -> float:
|
|
1438
|
+
"""Most narrower the gripper can be than the target while still likely gripping successfully.
|
|
1439
|
+
|
|
1440
|
+
This number can't just be the 0, because that is not going to be accurate if the labware is
|
|
1441
|
+
skirted - the dimensions are a full bounding box including the skirt, and the labware is
|
|
1442
|
+
narrower than that at the point where it is gripped. The general heuristic is that we can't
|
|
1443
|
+
get to the wells; but some labware don't have wells, so we need alternate values.
|
|
1444
|
+
|
|
1445
|
+
The number will be interpreted relative to the target width, which is (for now) the labware
|
|
1446
|
+
outer bounding box.
|
|
1447
|
+
|
|
1448
|
+
TODO: This should be a number looked up from the definition.
|
|
1449
|
+
"""
|
|
1450
|
+
if well_bbox.y == 0:
|
|
1451
|
+
# This labware has no wells; use a fixed minimum
|
|
1452
|
+
return 5
|
|
1453
|
+
if well_bbox.y > labware_bbox.y:
|
|
1454
|
+
# This labware has a very odd definition with wells outside its dimensions.
|
|
1455
|
+
# Return the smaller value.
|
|
1456
|
+
return 0
|
|
1457
|
+
# An ok heuristic for successful grip is if we don't get all the way to the wells.
|
|
1458
|
+
return target_grip_width - well_bbox.y
|
|
1459
|
+
|
|
1460
|
+
def _gripper_uncertainty_wider(
|
|
1461
|
+
self, labware_bbox: Dimensions, well_bbox: Dimensions, target_grip_width: float
|
|
1462
|
+
) -> float:
|
|
1463
|
+
"""Most wider the gripper can be than the target while still likely gripping successfully.
|
|
1464
|
+
|
|
1465
|
+
This can be a lot closer to 0, since the bounding box of the labware will certainly be the
|
|
1466
|
+
widest point (if it's defined without error), but since there might be error in the
|
|
1467
|
+
definition we allow some slop.
|
|
1468
|
+
|
|
1469
|
+
The number will be interpreted relative to the target width, which is (for now) the labware
|
|
1470
|
+
outer bounding box.
|
|
1471
|
+
|
|
1472
|
+
TODO: This should be a number looked up from the definition.
|
|
1473
|
+
"""
|
|
1474
|
+
# This will be 0 unless the wells are wider than the labware
|
|
1475
|
+
return max(well_bbox.y - target_grip_width, 0)
|
|
1476
|
+
|
|
1477
|
+
def get_gripper_width_specs(
|
|
1478
|
+
self, labware_definition: LabwareDefinition
|
|
1479
|
+
) -> GripSpecs:
|
|
1480
|
+
"""Get the target and bounds for a successful grip of this labware."""
|
|
1481
|
+
outer_bounds = self.get_dimensions(labware_definition=labware_definition)
|
|
1482
|
+
well_bounds = self.get_well_bbox(labware_definition=labware_definition)
|
|
1483
|
+
narrower = self._gripper_uncertainty_narrower(
|
|
1484
|
+
labware_bbox=outer_bounds,
|
|
1485
|
+
well_bbox=well_bounds,
|
|
1486
|
+
target_grip_width=outer_bounds.y,
|
|
1487
|
+
)
|
|
1488
|
+
wider = self._gripper_uncertainty_wider(
|
|
1489
|
+
labware_bbox=outer_bounds,
|
|
1490
|
+
well_bbox=well_bounds,
|
|
1491
|
+
target_grip_width=outer_bounds.y,
|
|
1492
|
+
)
|
|
1493
|
+
return GripSpecs(
|
|
1494
|
+
# TODO: This should be a number looked up from the definition.
|
|
1495
|
+
targetY=outer_bounds.y,
|
|
1496
|
+
uncertaintyNarrower=narrower,
|
|
1497
|
+
uncertaintyWider=wider,
|
|
1498
|
+
)
|
|
@@ -102,6 +102,7 @@ from .labware import (
|
|
|
102
102
|
LoadedLabware,
|
|
103
103
|
LabwareParentDefinition,
|
|
104
104
|
LabwareWellId,
|
|
105
|
+
GripSpecs,
|
|
105
106
|
)
|
|
106
107
|
from .liquid import HexColor, EmptyLiquidId, LiquidId, Liquid, FluidKind, AspiratedFluid
|
|
107
108
|
from .labware_offset_location import (
|
|
@@ -257,6 +258,7 @@ __all__ = [
|
|
|
257
258
|
"LabwareOffsetVector",
|
|
258
259
|
"LabwareParentDefinition",
|
|
259
260
|
"LabwareWellId",
|
|
261
|
+
"GripSpecs",
|
|
260
262
|
# Liquids
|
|
261
263
|
"HexColor",
|
|
262
264
|
"EmptyLiquidId",
|
|
@@ -23,6 +23,15 @@ from .module import ModuleDefinition
|
|
|
23
23
|
from .deck_configuration import DeckLocationDefinition
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
@dataclass(frozen=True)
|
|
27
|
+
class GripSpecs:
|
|
28
|
+
"""Data for how a labware should be gripped."""
|
|
29
|
+
|
|
30
|
+
uncertaintyWider: float
|
|
31
|
+
uncertaintyNarrower: float
|
|
32
|
+
targetY: float
|
|
33
|
+
|
|
34
|
+
|
|
26
35
|
class OverlapOffset(Vec3f):
|
|
27
36
|
"""Offset representing overlap space of one labware on top of another labware or module."""
|
|
28
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opentrons
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.7.0a0
|
|
4
4
|
Summary: The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy.
|
|
5
5
|
Project-URL: opentrons.com, https://www.opentrons.com
|
|
6
6
|
Project-URL: Source Code On Github, https://github.com/Opentrons/opentrons/tree/edge/api
|
|
@@ -24,7 +24,7 @@ Requires-Dist: click<9,>=8.0.0
|
|
|
24
24
|
Requires-Dist: importlib-metadata>=1.0; python_version < '3.8'
|
|
25
25
|
Requires-Dist: jsonschema<4.18.0,>=3.0.1
|
|
26
26
|
Requires-Dist: numpy<2,>=1.20.0
|
|
27
|
-
Requires-Dist: opentrons-shared-data==8.
|
|
27
|
+
Requires-Dist: opentrons-shared-data==8.7.0a0
|
|
28
28
|
Requires-Dist: packaging>=21.0
|
|
29
29
|
Requires-Dist: pydantic-settings<3,>=2
|
|
30
30
|
Requires-Dist: pydantic<3,>=2.0.0
|
|
@@ -32,6 +32,6 @@ Requires-Dist: pyserial>=3.5
|
|
|
32
32
|
Requires-Dist: pyusb==1.2.1
|
|
33
33
|
Requires-Dist: typing-extensions<5,>=4.0.0
|
|
34
34
|
Provides-Extra: flex-hardware
|
|
35
|
-
Requires-Dist: opentrons-hardware[flex]==8.
|
|
35
|
+
Requires-Dist: opentrons-hardware[flex]==8.7.0a0; extra == 'flex-hardware'
|
|
36
36
|
Provides-Extra: ot2-hardware
|
|
37
|
-
Requires-Dist: opentrons-hardware==8.
|
|
37
|
+
Requires-Dist: opentrons-hardware==8.7.0a0; extra == 'ot2-hardware'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
opentrons/__init__.py,sha256=TQ_Ca_zzAM3iLzAysWKkFkQHG8-imihxDPQbLCYrf-E,4533
|
|
2
|
-
opentrons/_version.py,sha256=
|
|
2
|
+
opentrons/_version.py,sha256=d3ve2LJJuyjX8J_41fIn96U4XlDfRGAll6nNIi4dBwY,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
|
|
@@ -28,7 +28,7 @@ opentrons/calibration_storage/ot3/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
|
|
|
28
28
|
opentrons/calibration_storage/ot3/models/v1.py,sha256=SZU9CilK4HjPNtE-6mLcGX4ZsT3o0PGX8-RPjogmwXY,4393
|
|
29
29
|
opentrons/cli/__init__.py,sha256=zP_n-SnZnZc_yzb0JnnwvUvIBiIpupGOQrqPZrSmnRs,430
|
|
30
30
|
opentrons/cli/__main__.py,sha256=Jvtl3eMKDT1eX00BGULAw6WqenKe911TMTg4b97y5dA,73
|
|
31
|
-
opentrons/cli/analyze.py,sha256=
|
|
31
|
+
opentrons/cli/analyze.py,sha256=sZHRQxVyQASunYpjl0iks_Gkc8K6iX79cBuaipHfVys,16747
|
|
32
32
|
opentrons/config/__init__.py,sha256=N_ls4aKFt5jrXiPg-M8g2ecc2PgEzH2qTjbPjlr2fFk,21488
|
|
33
33
|
opentrons/config/advanced_settings.py,sha256=CzR1IzIMGMkvzyzwIjaVR7_ZIZ9_zr-Odgq2Ij4K4vU,27215
|
|
34
34
|
opentrons/config/defaults_ot2.py,sha256=_l63QNW0aWTh0HGZcgF592ETJg8-W4M0XrQbbzkAPjA,6031
|
|
@@ -105,7 +105,7 @@ opentrons/hardware_control/module_control.py,sha256=0mmVH9fiZWNyc33ilCpJHajX1Dfh
|
|
|
105
105
|
opentrons/hardware_control/motion_utilities.py,sha256=7VG60YQ9MSMAZ0hO-q-kRAdkcebzrx7uIPtc6FMCViE,10311
|
|
106
106
|
opentrons/hardware_control/nozzle_manager.py,sha256=dqD8XlYsOu0PFFyxvmsMypBB52Gi6x-VIwhykV7JhuU,16868
|
|
107
107
|
opentrons/hardware_control/ot3_calibration.py,sha256=vHB17U-FBzytvM8QeEu5kRYPo8lFwAo31ZEpiU4yf_0,45000
|
|
108
|
-
opentrons/hardware_control/ot3api.py,sha256=
|
|
108
|
+
opentrons/hardware_control/ot3api.py,sha256=1vPsaNPmtjsJI1EJF8JPKOd2Bj2GDJLvmKU8eMKGhi8,127869
|
|
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
|
|
@@ -119,8 +119,8 @@ opentrons/hardware_control/backends/controller.py,sha256=MOVMq9s1rY_jHhajHB1hQ1M
|
|
|
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=
|
|
123
|
-
opentrons/hardware_control/backends/ot3simulator.py,sha256=
|
|
122
|
+
opentrons/hardware_control/backends/ot3controller.py,sha256=w0LMGu0WWkGd4cEWaqlhMk1NQFHg1-Di83s5_KrKP3U,71374
|
|
123
|
+
opentrons/hardware_control/backends/ot3simulator.py,sha256=CtYnb7NpqIc1TNK91hI0UaK4OyaIecFDczsb-T7DX_w,30387
|
|
124
124
|
opentrons/hardware_control/backends/ot3utils.py,sha256=HYlIZRGmLqudS1mIt0Io2LxQ1BrLrxVFQCjqudbTUWU,22374
|
|
125
125
|
opentrons/hardware_control/backends/simulator.py,sha256=q_9PQlBdOyCa9sj2gLqYWZ-fG9v4mddDAiScL-yHCXY,17549
|
|
126
126
|
opentrons/hardware_control/backends/status_bar_state.py,sha256=E8z9dCJDI3Nb4qfUA5y2_PrE2jSYzZJQVkk75UqY5ZE,9287
|
|
@@ -234,24 +234,25 @@ opentrons/protocol_api/create_protocol_context.py,sha256=wwsZje0L__oDnu1Yrihau32
|
|
|
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=
|
|
238
|
-
opentrons/protocol_api/module_contexts.py,sha256=
|
|
237
|
+
opentrons/protocol_api/labware.py,sha256=ZGukS0oE6vOltolNx9ZFXj_HFhm5BRaTnS0tJUKxGsE,63061
|
|
238
|
+
opentrons/protocol_api/module_contexts.py,sha256=cPyay45R3SeBckC4fk8txuC7DZoCSeoVSp1ALCMNipQ,63292
|
|
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=
|
|
240
|
+
opentrons/protocol_api/protocol_context.py,sha256=2F-awiZGGNwwdu2xxkjrVDCuemJaV3z4bSIBZoXVVlY,77105
|
|
241
241
|
opentrons/protocol_api/robot_context.py,sha256=D6ZdpFX30VTtVUDHitsVjabJQXD5TxOV9_Z6sik1LvE,11891
|
|
242
|
-
opentrons/protocol_api/validation.py,sha256=
|
|
242
|
+
opentrons/protocol_api/validation.py,sha256=jFJcw_ixifViupEFaGrjEcuHyNIHG1gvo-n2jSqGnok,29227
|
|
243
243
|
opentrons/protocol_api/core/__init__.py,sha256=-g74o8OtBB0LmmOvwkRvPgrHt7fF7T8FRHDj-x_-Onk,736
|
|
244
244
|
opentrons/protocol_api/core/common.py,sha256=Ne7D4yBC3qywy35jIAC_1xI8HQwYt0HjPRXqIcyP06M,1276
|
|
245
245
|
opentrons/protocol_api/core/core_map.py,sha256=NX06HEDi5Obmaz0Xwwc_dikH0M-bTnZcfnSdMLdQqms,2074
|
|
246
246
|
opentrons/protocol_api/core/instrument.py,sha256=ZlEv60tzH5jxP0Wh9eyTc_28ju75RsllkQufMwYdIio,13985
|
|
247
247
|
opentrons/protocol_api/core/labware.py,sha256=-ZOjkalikXCV3ptehKCNaWGAdKxIdwne8LRFQW9NAm4,4290
|
|
248
248
|
opentrons/protocol_api/core/module.py,sha256=D8d9Xs_AgI53i8POkK2deUiu92V93Wt9-HG4FDKrHnE,15833
|
|
249
|
-
opentrons/protocol_api/core/protocol.py,sha256=
|
|
249
|
+
opentrons/protocol_api/core/protocol.py,sha256=Jru2lRuPtgdzpZiuhU6VV6UGN2wbjCSoWm_CAbOVPiU,8695
|
|
250
250
|
opentrons/protocol_api/core/robot.py,sha256=QMAqj5Oqq3_IhTDyUF4jpWI4j2LRPP9crUiaYD_RUv4,1385
|
|
251
251
|
opentrons/protocol_api/core/well.py,sha256=Lf89YYEyq-ahRSRIFJw42vxIP8Fw6kzIUh9K1HEijUQ,3487
|
|
252
252
|
opentrons/protocol_api/core/well_grid.py,sha256=BU28DKaBgEU_JdZ6pEzrwNxmuh6TkO4zlg7Pq1Rf5Xk,1516
|
|
253
253
|
opentrons/protocol_api/core/engine/__init__.py,sha256=B_5T7zgkWDb1mXPg4NbT-wBkQaK-WVokMMnJRNu7xiM,582
|
|
254
254
|
opentrons/protocol_api/core/engine/_default_labware_versions.py,sha256=hLKAp33c_eNLpvT5qUt8AOYy6PHhM_JnkdOXaMl80jA,7541
|
|
255
|
+
opentrons/protocol_api/core/engine/_default_liquid_class_versions.py,sha256=MCPKf-7fAULQ4oPVYxiyKHr4AYRAevwA9uhkdur3-kQ,1513
|
|
255
256
|
opentrons/protocol_api/core/engine/deck_conflict.py,sha256=j3AJ-sYr5e-06UgeGueUldx9B3fn7AhN738kJxZO_vw,14693
|
|
256
257
|
opentrons/protocol_api/core/engine/exceptions.py,sha256=aZgNrmYEeuPZm21nX_KZYtvyjv5h_zPjxxgPkEV7_bw,725
|
|
257
258
|
opentrons/protocol_api/core/engine/instrument.py,sha256=lDrCqOZm7ceu1E50EYiSh7qTDMci5cgw4bM-AvLyMjE,98890
|
|
@@ -261,10 +262,10 @@ opentrons/protocol_api/core/engine/module_core.py,sha256=qxxcqpH-A4Zil9hHDxnvh4H
|
|
|
261
262
|
opentrons/protocol_api/core/engine/overlap_versions.py,sha256=PyGvQtQUg1wzNtkuGZtxwXm019PoIjq7em2JiWaxbXc,675
|
|
262
263
|
opentrons/protocol_api/core/engine/pipette_movement_conflict.py,sha256=x54RIYtkL1rdzvkSp2JgusLY3EEvY8bX3OwipeVKdsE,15511
|
|
263
264
|
opentrons/protocol_api/core/engine/point_calculations.py,sha256=C2eF0fvJQGMqQv3DzNhc1-m8HTAXTyTsHPJEPrEUEmo,2502
|
|
264
|
-
opentrons/protocol_api/core/engine/protocol.py,sha256=
|
|
265
|
+
opentrons/protocol_api/core/engine/protocol.py,sha256=MQNMYNII1OxwaQGsKbOgVtmEH54mjDahzD-WHst9MH8,46247
|
|
265
266
|
opentrons/protocol_api/core/engine/robot.py,sha256=bzUt23NG-clD-9-QFsV_6nm3fMgSmvYEG9DyyZI1xgw,5366
|
|
266
267
|
opentrons/protocol_api/core/engine/stringify.py,sha256=GwFgEhFMk-uPfFQhQG_2mkaf4cxaItiY8RW7rZwiooQ,2794
|
|
267
|
-
opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=
|
|
268
|
+
opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=mR59C-e6IHSZthlbQEwmRnh5ye8lhr6a0Qp5CNNi9n8,45211
|
|
268
269
|
opentrons/protocol_api/core/engine/well.py,sha256=IaaFK-3hoUfabfn_twIT7zcAynhzAmRxDnvABss2szo,8923
|
|
269
270
|
opentrons/protocol_api/core/legacy/__init__.py,sha256=_9jCJNKG3SlS_vljVu8HHkZmtLf4F-f-JHALLF5d5go,401
|
|
270
271
|
opentrons/protocol_api/core/legacy/_labware_geometry.py,sha256=ugtMdfnSkUwBCC3Sdj5nP5aDUxX-Dr7BeiuPVmdjAtg,1091
|
|
@@ -273,7 +274,7 @@ opentrons/protocol_api/core/legacy/labware_offset_provider.py,sha256=2DLIby9xmUr
|
|
|
273
274
|
opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=mEX2Kmx8vBag7ndk4pCIssKkH9C-FEk0xphDyogCLGQ,27023
|
|
274
275
|
opentrons/protocol_api/core/legacy/legacy_labware_core.py,sha256=ksal6uzzGcMFEE3Ko2H9cbG8b8u4IprzejkkxdBHwHQ,8579
|
|
275
276
|
opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=CFCuXN1g5zE2IXD1I09vkngBlOdDzQjuIaNlJ5tVXnQ,23231
|
|
276
|
-
opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=
|
|
277
|
+
opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=Owj8Vx3ysQEarPH81PcCpAA0MnVegMkjWXNz5-nRIqg,23712
|
|
277
278
|
opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=wxeiPBqaS8YQwRpDGwF7ykJ0s2y3bExwVGpNbUZMmFg,5560
|
|
278
279
|
opentrons/protocol_api/core/legacy/load_info.py,sha256=r-WaH5ZJb3TRCp_zvbMMh0P4BhbZM8HsBs1K_pU98dk,1857
|
|
279
280
|
opentrons/protocol_api/core/legacy/module_geometry.py,sha256=lvWFHZ81-JFw-1VZUW1R3yUIb59xpXT6H3jwlRintRo,21082
|
|
@@ -305,7 +306,7 @@ opentrons/protocol_engine/commands/aspirate_while_tracking.py,sha256=d8-UBiXmBZ1
|
|
|
305
306
|
opentrons/protocol_engine/commands/blow_out.py,sha256=3gboq4x5S8fq7j4ZZGNClXFDlOjcdW1v2g58GPdhaPI,4338
|
|
306
307
|
opentrons/protocol_engine/commands/blow_out_in_place.py,sha256=jm2XXyJfIP9-AAFwXhD59_13nX18-i6QqpLGb-lK7sI,3391
|
|
307
308
|
opentrons/protocol_engine/commands/command.py,sha256=1hWH_KWg_WDL4R4VXe1ZH2vO6pYt5SA-ZpuPPF1oV5E,10149
|
|
308
|
-
opentrons/protocol_engine/commands/command_unions.py,sha256=
|
|
309
|
+
opentrons/protocol_engine/commands/command_unions.py,sha256=_2iINXrl9yc3H8X-AF8YBhYZQHLU0RHFEfl0MwE2H2w,27550
|
|
309
310
|
opentrons/protocol_engine/commands/comment.py,sha256=-6o07x-MZ6-IvZas84OVFmqF0gAbbKWJZIlGVYThCqM,1638
|
|
310
311
|
opentrons/protocol_engine/commands/configure_for_volume.py,sha256=wLt7-zJfKrRZhz9E0J9Xu_eayDMVPl8utdUYDMwgzFw,3615
|
|
311
312
|
opentrons/protocol_engine/commands/configure_nozzle_layout.py,sha256=M_s5Ee03a7sSnbvkibDHzEqZwkca0y8J7F60EnSEq7A,3849
|
|
@@ -364,12 +365,12 @@ opentrons/protocol_engine/commands/calibration/calibrate_module.py,sha256=5QZ5zL
|
|
|
364
365
|
opentrons/protocol_engine/commands/calibration/calibrate_pipette.py,sha256=YMH2MJ7RI0Nf7xjoXJLPlCuMCs5_Stj8zLj-oHcfnDk,3278
|
|
365
366
|
opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py,sha256=Y5UI4zcnhhVdfQOYh1N07jkBiVChD0kS_H_ow7_qiCA,5311
|
|
366
367
|
opentrons/protocol_engine/commands/flex_stacker/__init__.py,sha256=IJLskKdZZOGUA1eOm2e3fiP1C9GyTdbTS6uY6Hc4nUk,1369
|
|
367
|
-
opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=
|
|
368
|
+
opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=QHBtKawQxWssm6nSmtIpuJCH6BFlT54k4XQTBNSU8mY,35249
|
|
368
369
|
opentrons/protocol_engine/commands/flex_stacker/empty.py,sha256=1R0AwQtLn_wfuFH0Og2yAngJU8T_XLqf0a__9CqZQy0,11492
|
|
369
370
|
opentrons/protocol_engine/commands/flex_stacker/fill.py,sha256=3qhAQxJfaSp4EAFGIUotkrJVuOvdFrwzmkMCa2v6khA,10866
|
|
370
371
|
opentrons/protocol_engine/commands/flex_stacker/retrieve.py,sha256=kh9Lh-FW-RrXmV4RS8txmTYPfPDKhQhjW0UXr8k0vhc,12763
|
|
371
372
|
opentrons/protocol_engine/commands/flex_stacker/set_stored_labware.py,sha256=5VdqCcBdIHmpWqIJN3rCKeZ6IKwfxAdQTXMTD-KL-5w,12484
|
|
372
|
-
opentrons/protocol_engine/commands/flex_stacker/store.py,sha256=
|
|
373
|
+
opentrons/protocol_engine/commands/flex_stacker/store.py,sha256=Ed49qEUc16wo643PztZLYNPhVuLNZbx0lALSvpRYwDk,13632
|
|
373
374
|
opentrons/protocol_engine/commands/heater_shaker/__init__.py,sha256=ImAPrYSUvP8tI7obvoHmrJbjwLldgGNTnFYRgfXj8hI,2757
|
|
374
375
|
opentrons/protocol_engine/commands/heater_shaker/close_labware_latch.py,sha256=Q7sqFtzUD8wclRLL2PLWjnClIeLtJsiMCobStvzoJKc,2847
|
|
375
376
|
opentrons/protocol_engine/commands/heater_shaker/deactivate_heater.py,sha256=UYeGrTmnGtfw22p0agefI2ZnpukKlIgFcmJv9v58Xnc,2755
|
|
@@ -426,7 +427,7 @@ opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.p
|
|
|
426
427
|
opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEyJIXV0tHkc4UWDDjWFCClYo,26477
|
|
427
428
|
opentrons/protocol_engine/execution/hardware_stopper.py,sha256=ZlhVYEdFfuKqp5slZBkustXcRPy5fJsw2rmfYzHuJkQ,6127
|
|
428
429
|
opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py,sha256=BSFLzSSeELAYZCrCUfJZx5DdlrwU06Ur92TYd0T-hzM,9084
|
|
429
|
-
opentrons/protocol_engine/execution/labware_movement.py,sha256=
|
|
430
|
+
opentrons/protocol_engine/execution/labware_movement.py,sha256=0QnTf98CpYItP1icvNpwUeIa2LUWk4w7yBCUVJw-64g,12656
|
|
430
431
|
opentrons/protocol_engine/execution/movement.py,sha256=ZU4K4OHnzZYCZbk3RwfSOC6C3T2jtBlvYMppJhJSF08,12749
|
|
431
432
|
opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
|
|
432
433
|
opentrons/protocol_engine/execution/queue_worker.py,sha256=LM753TrQzJoKUSIrtcaHDOWLe58zcpx-fUOLVpyDlHM,3302
|
|
@@ -463,7 +464,7 @@ opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3
|
|
|
463
464
|
opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
|
|
464
465
|
opentrons/protocol_engine/state/geometry.py,sha256=o8tefXS_Jekdt82dW4HHVJSnsxCsTFJuG6ogtri2wTY,104065
|
|
465
466
|
opentrons/protocol_engine/state/inner_well_math_utils.py,sha256=UhemsPpcuKwVc-iGXI2-v--miOGNunAnAVznJTVADlQ,20598
|
|
466
|
-
opentrons/protocol_engine/state/labware.py,sha256=
|
|
467
|
+
opentrons/protocol_engine/state/labware.py,sha256=vwagsqSBAIkVj4eupu0pIK6F3idnqqoRWDjVbp4ZwKQ,62977
|
|
467
468
|
opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
|
|
468
469
|
opentrons/protocol_engine/state/liquids.py,sha256=NoesktcQdJUjIVmet1uqqJPf-rzbo4SGemXwQC295W0,2338
|
|
469
470
|
opentrons/protocol_engine/state/modules.py,sha256=SM_6j3YfZV4ZXWTGjwxQIVH-jtHEI-YFuJtoMyPBReo,61599
|
|
@@ -482,7 +483,7 @@ opentrons/protocol_engine/state/module_substates/magnetic_block_substate.py,sha2
|
|
|
482
483
|
opentrons/protocol_engine/state/module_substates/magnetic_module_substate.py,sha256=IJ5zpufz5WSRbJqHOAi-WroDxpsRZz-GvwznIL4v7VQ,2468
|
|
483
484
|
opentrons/protocol_engine/state/module_substates/temperature_module_substate.py,sha256=w9h6EBM1YY8SeUOlUz5-nW1Zoyce8-zua8Z6mX4sDNg,2310
|
|
484
485
|
opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py,sha256=fLt2jMsbnfe8Q25vAjloxLBGdx8sotqM34VxbwfegpE,5167
|
|
485
|
-
opentrons/protocol_engine/types/__init__.py,sha256=
|
|
486
|
+
opentrons/protocol_engine/types/__init__.py,sha256=8zInoWjiYEAir1Frq1ESEdFYj17aBH4zXjxL4odPLR0,8376
|
|
486
487
|
opentrons/protocol_engine/types/automatic_tip_selection.py,sha256=I_B3iWei1Sl7F7IrMKqOn4S12heZXRnfKvtCTUXIMyM,1118
|
|
487
488
|
opentrons/protocol_engine/types/command_annotations.py,sha256=5A4k_R_4A2_nGl0K85SKwNlnKA09fUhEIe_mdU55yro,1843
|
|
488
489
|
opentrons/protocol_engine/types/deck_configuration.py,sha256=3dhkk3Z_PrJvqb26brkEdlyzMAGih_UopoEzu9k6SRk,2422
|
|
@@ -490,7 +491,7 @@ opentrons/protocol_engine/types/execution.py,sha256=6g_NvlF4niXjFQwDjkmTgKx-N6I8
|
|
|
490
491
|
opentrons/protocol_engine/types/hardware_passthrough.py,sha256=tpTE3XHbRjXWQqY0rgosIfcOAGHqMkOpIU3IpIXgdAA,534
|
|
491
492
|
opentrons/protocol_engine/types/instrument.py,sha256=sqiY6OKYgI0ViQ2UsuYMkL9MI6OpvdgLzC1mvclrp2M,984
|
|
492
493
|
opentrons/protocol_engine/types/instrument_sensors.py,sha256=CGcChvuxpRXVJHLZP_wd1ej3XDD9x1S9biugMAnk0tM,1449
|
|
493
|
-
opentrons/protocol_engine/types/labware.py,sha256=
|
|
494
|
+
opentrons/protocol_engine/types/labware.py,sha256=huIKtzEmWJcWuyKq5jN_3Ra4QXRDUbaK2Ck0O3vV5zU,4615
|
|
494
495
|
opentrons/protocol_engine/types/labware_movement.py,sha256=BEZIDc-6YhU9LRACi0ozroIxuOIq-tngvrFE22uufjs,577
|
|
495
496
|
opentrons/protocol_engine/types/labware_offset_location.py,sha256=gXOmIHLD1Hk6OhfhmV9Uf2HN0rIKD6syWSPfYehB9QQ,4237
|
|
496
497
|
opentrons/protocol_engine/types/labware_offset_vector.py,sha256=2M_q0vSjOyjujt-0NY9NM0asQS27MHYElcFgoKCAZAY,377
|
|
@@ -541,7 +542,7 @@ opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=w
|
|
|
541
542
|
opentrons/protocols/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
542
543
|
opentrons/protocols/api_support/constants.py,sha256=pI_zJ8oORr6FUOaF508ttll3KOIYqRRgcwVFwnqZuqc,262
|
|
543
544
|
opentrons/protocols/api_support/deck_type.py,sha256=cBxm-IQqFyL1QtYTMGtLXOlyuh-67xWgnJSP6rkg8oc,3942
|
|
544
|
-
opentrons/protocols/api_support/definitions.py,sha256=
|
|
545
|
+
opentrons/protocols/api_support/definitions.py,sha256=Sg0LIzkncnqTPz-e6EtLxdPmEVhogKkmDv3lTpGfmdI,727
|
|
545
546
|
opentrons/protocols/api_support/instrument.py,sha256=xbgFKbJU_gL1QjbH_mgGHJx2USQIQisjEkBHiFfYEqA,5712
|
|
546
547
|
opentrons/protocols/api_support/labware_like.py,sha256=JArK3XIYSMzDJTnpsVg9KNcMBEaRLMllmbV4ZtcI02s,7701
|
|
547
548
|
opentrons/protocols/api_support/tip_tracker.py,sha256=ztngh5wGworD77ycKHm3_f9EqjT24VFXIAARAGcCPns,7407
|
|
@@ -594,8 +595,8 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
|
|
|
594
595
|
opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
|
|
595
596
|
opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
|
|
596
597
|
opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
|
|
597
|
-
opentrons-8.
|
|
598
|
-
opentrons-8.
|
|
599
|
-
opentrons-8.
|
|
600
|
-
opentrons-8.
|
|
601
|
-
opentrons-8.
|
|
598
|
+
opentrons-8.7.0a0.dist-info/METADATA,sha256=U7gGnD5DR1XRNN5e9BqM9v9_NnJFeqsqVZI51jyMnoM,1607
|
|
599
|
+
opentrons-8.7.0a0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
600
|
+
opentrons-8.7.0a0.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
|
|
601
|
+
opentrons-8.7.0a0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
602
|
+
opentrons-8.7.0a0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|