opentrons 8.4.1a2__py2.py3-none-any.whl → 8.5.0__py2.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/config/defaults_ot3.py +1 -1
- opentrons/hardware_control/backends/flex_protocol.py +25 -0
- opentrons/hardware_control/backends/ot3controller.py +76 -1
- opentrons/hardware_control/backends/ot3simulator.py +27 -0
- opentrons/hardware_control/instruments/ot3/pipette_handler.py +1 -0
- opentrons/hardware_control/ot3api.py +32 -0
- opentrons/legacy_commands/commands.py +16 -4
- opentrons/legacy_commands/robot_commands.py +51 -0
- opentrons/legacy_commands/types.py +91 -2
- opentrons/protocol_api/_liquid.py +60 -15
- opentrons/protocol_api/_liquid_properties.py +149 -90
- opentrons/protocol_api/_transfer_liquid_validation.py +43 -14
- opentrons/protocol_api/core/engine/instrument.py +367 -221
- opentrons/protocol_api/core/engine/protocol.py +14 -15
- opentrons/protocol_api/core/engine/robot.py +2 -2
- opentrons/protocol_api/core/engine/transfer_components_executor.py +275 -163
- opentrons/protocol_api/core/engine/well.py +16 -0
- opentrons/protocol_api/core/instrument.py +11 -5
- opentrons/protocol_api/core/legacy/legacy_instrument_core.py +11 -5
- opentrons/protocol_api/core/legacy/legacy_protocol_core.py +2 -2
- opentrons/protocol_api/core/legacy/legacy_well_core.py +8 -0
- opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +11 -5
- opentrons/protocol_api/core/protocol.py +3 -3
- opentrons/protocol_api/core/well.py +8 -0
- opentrons/protocol_api/instrument_context.py +478 -111
- opentrons/protocol_api/labware.py +10 -0
- opentrons/protocol_api/module_contexts.py +5 -2
- opentrons/protocol_api/protocol_context.py +76 -11
- opentrons/protocol_api/robot_context.py +48 -6
- opentrons/protocol_api/validation.py +15 -8
- opentrons/protocol_engine/commands/command_unions.py +10 -10
- opentrons/protocol_engine/commands/generate_command_schema.py +1 -1
- opentrons/protocol_engine/commands/get_next_tip.py +2 -2
- opentrons/protocol_engine/commands/load_labware.py +0 -19
- opentrons/protocol_engine/commands/pick_up_tip.py +9 -3
- opentrons/protocol_engine/commands/robot/__init__.py +20 -20
- opentrons/protocol_engine/commands/robot/close_gripper_jaw.py +34 -24
- opentrons/protocol_engine/commands/robot/open_gripper_jaw.py +29 -20
- opentrons/protocol_engine/commands/seal_pipette_to_tip.py +1 -1
- opentrons/protocol_engine/commands/unsafe/__init__.py +17 -1
- opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py +1 -2
- opentrons/protocol_engine/execution/labware_movement.py +9 -2
- opentrons/protocol_engine/execution/movement.py +12 -9
- opentrons/protocol_engine/execution/queue_worker.py +8 -1
- opentrons/protocol_engine/execution/thermocycler_movement_flagger.py +52 -19
- opentrons/protocol_engine/resources/labware_validation.py +7 -1
- opentrons/protocol_engine/state/_well_math.py +2 -2
- opentrons/protocol_engine/state/commands.py +14 -28
- opentrons/protocol_engine/state/frustum_helpers.py +11 -7
- opentrons/protocol_engine/state/labware.py +12 -0
- opentrons/protocol_engine/state/modules.py +1 -1
- opentrons/protocol_engine/state/pipettes.py +8 -0
- opentrons/protocol_engine/state/tips.py +46 -83
- opentrons/protocol_engine/state/update_types.py +8 -23
- opentrons/protocol_engine/types/liquid_level_detection.py +68 -8
- opentrons/protocol_runner/legacy_command_mapper.py +12 -6
- opentrons/protocol_runner/run_orchestrator.py +1 -1
- opentrons/protocols/advanced_control/transfers/common.py +54 -11
- opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +55 -28
- opentrons/protocols/api_support/definitions.py +1 -1
- opentrons/types.py +6 -6
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/METADATA +4 -4
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/RECORD +67 -66
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/LICENSE +0 -0
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/WHEEL +0 -0
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/entry_points.txt +0 -0
- {opentrons-8.4.1a2.dist-info → opentrons-8.5.0.dist-info}/top_level.txt +0 -0
|
@@ -4,7 +4,10 @@ from __future__ import annotations
|
|
|
4
4
|
from typing import Literal, Sequence, List, Optional, TYPE_CHECKING
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
|
|
7
|
-
from opentrons.protocol_engine.errors import
|
|
7
|
+
from opentrons.protocol_engine.errors import (
|
|
8
|
+
LiquidHeightUnknownError,
|
|
9
|
+
IncompleteLabwareDefinitionError,
|
|
10
|
+
)
|
|
8
11
|
from opentrons.protocol_engine.state._well_math import (
|
|
9
12
|
wells_covered_by_pipette_configuration,
|
|
10
13
|
)
|
|
@@ -25,30 +28,26 @@ class LocationCheckDescriptors:
|
|
|
25
28
|
|
|
26
29
|
def raise_if_location_inside_liquid(
|
|
27
30
|
location: Location,
|
|
28
|
-
well_location: Location,
|
|
29
31
|
well_core: WellCore,
|
|
30
32
|
location_check_descriptors: LocationCheckDescriptors,
|
|
31
33
|
logger: Logger,
|
|
32
34
|
) -> None:
|
|
33
35
|
"""Raise an error if the location in question would be inside the liquid.
|
|
34
36
|
|
|
35
|
-
This checker will raise an error if
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
This checker will raise an error if we can find the liquid height
|
|
38
|
+
AND the location in question is below this height.
|
|
39
|
+
|
|
40
|
+
If we can't find the liquid height, then we simply log the details and no error is raised.
|
|
39
41
|
"""
|
|
40
|
-
if location.point.z < well_location.point.z:
|
|
41
|
-
raise RuntimeError(
|
|
42
|
-
f"Received {location_check_descriptors.location_type} location of {location}"
|
|
43
|
-
f" and {location_check_descriptors.pipetting_action} location of {well_location}."
|
|
44
|
-
f" {location_check_descriptors.location_type.capitalize()} location z should not be lower"
|
|
45
|
-
f" than the {location_check_descriptors.pipetting_action} location z."
|
|
46
|
-
)
|
|
47
42
|
try:
|
|
48
43
|
liquid_height_from_bottom = well_core.current_liquid_height()
|
|
49
|
-
except LiquidHeightUnknownError:
|
|
44
|
+
except (IncompleteLabwareDefinitionError, LiquidHeightUnknownError):
|
|
45
|
+
# IncompleteLabwareDefinitionError is raised when there's no inner geometry
|
|
46
|
+
# defined for the well. So, we can't find the liquid height even if liquid volume is known.
|
|
47
|
+
# LiquidHeightUnknownError is raised when we don't have liquid volume info
|
|
48
|
+
# and no probing has been done either.
|
|
50
49
|
liquid_height_from_bottom = None
|
|
51
|
-
if liquid_height_from_bottom
|
|
50
|
+
if isinstance(liquid_height_from_bottom, (int, float)):
|
|
52
51
|
if liquid_height_from_bottom + well_core.get_bottom(0).z > location.point.z:
|
|
53
52
|
raise RuntimeError(
|
|
54
53
|
f"{location_check_descriptors.location_type.capitalize()} location {location} is"
|
|
@@ -59,11 +58,12 @@ def raise_if_location_inside_liquid(
|
|
|
59
58
|
# We could raise an error here but that would restrict the use of
|
|
60
59
|
# liquid classes-based transfer to only when LPD is enabled or when liquids are
|
|
61
60
|
# loaded in protocols using `load_liquid`. This can be quite restrictive
|
|
62
|
-
# so we will not raise but just log
|
|
63
|
-
logger.
|
|
61
|
+
# so we will not raise but just log the details.
|
|
62
|
+
logger.info(
|
|
64
63
|
f"Could not verify height of liquid in well {well_core.get_display_name()}, either"
|
|
65
|
-
f" because the liquid in this well has not been probed or
|
|
66
|
-
f" liquid was not loaded in this well using `load_liquid
|
|
64
|
+
f" because the liquid in this well has not been probed or"
|
|
65
|
+
f" liquid was not loaded in this well using `load_liquid` or"
|
|
66
|
+
f" inner geometry is not available for the target well."
|
|
67
67
|
f" Proceeding without verifying if {location_check_descriptors.location_type}"
|
|
68
68
|
f" location is outside the liquid."
|
|
69
69
|
)
|
|
@@ -72,6 +72,7 @@ def raise_if_location_inside_liquid(
|
|
|
72
72
|
def group_wells_for_multi_channel_transfer(
|
|
73
73
|
targets: Sequence[Well],
|
|
74
74
|
nozzle_map: NozzleMapInterface,
|
|
75
|
+
target_name: Literal["source", "destination"],
|
|
75
76
|
) -> List[Well]:
|
|
76
77
|
"""Takes a list of wells and a nozzle map and returns a list of target wells to address every well given
|
|
77
78
|
|
|
@@ -94,13 +95,20 @@ def group_wells_for_multi_channel_transfer(
|
|
|
94
95
|
or (configuration == NozzleConfigurationType.ROW and active_nozzles == 12)
|
|
95
96
|
or active_nozzles == 96
|
|
96
97
|
):
|
|
97
|
-
return _group_wells_for_nozzle_configuration(
|
|
98
|
+
return _group_wells_for_nozzle_configuration(
|
|
99
|
+
list(targets), nozzle_map, target_name
|
|
100
|
+
)
|
|
98
101
|
else:
|
|
99
|
-
raise ValueError(
|
|
102
|
+
raise ValueError(
|
|
103
|
+
"Unsupported nozzle configuration for well grouping. Set group_wells to False"
|
|
104
|
+
" to only target wells with the primary nozzle for this configuration."
|
|
105
|
+
)
|
|
100
106
|
|
|
101
107
|
|
|
102
108
|
def _group_wells_for_nozzle_configuration( # noqa: C901
|
|
103
|
-
targets: List[Well],
|
|
109
|
+
targets: List[Well],
|
|
110
|
+
nozzle_map: NozzleMapInterface,
|
|
111
|
+
target_name: Literal["source", "destination"],
|
|
104
112
|
) -> List[Well]:
|
|
105
113
|
"""Groups wells together for a column, row, or full 96 configuration and returns a reduced list of target wells."""
|
|
106
114
|
grouped_wells = []
|
|
@@ -132,8 +140,9 @@ def _group_wells_for_nozzle_configuration( # noqa: C901
|
|
|
132
140
|
if active_wells_covered:
|
|
133
141
|
if well.parent != active_labware:
|
|
134
142
|
raise ValueError(
|
|
135
|
-
"Could not
|
|
136
|
-
"
|
|
143
|
+
f"Could not group {target_name} wells to match pipette's nozzle configuration. Ensure that the"
|
|
144
|
+
" wells are ordered correctly (e.g. rows() for a row layout or columns() for a column layout), or"
|
|
145
|
+
" set group_wells to False to only target wells with the primary nozzle."
|
|
137
146
|
)
|
|
138
147
|
|
|
139
148
|
if well.well_name in active_wells_covered:
|
|
@@ -165,8 +174,9 @@ def _group_wells_for_nozzle_configuration( # noqa: C901
|
|
|
165
174
|
alternate_384_well_coverage_count += 1
|
|
166
175
|
else:
|
|
167
176
|
raise ValueError(
|
|
168
|
-
"Could not
|
|
169
|
-
"
|
|
177
|
+
f"Could not group {target_name} wells to match pipette's nozzle configuration. Ensure that the"
|
|
178
|
+
" wells are ordered correctly (e.g. rows() for a row layout or columns() for a column layout), or"
|
|
179
|
+
" set group_wells to False to only target wells with the primary nozzle."
|
|
170
180
|
)
|
|
171
181
|
# If we have no active wells covered to account for, add a new target well and list of covered wells to check
|
|
172
182
|
else:
|
|
@@ -193,8 +203,8 @@ def _group_wells_for_nozzle_configuration( # noqa: C901
|
|
|
193
203
|
|
|
194
204
|
if active_wells_covered:
|
|
195
205
|
raise ValueError(
|
|
196
|
-
"
|
|
197
|
-
f"
|
|
206
|
+
f"Pipette will access {target_name} wells not provided in the liquid handling command."
|
|
207
|
+
f" Set group_wells to False or include these wells: {active_wells_covered}"
|
|
198
208
|
)
|
|
199
209
|
|
|
200
210
|
# If we reversed the lookup of wells, reverse the grouped wells we will return
|
|
@@ -202,3 +212,20 @@ def _group_wells_for_nozzle_configuration( # noqa: C901
|
|
|
202
212
|
grouped_wells.reverse()
|
|
203
213
|
|
|
204
214
|
return grouped_wells
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
def check_current_volume_before_dispensing(
|
|
218
|
+
current_volume: float,
|
|
219
|
+
dispense_volume: float,
|
|
220
|
+
) -> None:
|
|
221
|
+
"""Check if the current volume is valid for dispensing the dispense volume."""
|
|
222
|
+
if current_volume < dispense_volume:
|
|
223
|
+
# Although this should never happen, we can get into an unexpected state
|
|
224
|
+
# following error recovery and not have the expected amount of liquid in the tip.
|
|
225
|
+
# If this happens, we want to raise a useful error so the user can understand
|
|
226
|
+
# the cause of the problem. If we don't make this check for current volume,
|
|
227
|
+
# an unhelpful error might get raised when a '..byVolume' property encounters
|
|
228
|
+
# a negative volume (current_volume - dispense_volume).
|
|
229
|
+
raise RuntimeError(
|
|
230
|
+
f"Cannot dispense {dispense_volume}uL when the tip has only {current_volume}uL."
|
|
231
|
+
)
|
opentrons/types.py
CHANGED
|
@@ -35,12 +35,6 @@ class Point(NamedTuple):
|
|
|
35
35
|
y: float = 0.0
|
|
36
36
|
z: float = 0.0
|
|
37
37
|
|
|
38
|
-
def __eq__(self, other: Any) -> bool:
|
|
39
|
-
if not isinstance(other, Point):
|
|
40
|
-
return False
|
|
41
|
-
pairs = ((self.x, other.x), (self.y, other.y), (self.z, other.z))
|
|
42
|
-
return all(isclose(s, o, rel_tol=1e-05, abs_tol=1e-08) for s, o in pairs)
|
|
43
|
-
|
|
44
38
|
def __add__(self, other: Any) -> Point:
|
|
45
39
|
if not isinstance(other, Point):
|
|
46
40
|
return NotImplemented
|
|
@@ -75,6 +69,12 @@ class Point(NamedTuple):
|
|
|
75
69
|
z_diff = self.z - other.z
|
|
76
70
|
return sqrt(x_diff**2 + y_diff**2 + z_diff**2)
|
|
77
71
|
|
|
72
|
+
def elementwise_isclose(
|
|
73
|
+
self, other: Point, *, rel_tol: float = 1e-05, abs_tol: float = 1e-08
|
|
74
|
+
) -> bool:
|
|
75
|
+
pairs = ((self.x, other.x), (self.y, other.y), (self.z, other.z))
|
|
76
|
+
return all(isclose(s, o, rel_tol=rel_tol, abs_tol=abs_tol) for s, o in pairs)
|
|
77
|
+
|
|
78
78
|
|
|
79
79
|
LocationLabware = Union[
|
|
80
80
|
"Labware",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: opentrons
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.5.0
|
|
4
4
|
Summary: The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy.
|
|
5
5
|
Author: Opentrons
|
|
6
6
|
Author-email: engineering@opentrons.com
|
|
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
21
21
|
Classifier: Topic :: Scientific/Engineering
|
|
22
22
|
Requires-Python: >=3.10
|
|
23
23
|
License-File: ../LICENSE
|
|
24
|
-
Requires-Dist: opentrons-shared-data (==8.
|
|
24
|
+
Requires-Dist: opentrons-shared-data (==8.5.0)
|
|
25
25
|
Requires-Dist: aionotify (==0.3.1)
|
|
26
26
|
Requires-Dist: anyio (<4.0.0,>=3.6.1)
|
|
27
27
|
Requires-Dist: jsonschema (<4.18.0,>=3.0.1)
|
|
@@ -35,9 +35,9 @@ Requires-Dist: pyusb (==1.2.1)
|
|
|
35
35
|
Requires-Dist: packaging (>=21.0)
|
|
36
36
|
Requires-Dist: importlib-metadata (>=1.0) ; python_version < "3.8"
|
|
37
37
|
Provides-Extra: flex-hardware
|
|
38
|
-
Requires-Dist: opentrons-hardware[flex] (==8.
|
|
38
|
+
Requires-Dist: opentrons-hardware[flex] (==8.5.0) ; extra == 'flex-hardware'
|
|
39
39
|
Provides-Extra: ot2-hardware
|
|
40
|
-
Requires-Dist: opentrons-hardware (==8.
|
|
40
|
+
Requires-Dist: opentrons-hardware (==8.5.0) ; extra == 'ot2-hardware'
|
|
41
41
|
|
|
42
42
|
.. _Full API Documentation: http://docs.opentrons.com
|
|
43
43
|
|
|
@@ -5,7 +5,7 @@ opentrons/legacy_broker.py,sha256=XnuEBBlrHCThc31RFW2UR0tGqctqWZ-CZ9vSC4L9whU,15
|
|
|
5
5
|
opentrons/ordered_set.py,sha256=g-SB3qA14yxHu9zjGyc2wC7d2TUCBE6fKZlHAtbPzI8,4082
|
|
6
6
|
opentrons/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
opentrons/simulate.py,sha256=de_hZ3GGMxFB2U0nlvISSWpvzPClNsOI-cQ39Aj39RU,42225
|
|
8
|
-
opentrons/types.py,sha256=
|
|
8
|
+
opentrons/types.py,sha256=C4hlZixE0U9bfgRD9A0gjoRepANKLVVjIqNIHnaDc9U,18328
|
|
9
9
|
opentrons/calibration_storage/__init__.py,sha256=Zmc89u8dQh1uc8CzV5hKaSX4DeS2-P0r4PDCAXfS3z4,1608
|
|
10
10
|
opentrons/calibration_storage/deck_configuration.py,sha256=Zmqw8Vu8jmPYLlqC5ivIBGluAjYbWrg6LMZ7s_qgnUw,2178
|
|
11
11
|
opentrons/calibration_storage/encoder_decoder.py,sha256=xzXWz-T7snGV56nx6uGmnMpNqZbYFlzIq7gup29-Ds8,938
|
|
@@ -32,7 +32,7 @@ opentrons/cli/analyze.py,sha256=70ZR9bTZCedmvaYcrklRZXozgINf_gZseYgb1oSZVJ8,1483
|
|
|
32
32
|
opentrons/config/__init__.py,sha256=B4kGZSsy6ESki_-K33sd0mRNrN_h2_bcZL8zEDOxHEg,21251
|
|
33
33
|
opentrons/config/advanced_settings.py,sha256=pixIHtmbbAoIrQyvy98TtZoZ1uo3BpETQMPx7Wgfaio,26447
|
|
34
34
|
opentrons/config/defaults_ot2.py,sha256=_l63QNW0aWTh0HGZcgF592ETJg8-W4M0XrQbbzkAPjA,6031
|
|
35
|
-
opentrons/config/defaults_ot3.py,sha256=
|
|
35
|
+
opentrons/config/defaults_ot3.py,sha256=9GhAn1uCvrClzVgAJ2igXlFvLGQcd_TztY1Fe3a6S1U,14750
|
|
36
36
|
opentrons/config/feature_flags.py,sha256=qiuHQ8Rna-iyhcOmCk-r91iOE6-dXWSC5fhOagHXoDA,2368
|
|
37
37
|
opentrons/config/gripper_config.py,sha256=ch3PtyP96KOCQi6otf4U6Okt04JrEYhqpQM0SkmP_cA,1721
|
|
38
38
|
opentrons/config/reset.py,sha256=qwq6UVhfra8tEglG35iS_uy-Tq5HXjqunE0fR7tmxdM,6740
|
|
@@ -105,7 +105,7 @@ opentrons/hardware_control/module_control.py,sha256=u0RpbOgr5pV5exgKg3qvNQdwdVuy
|
|
|
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=NkR2EoNq47dkHEXAdF6PI9atuPTxW0X51TFnRrMq5JU,44723
|
|
108
|
-
opentrons/hardware_control/ot3api.py,sha256=
|
|
108
|
+
opentrons/hardware_control/ot3api.py,sha256=Y5O80lfFveRzRYOv7ctGudV-nQbvDSUdGW4U3s-zHCA,126014
|
|
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
|
|
@@ -118,9 +118,9 @@ opentrons/hardware_control/backends/__init__.py,sha256=u5Dg3AFZuvDV7hFqJ8I4F9D1d
|
|
|
118
118
|
opentrons/hardware_control/backends/controller.py,sha256=MOVMq9s1rY_jHhajHB1hQ1MgXXyY54-gMrrvAuMsOFg,14622
|
|
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
|
-
opentrons/hardware_control/backends/flex_protocol.py,sha256=
|
|
122
|
-
opentrons/hardware_control/backends/ot3controller.py,sha256=
|
|
123
|
-
opentrons/hardware_control/backends/ot3simulator.py,sha256=
|
|
121
|
+
opentrons/hardware_control/backends/flex_protocol.py,sha256=yNspQsWBbL4wSLJnWHbqiKP_4Y-z89o70yASpOlUBIw,13068
|
|
122
|
+
opentrons/hardware_control/backends/ot3controller.py,sha256=b9xtI-bKSJzsAUYF5CVGrLSFSghSkhPoOc_bhwk_Q4U,70019
|
|
123
|
+
opentrons/hardware_control/backends/ot3simulator.py,sha256=W-iSqKuROba2odK_C3ETET7T1wxu1tKPhF000SsC15c,30486
|
|
124
124
|
opentrons/hardware_control/backends/ot3utils.py,sha256=VYpyvaE3M9CzhgLL4ObgcXP3gmSGyaOyiRVqcbudCn0,23087
|
|
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=ftNn2ouBhPZiFbUm79I4z6ndup7XDmcNowhb-KREspE,8529
|
|
@@ -163,7 +163,7 @@ opentrons/hardware_control/instruments/ot3/gripper.py,sha256=BuXxrkh1UC12Ki1e0X9
|
|
|
163
163
|
opentrons/hardware_control/instruments/ot3/gripper_handler.py,sha256=GVz6QreaYSo-Vt2b-NHnMV2ehjlDxJCWaqq5ufQYCYM,6055
|
|
164
164
|
opentrons/hardware_control/instruments/ot3/instrument_calibration.py,sha256=9ERAxnUHc2BBoLPloLwGoNDqssKsjzBQv1cOjwp8umk,5432
|
|
165
165
|
opentrons/hardware_control/instruments/ot3/pipette.py,sha256=t3K28QLEmj3DS_KXoXbeBjEE5PfQJlSePzvSNt4GXsI,32376
|
|
166
|
-
opentrons/hardware_control/instruments/ot3/pipette_handler.py,sha256=
|
|
166
|
+
opentrons/hardware_control/instruments/ot3/pipette_handler.py,sha256=MRUMYXTVVe4kaoYYMJ2bIqb4uJwxpXP12kllkr47CnQ,39383
|
|
167
167
|
opentrons/hardware_control/modules/__init__.py,sha256=9tLhyYJ4AQ2Kch8oD4-NEZ_dGC7IqY5hOdGLyKqJjLs,1549
|
|
168
168
|
opentrons/hardware_control/modules/absorbance_reader.py,sha256=e1b-CxYEdFva0H5DuQ51B3hxfGlqktIvKpvkYkyGozI,13609
|
|
169
169
|
opentrons/hardware_control/modules/errors.py,sha256=cREqoMc6nwGxQbLvZYDfIlq1mCv0alN42J7qxNBNiOY,165
|
|
@@ -204,12 +204,13 @@ opentrons/hardware_control/scripts/gripper_control.py,sha256=aUt9MAo6DXDhY4BfJRe
|
|
|
204
204
|
opentrons/hardware_control/scripts/repl.py,sha256=RojtHjYV6sa6O4SeNEgs5SvnAK0imQK_XqoLQTKlzWU,5982
|
|
205
205
|
opentrons/hardware_control/scripts/tc_control.py,sha256=V6hOzoRXL3xqIUEz8Raldd45aO2JgN5m5Hr08c1G8Ko,2741
|
|
206
206
|
opentrons/legacy_commands/__init__.py,sha256=erkaz7hc2iHsTtjpFDWrR1V5n47it3U1qxD2zL9CkuE,63
|
|
207
|
-
opentrons/legacy_commands/commands.py,sha256=
|
|
207
|
+
opentrons/legacy_commands/commands.py,sha256=fedAN-qkCvxBIhePqbISsqOK2xnZUXYWSt_J58vaBqk,13457
|
|
208
208
|
opentrons/legacy_commands/helpers.py,sha256=Bc7mjK6V7b4h472NCx_qSwD0ojd_DM7mPg18tjo1DIQ,5228
|
|
209
209
|
opentrons/legacy_commands/module_commands.py,sha256=EO2YtrfzCCaGPYjGXWfk6jjSHiEqk1E6D8Ef2qDi1qI,7769
|
|
210
210
|
opentrons/legacy_commands/protocol_commands.py,sha256=nPYBrm7j9co83IGWjzae2GOVkEZdu58pXQv3eOdpLzg,1383
|
|
211
211
|
opentrons/legacy_commands/publisher.py,sha256=n7hT9n4zahM3N2LNIAEs7hqs5RbHHie_tev2M8pke4Y,5441
|
|
212
|
-
opentrons/legacy_commands/
|
|
212
|
+
opentrons/legacy_commands/robot_commands.py,sha256=c51gVAh-98PxhxmEL_3P80rejkaY58gAQ7S6wNwctao,1642
|
|
213
|
+
opentrons/legacy_commands/types.py,sha256=I3OZL5XjfKZGk0fXGWw_02QIkeW0646metQq46WCJWc,28007
|
|
213
214
|
opentrons/motion_planning/__init__.py,sha256=Gma3SLAvKbL7QuhVGtL9zFx5vlk_7YBF0TjYZQSiv9s,755
|
|
214
215
|
opentrons/motion_planning/adjacent_slots_getters.py,sha256=z7HkfC8ymAdGHdFq-sC_1_cERX_v29b9x4HKtJ6gp9I,5390
|
|
215
216
|
opentrons/motion_planning/deck_conflict.py,sha256=gJG0dCQOvdEP-rr9EbVSGJCQPDXgvd04Jn4crGEbYLo,12604
|
|
@@ -217,62 +218,62 @@ opentrons/motion_planning/errors.py,sha256=-TOop0-NWaWb6KNYRoYLpWMca_kwsxxXEf31W
|
|
|
217
218
|
opentrons/motion_planning/types.py,sha256=C4jXv5b02iBQmePMLrujgvHwqvEphBWtY18MPfKQpj4,1188
|
|
218
219
|
opentrons/motion_planning/waypoints.py,sha256=Oo5BD7FKNN5WHDLA-ptHMurc3pmRPA-a6srazVyiUXs,8210
|
|
219
220
|
opentrons/protocol_api/__init__.py,sha256=ZzmlAkCkLLDE2OLJXGIswjEmc_eiU5o91MUgknE79EY,2535
|
|
220
|
-
opentrons/protocol_api/_liquid.py,sha256=
|
|
221
|
-
opentrons/protocol_api/_liquid_properties.py,sha256=
|
|
221
|
+
opentrons/protocol_api/_liquid.py,sha256=exYaa5UjQQzmDROVBCnyqOVkbyZs0G1ZBMhH2bORNJY,5031
|
|
222
|
+
opentrons/protocol_api/_liquid_properties.py,sha256=DHdDHoset72mKq2sLaf355Zz1XdsP3hIiTkQZbUscb0,27913
|
|
222
223
|
opentrons/protocol_api/_nozzle_layout.py,sha256=-WA71bRDISs9bLwHdWqAyM7HBc53sOA8_BOVqYsuN3g,1095
|
|
223
224
|
opentrons/protocol_api/_parameter_context.py,sha256=dvGMVObWDSERrXfTKSIwc4YeIdF_RD-q8ASNaSBTcxw,12967
|
|
224
225
|
opentrons/protocol_api/_parameters.py,sha256=BGH50BFawoNnh7NRDh0tRrNncdwz_Ta25tbQfwtlYoM,1298
|
|
225
|
-
opentrons/protocol_api/_transfer_liquid_validation.py,sha256=
|
|
226
|
+
opentrons/protocol_api/_transfer_liquid_validation.py,sha256=wYuvW3UwF0JcK_Hmxim-Fmy1VkSR1TLBW-7u59XADL0,4443
|
|
226
227
|
opentrons/protocol_api/_types.py,sha256=6tPCuOmZ5GNtu-24zyY6O-KkXEqzhTAlHlKHQH3Dvzs,1413
|
|
227
228
|
opentrons/protocol_api/config.py,sha256=r9lyvXjagTX_g3q5FGURPpcz2IA9sSF7Oa_1mKx-7cw,625
|
|
228
229
|
opentrons/protocol_api/create_protocol_context.py,sha256=wwsZje0L__oDnu1Yrihau320_f-ASloR9eL1QCtkOh8,7612
|
|
229
230
|
opentrons/protocol_api/deck.py,sha256=94vFceg1SC1bAGd7TvC1ZpYwnJR-VlzurEZ6jkacYeg,8910
|
|
230
231
|
opentrons/protocol_api/disposal_locations.py,sha256=NRiSGmDR0LnbyEkWSOM-o64uR2fUoB1NWJG7Y7SsJSs,7920
|
|
231
|
-
opentrons/protocol_api/instrument_context.py,sha256=
|
|
232
|
-
opentrons/protocol_api/labware.py,sha256=
|
|
233
|
-
opentrons/protocol_api/module_contexts.py,sha256=
|
|
232
|
+
opentrons/protocol_api/instrument_context.py,sha256=mtflJtJfzHbnU3dFkQp8a2D4dqE1VRzy8JkqbDVpAJc,139254
|
|
233
|
+
opentrons/protocol_api/labware.py,sha256=AhL1JX10Xt-mpB85CAnEOBvz9r5v3xncJuLMkiY1FPM,60934
|
|
234
|
+
opentrons/protocol_api/module_contexts.py,sha256=Mzut2a92Gcv23wFPdNVU9fj2P--7WDqBx27xAJ7z8eo,48361
|
|
234
235
|
opentrons/protocol_api/module_validation_and_errors.py,sha256=XL_m72P8rcvGO2fynY7UzXLcpGuI6X4s0V6Xf735Iyc,1464
|
|
235
|
-
opentrons/protocol_api/protocol_context.py,sha256=
|
|
236
|
-
opentrons/protocol_api/robot_context.py,sha256=
|
|
237
|
-
opentrons/protocol_api/validation.py,sha256=
|
|
236
|
+
opentrons/protocol_api/protocol_context.py,sha256=PkedIdTuE8EBd4I7E6q1HjfXQWwmO_j3Q8dmNwLVJ90,70060
|
|
237
|
+
opentrons/protocol_api/robot_context.py,sha256=D6ZdpFX30VTtVUDHitsVjabJQXD5TxOV9_Z6sik1LvE,11891
|
|
238
|
+
opentrons/protocol_api/validation.py,sha256=73QwpdK5337yu9g8jvpHHizOD0Mf3m6Wr9S8eikrHIc,28993
|
|
238
239
|
opentrons/protocol_api/core/__init__.py,sha256=-g74o8OtBB0LmmOvwkRvPgrHt7fF7T8FRHDj-x_-Onk,736
|
|
239
240
|
opentrons/protocol_api/core/common.py,sha256=q9ZbfpRdBvB3iDAOCyONtupvkYP5n1hjE-bwqGcwP_U,1172
|
|
240
241
|
opentrons/protocol_api/core/core_map.py,sha256=gq3CIYPxuPvozf8yj8FprqBfs3e4ZJGQ6s0ViPbwV08,1757
|
|
241
|
-
opentrons/protocol_api/core/instrument.py,sha256=
|
|
242
|
+
opentrons/protocol_api/core/instrument.py,sha256=RCLvsoh3ybHIRxVFQaKEdcxbUA72q8n5Srq2pPhT39s,14202
|
|
242
243
|
opentrons/protocol_api/core/labware.py,sha256=-ZOjkalikXCV3ptehKCNaWGAdKxIdwne8LRFQW9NAm4,4290
|
|
243
244
|
opentrons/protocol_api/core/module.py,sha256=z2STDyqqxZX3y6UyJVDnajeFXMEn1ie2NRBYHhry_XE,13838
|
|
244
|
-
opentrons/protocol_api/core/protocol.py,sha256=
|
|
245
|
+
opentrons/protocol_api/core/protocol.py,sha256=4ixn9qY0ca0GYyhTkSdKKm0slFdtzY5mXG_lgjGflns,9089
|
|
245
246
|
opentrons/protocol_api/core/robot.py,sha256=QMAqj5Oqq3_IhTDyUF4jpWI4j2LRPP9crUiaYD_RUv4,1385
|
|
246
|
-
opentrons/protocol_api/core/well.py,sha256=
|
|
247
|
+
opentrons/protocol_api/core/well.py,sha256=Lf89YYEyq-ahRSRIFJw42vxIP8Fw6kzIUh9K1HEijUQ,3487
|
|
247
248
|
opentrons/protocol_api/core/well_grid.py,sha256=BU28DKaBgEU_JdZ6pEzrwNxmuh6TkO4zlg7Pq1Rf5Xk,1516
|
|
248
249
|
opentrons/protocol_api/core/engine/__init__.py,sha256=B_5T7zgkWDb1mXPg4NbT-wBkQaK-WVokMMnJRNu7xiM,582
|
|
249
250
|
opentrons/protocol_api/core/engine/deck_conflict.py,sha256=q3JViIAHDthIqq6ce7h2gxw3CHRfYsm5kkwzuXB-Gnc,12334
|
|
250
251
|
opentrons/protocol_api/core/engine/exceptions.py,sha256=aZgNrmYEeuPZm21nX_KZYtvyjv5h_zPjxxgPkEV7_bw,725
|
|
251
|
-
opentrons/protocol_api/core/engine/instrument.py,sha256=
|
|
252
|
+
opentrons/protocol_api/core/engine/instrument.py,sha256=HCc9SMglY9gumz1sAg7PU9cb7pR36Qkn0Cf6G1779_o,103900
|
|
252
253
|
opentrons/protocol_api/core/engine/labware.py,sha256=1xvzguNnK7aecFLiJK0gtRrZ5kpwtzLS73HnKvdJ5lc,8413
|
|
253
254
|
opentrons/protocol_api/core/engine/load_labware_params.py,sha256=I4Cb8rqpBhmykQuZE8QRG802APrdCy_TYS88rm_9oGA,7159
|
|
254
255
|
opentrons/protocol_api/core/engine/module_core.py,sha256=MLPgYSRJHUZPZ9rTLvsg3GlpL5b6-Pjk5UBgXCGrL6U,30994
|
|
255
256
|
opentrons/protocol_api/core/engine/overlap_versions.py,sha256=PyGvQtQUg1wzNtkuGZtxwXm019PoIjq7em2JiWaxbXc,675
|
|
256
257
|
opentrons/protocol_api/core/engine/pipette_movement_conflict.py,sha256=mMns5sKw3Qpfu3IJQf1q098zSdBSOKiHAaQshovZIh8,15225
|
|
257
258
|
opentrons/protocol_api/core/engine/point_calculations.py,sha256=C2eF0fvJQGMqQv3DzNhc1-m8HTAXTyTsHPJEPrEUEmo,2502
|
|
258
|
-
opentrons/protocol_api/core/engine/protocol.py,sha256=
|
|
259
|
-
opentrons/protocol_api/core/engine/robot.py,sha256=
|
|
259
|
+
opentrons/protocol_api/core/engine/protocol.py,sha256=OvE8kDONIR0z5S-FV10KUw5v5_HskPk7aqFNyTSUasc,46919
|
|
260
|
+
opentrons/protocol_api/core/engine/robot.py,sha256=bzUt23NG-clD-9-QFsV_6nm3fMgSmvYEG9DyyZI1xgw,5366
|
|
260
261
|
opentrons/protocol_api/core/engine/stringify.py,sha256=GwFgEhFMk-uPfFQhQG_2mkaf4cxaItiY8RW7rZwiooQ,2794
|
|
261
|
-
opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=
|
|
262
|
-
opentrons/protocol_api/core/engine/well.py,sha256=
|
|
262
|
+
opentrons/protocol_api/core/engine/transfer_components_executor.py,sha256=2RAcqU-a2uB6YQw7MGKIjeFhNkVFTD3AQySPGgrmpxc,43661
|
|
263
|
+
opentrons/protocol_api/core/engine/well.py,sha256=IaaFK-3hoUfabfn_twIT7zcAynhzAmRxDnvABss2szo,8923
|
|
263
264
|
opentrons/protocol_api/core/legacy/__init__.py,sha256=_9jCJNKG3SlS_vljVu8HHkZmtLf4F-f-JHALLF5d5go,401
|
|
264
265
|
opentrons/protocol_api/core/legacy/deck.py,sha256=qHqcGo-Kdkl9L1aOE0pwrm9tsAnwkXbt4rIOr_VEP-s,13955
|
|
265
266
|
opentrons/protocol_api/core/legacy/labware_offset_provider.py,sha256=2DLIby9xmUrwLb2ht8hZbvNTxqPhNzWijd7yCb2cqP8,3783
|
|
266
|
-
opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=
|
|
267
|
+
opentrons/protocol_api/core/legacy/legacy_instrument_core.py,sha256=Q4zYHMElPRSRG4dcm4eXQ0sj5I8ZpuJwwtfJeTlYv4E,27010
|
|
267
268
|
opentrons/protocol_api/core/legacy/legacy_labware_core.py,sha256=WQOgtMlq--zv0Ch7mmraYr9rQBT4ie2zHqwgamBq9J8,8606
|
|
268
269
|
opentrons/protocol_api/core/legacy/legacy_module_core.py,sha256=tUhj88NKBMjCmCg6wjh1e2HX4d5hxjh8ZeJiYXaTaGY,23111
|
|
269
|
-
opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=
|
|
270
|
-
opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=
|
|
270
|
+
opentrons/protocol_api/core/legacy/legacy_protocol_core.py,sha256=fodiDwsBi1_Yd6Hgf8Kx-iTvky_J6WHmGhwmeRBHqmE,23702
|
|
271
|
+
opentrons/protocol_api/core/legacy/legacy_well_core.py,sha256=wxeiPBqaS8YQwRpDGwF7ykJ0s2y3bExwVGpNbUZMmFg,5560
|
|
271
272
|
opentrons/protocol_api/core/legacy/load_info.py,sha256=r-WaH5ZJb3TRCp_zvbMMh0P4BhbZM8HsBs1K_pU98dk,1857
|
|
272
273
|
opentrons/protocol_api/core/legacy/module_geometry.py,sha256=lvWFHZ81-JFw-1VZUW1R3yUIb59xpXT6H3jwlRintRo,21082
|
|
273
274
|
opentrons/protocol_api/core/legacy/well_geometry.py,sha256=n5bEsvYZXXTAqYSAqlXd5t40bUPPrJ2Oj2frBZafQHA,4719
|
|
274
275
|
opentrons/protocol_api/core/legacy_simulator/__init__.py,sha256=m9bLHGDJ6LSYC2WPm8tpOuu0zWSOPIrlybQgjRQBw9k,647
|
|
275
|
-
opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py,sha256=
|
|
276
|
+
opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py,sha256=_C-9nxssbYXh5tuQdM-wqL3lptcuHPlXZM3tiO-Qm9A,23449
|
|
276
277
|
opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py,sha256=28HrrHzeUfnGKXpZqQ-VM8WbPiadqVhKj2S9y33q6Lo,2910
|
|
277
278
|
opentrons/protocol_engine/__init__.py,sha256=UPSk7MbidkiSH_h4V3yxMvyTePKpRr5DM9-wfkJrlSo,4094
|
|
278
279
|
opentrons/protocol_engine/create_protocol_engine.py,sha256=tfDIsC7_JKlRiCXPB_8tuxRsssU6o0ViRmWbGPtX9QA,7582
|
|
@@ -298,7 +299,7 @@ opentrons/protocol_engine/commands/aspirate_while_tracking.py,sha256=se1GIJWxxVC
|
|
|
298
299
|
opentrons/protocol_engine/commands/blow_out.py,sha256=3gboq4x5S8fq7j4ZZGNClXFDlOjcdW1v2g58GPdhaPI,4338
|
|
299
300
|
opentrons/protocol_engine/commands/blow_out_in_place.py,sha256=jm2XXyJfIP9-AAFwXhD59_13nX18-i6QqpLGb-lK7sI,3391
|
|
300
301
|
opentrons/protocol_engine/commands/command.py,sha256=1hWH_KWg_WDL4R4VXe1ZH2vO6pYt5SA-ZpuPPF1oV5E,10149
|
|
301
|
-
opentrons/protocol_engine/commands/command_unions.py,sha256
|
|
302
|
+
opentrons/protocol_engine/commands/command_unions.py,sha256=OaWhzMLxBLEj-toqAEp1Q2RzRWWG80wzhceL-SZIfcg,26399
|
|
302
303
|
opentrons/protocol_engine/commands/comment.py,sha256=-6o07x-MZ6-IvZas84OVFmqF0gAbbKWJZIlGVYThCqM,1638
|
|
303
304
|
opentrons/protocol_engine/commands/configure_for_volume.py,sha256=Ntx0Qi55GtJ5Gm4ZMBCCxo4xWIgb1tHy4Sn1BRzPlKc,3612
|
|
304
305
|
opentrons/protocol_engine/commands/configure_nozzle_layout.py,sha256=M_s5Ee03a7sSnbvkibDHzEqZwkca0y8J7F60EnSEq7A,3849
|
|
@@ -308,14 +309,14 @@ opentrons/protocol_engine/commands/dispense_in_place.py,sha256=gcj0HXUkPrU3Qz_Db
|
|
|
308
309
|
opentrons/protocol_engine/commands/dispense_while_tracking.py,sha256=vn0nw5D4ggpTEwarConFPHUVI4gNShehs5v1U5Kn9sY,6644
|
|
309
310
|
opentrons/protocol_engine/commands/drop_tip.py,sha256=ZZ63IoiT4dgWcemAHhNQfV4DUhkl-ToJyTRTxIiyAkc,7895
|
|
310
311
|
opentrons/protocol_engine/commands/drop_tip_in_place.py,sha256=gwSNEKBwds7kOTucXKSK74ozrDe7Cqhta7NR6IqKV3g,7062
|
|
311
|
-
opentrons/protocol_engine/commands/generate_command_schema.py,sha256=
|
|
312
|
-
opentrons/protocol_engine/commands/get_next_tip.py,sha256=
|
|
312
|
+
opentrons/protocol_engine/commands/generate_command_schema.py,sha256=e88q7DCxjEM1xSrnXV8jBdo6AgMc15_W8cC-i-ESvy0,2312
|
|
313
|
+
opentrons/protocol_engine/commands/get_next_tip.py,sha256=4jpFlG_QQbsjtpAUXdMIYWt7YnyKUjGGDAjhPFSAz54,4830
|
|
313
314
|
opentrons/protocol_engine/commands/get_tip_presence.py,sha256=vK80XN5qCzK44SOSxH3QJkIj9dPmvri4J4FZJeP1X08,2543
|
|
314
315
|
opentrons/protocol_engine/commands/hash_command_params.py,sha256=obWy4TbVH97SyhNqrSD6iP1wgZ20JoaH1rilZCjXxIs,1530
|
|
315
316
|
opentrons/protocol_engine/commands/home.py,sha256=g77hewv-puMxEHFy0PPnl8-Nkbb7K-2qk36HbWG_Nik,3326
|
|
316
317
|
opentrons/protocol_engine/commands/labware_handling_common.py,sha256=WtkdGIjQ5GBiBWsenyLyPLkSn6phgoesfWxCFTmG1AU,1074
|
|
317
318
|
opentrons/protocol_engine/commands/liquid_probe.py,sha256=wjD-a_xUasEAQSfigexcIJ0FkjhEejlFUh6hpm-Y-JA,15899
|
|
318
|
-
opentrons/protocol_engine/commands/load_labware.py,sha256=
|
|
319
|
+
opentrons/protocol_engine/commands/load_labware.py,sha256=z919MRjzva9a7QW-brAnDu1BH0VLyyllHFmXGeBwdw8,7611
|
|
319
320
|
opentrons/protocol_engine/commands/load_lid.py,sha256=8zRWBfdAQHSULLtjzYPEflkXC_rSSLZML9vJ4TJjxoQ,5484
|
|
320
321
|
opentrons/protocol_engine/commands/load_lid_stack.py,sha256=WgSBr9bd4rRwv6yYztYuz-mIHMByPom6G0Vzo4znpAY,10572
|
|
321
322
|
opentrons/protocol_engine/commands/load_liquid.py,sha256=KSS3Ps4PDdSrqHTStbioQP7P1xVzParlOH_AXLy2B1A,3417
|
|
@@ -329,14 +330,14 @@ opentrons/protocol_engine/commands/move_to_addressable_area_for_drop_tip.py,sha2
|
|
|
329
330
|
opentrons/protocol_engine/commands/move_to_coordinates.py,sha256=2qZliN1ZLdgNDiGdaTafgKB2gxvHCpMbvX01kJ-kQuM,3179
|
|
330
331
|
opentrons/protocol_engine/commands/move_to_well.py,sha256=m3GnX34Aimf7WCDjkxOMFF31kCyXVo_RqY-2S8H8Vp4,3418
|
|
331
332
|
opentrons/protocol_engine/commands/movement_common.py,sha256=bnJuwcp6nkyoxkTXqfSXnnKgZ7TKflkMGZSHXuPWsRk,11950
|
|
332
|
-
opentrons/protocol_engine/commands/pick_up_tip.py,sha256=
|
|
333
|
+
opentrons/protocol_engine/commands/pick_up_tip.py,sha256=VtDQ44VOW8VcNy1Rf8tCcS7lAhJjWptAeaD65d52Oks,7942
|
|
333
334
|
opentrons/protocol_engine/commands/pipetting_common.py,sha256=WoO_kCFznxvAO1vayiNvpI1-b7EQsaj_aWjhfQXTnEE,15355
|
|
334
335
|
opentrons/protocol_engine/commands/prepare_to_aspirate.py,sha256=qs1GtVfzyk_Lzv8g6K8GIZg4NwwH4Uop9_df6YFsBDA,3559
|
|
335
336
|
opentrons/protocol_engine/commands/pressure_dispense.py,sha256=mGCJDFKwy6MPHg-AOttDg9TffHmp-eM_1y6x8CaErJE,4711
|
|
336
337
|
opentrons/protocol_engine/commands/reload_labware.py,sha256=eB1X7M9rHso1qc0beBTVHm5SHbjS6IODsIDj9RhR3mI,2910
|
|
337
338
|
opentrons/protocol_engine/commands/retract_axis.py,sha256=3h0eb6O3fjrCBY89q9tnjDFUGQXN9qafURxvXGcmCm4,2889
|
|
338
339
|
opentrons/protocol_engine/commands/save_position.py,sha256=koxPh6t8s7Cl1vjPt9e6raZz5_rQtXsg_IGdWqAPzPI,3395
|
|
339
|
-
opentrons/protocol_engine/commands/seal_pipette_to_tip.py,sha256=
|
|
340
|
+
opentrons/protocol_engine/commands/seal_pipette_to_tip.py,sha256=XcofbN6KpqzSZ_-hf26sn05XyMh0WdVPQNDO_66v4PQ,12286
|
|
340
341
|
opentrons/protocol_engine/commands/set_rail_lights.py,sha256=QfB-NKw2ktBvSge1jOi9wYVLD19Vj6HiKw22Fsn0aSo,2090
|
|
341
342
|
opentrons/protocol_engine/commands/set_status_bar.py,sha256=LJGFBteL8bD8tG8yMPQir93mWnGYlPy3er00THbp6kk,2834
|
|
342
343
|
opentrons/protocol_engine/commands/touch_tip.py,sha256=620D8mXSKQdjXQonNVztz_ENOqjuHQd_oa-nHFiM2Ls,5713
|
|
@@ -375,13 +376,13 @@ opentrons/protocol_engine/commands/heater_shaker/wait_for_temperature.py,sha256=
|
|
|
375
376
|
opentrons/protocol_engine/commands/magnetic_module/__init__.py,sha256=Y9RCovlGHc1unTllpbjcib1Y1qvzSYuV9EeAMzaHyeI,586
|
|
376
377
|
opentrons/protocol_engine/commands/magnetic_module/disengage.py,sha256=yS4vXR_ajLpuk8TDGtTcnL5TvkJG7KRf1G113EyPQdk,3181
|
|
377
378
|
opentrons/protocol_engine/commands/magnetic_module/engage.py,sha256=O9lDRSfcvWD5MZVpeL_heq1vk4e3C1htDYduI3OKVCk,4169
|
|
378
|
-
opentrons/protocol_engine/commands/robot/__init__.py,sha256=
|
|
379
|
-
opentrons/protocol_engine/commands/robot/close_gripper_jaw.py,sha256=
|
|
379
|
+
opentrons/protocol_engine/commands/robot/__init__.py,sha256=tbrYizmAau3raFOf7ydps5KmAGtElGz363mwPcNoGzc,1583
|
|
380
|
+
opentrons/protocol_engine/commands/robot/close_gripper_jaw.py,sha256=sqOYMXiWG-gQUzFkYI3cyLdQfl8xtc8HxmsalpIgHLw,2803
|
|
380
381
|
opentrons/protocol_engine/commands/robot/common.py,sha256=CFJl5rwMwYsBr2_3-RGmJ4GJS6tF2j7MSrXkLV9HQjA,589
|
|
381
382
|
opentrons/protocol_engine/commands/robot/move_axes_relative.py,sha256=lV6O-UE3-RveCKIx6iyc8_6RhBXyixBgw9ehQkWkxho,3180
|
|
382
383
|
opentrons/protocol_engine/commands/robot/move_axes_to.py,sha256=furx9WyRwauk3i5tKF7SmmI9Au44Co8YWH0ItTjTaW4,3236
|
|
383
384
|
opentrons/protocol_engine/commands/robot/move_to.py,sha256=Wzj7Wlk-fVgM1hrpI-vV4zYWIzzRCKfOwHoDN_OjNZ0,2726
|
|
384
|
-
opentrons/protocol_engine/commands/robot/open_gripper_jaw.py,sha256=
|
|
385
|
+
opentrons/protocol_engine/commands/robot/open_gripper_jaw.py,sha256=QGR0wEpv5k3itq6WysbvaYKbJPQ37CaCi-xa0cXpqTE,2370
|
|
385
386
|
opentrons/protocol_engine/commands/temperature_module/__init__.py,sha256=DKzhgXNdCHop_U4ogP8AMcAVq90pBQX0MVZjkiDH-Ds,1276
|
|
386
387
|
opentrons/protocol_engine/commands/temperature_module/deactivate.py,sha256=IIEIKle1Ac_qPB-hUqvWu9qPlpNIHaj9ncpRuxz_hbU,2892
|
|
387
388
|
opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py,sha256=A0WaSxbyrU5uMV-eRHz38QOpFtD2yNRYEY89jKBya1k,3462
|
|
@@ -397,9 +398,9 @@ opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py,
|
|
|
397
398
|
opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py,sha256=3qsG2WBatgD53vdsFR-GZU2VXwydmD-r_0J2Uj8mM1M,3384
|
|
398
399
|
opentrons/protocol_engine/commands/thermocycler/wait_for_block_temperature.py,sha256=Wc8NQBIOcSl5nwsts6KlUfJXHcvXnSF1td_olzqJGec,3101
|
|
399
400
|
opentrons/protocol_engine/commands/thermocycler/wait_for_lid_temperature.py,sha256=KZHt1dUWPrWUk_d0hl0TiAQhfaVdc_YZcxyMcZ0FLq8,2971
|
|
400
|
-
opentrons/protocol_engine/commands/unsafe/__init__.py,sha256=
|
|
401
|
+
opentrons/protocol_engine/commands/unsafe/__init__.py,sha256=wmBrVOjkiLma8ncul0wb5Oe_V3vDObM_WUc_Yc_TIwo,3229
|
|
401
402
|
opentrons/protocol_engine/commands/unsafe/unsafe_blow_out_in_place.py,sha256=uK9240g-lx0JE1N1f6Nfj_crhf9olHmzcxbUk6sMZoU,3374
|
|
402
|
-
opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py,sha256=
|
|
403
|
+
opentrons/protocol_engine/commands/unsafe/unsafe_drop_tip_in_place.py,sha256=z5ewHGQieq-x6GwwpTXlhSi5fT9gQIDAUesGWuf-fwA,4041
|
|
403
404
|
opentrons/protocol_engine/commands/unsafe/unsafe_engage_axes.py,sha256=Ze5hLslsXdd7l3lF0GKOPoWCdTmqTTGIjiTQyNhL-W4,2502
|
|
404
405
|
opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py,sha256=mcIPhcQvVCUL_wfb2-JPrCvIFTXMVD93VeJb4H1LmhM,7873
|
|
405
406
|
opentrons/protocol_engine/commands/unsafe/unsafe_ungrip_labware.py,sha256=9Sjx92JZhi-tRY1P77M--jJp4JzIGESXUakIpstESwQ,2461
|
|
@@ -416,14 +417,14 @@ opentrons/protocol_engine/execution/error_recovery_hardware_state_synchronizer.p
|
|
|
416
417
|
opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEyJIXV0tHkc4UWDDjWFCClYo,26477
|
|
417
418
|
opentrons/protocol_engine/execution/hardware_stopper.py,sha256=wlIl7U3gvnOiCvwrixHDcrfqXy3l4GFp0G232nASL8g,5857
|
|
418
419
|
opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py,sha256=BSFLzSSeELAYZCrCUfJZx5DdlrwU06Ur92TYd0T-hzM,9084
|
|
419
|
-
opentrons/protocol_engine/execution/labware_movement.py,sha256=
|
|
420
|
-
opentrons/protocol_engine/execution/movement.py,sha256=
|
|
420
|
+
opentrons/protocol_engine/execution/labware_movement.py,sha256=vqatNazzTz4NOxKQIlaTyiiqL-2dLDCtc5VW-CxeUyQ,12496
|
|
421
|
+
opentrons/protocol_engine/execution/movement.py,sha256=jgpMoYLV3WhLQ7wNL09LDpua7pgWb5Njf-kg5RTAbyw,12747
|
|
421
422
|
opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
|
|
422
|
-
opentrons/protocol_engine/execution/queue_worker.py,sha256=
|
|
423
|
+
opentrons/protocol_engine/execution/queue_worker.py,sha256=LM753TrQzJoKUSIrtcaHDOWLe58zcpx-fUOLVpyDlHM,3302
|
|
423
424
|
opentrons/protocol_engine/execution/rail_lights.py,sha256=eiJT6oI_kFk7rFuFkZzISZiLNnpf7Kkh86Kyk9wQ_Jo,590
|
|
424
425
|
opentrons/protocol_engine/execution/run_control.py,sha256=ksvI2zkguC4G3lR3HJgAF8uY1PNcaRfi7UOYu-oIZgo,1144
|
|
425
426
|
opentrons/protocol_engine/execution/status_bar.py,sha256=tR7CHS_y1ARQxcSKDO4YFU2cqVQhePzalmzsyH8b23A,970
|
|
426
|
-
opentrons/protocol_engine/execution/thermocycler_movement_flagger.py,sha256=
|
|
427
|
+
opentrons/protocol_engine/execution/thermocycler_movement_flagger.py,sha256=A4VD_0W5oqEx05UIsDnNbTYCFH0VEabxJqHFkssBPHs,8249
|
|
427
428
|
opentrons/protocol_engine/execution/thermocycler_plate_lifter.py,sha256=j33nYV8rkeAYUOau8wFIyJVWjWkjyildleYHCysez-o,3375
|
|
428
429
|
opentrons/protocol_engine/execution/tip_handler.py,sha256=Ouunj3KVqz-UMbkjFIbJJr2zpfgcUht_r4_60uHEx3M,19731
|
|
429
430
|
opentrons/protocol_engine/notes/__init__.py,sha256=G0bIQswsov7MrJU0ArrOaWcOTxJU9BCUmNR3LRoNg-Q,311
|
|
@@ -434,7 +435,7 @@ opentrons/protocol_engine/resources/deck_data_provider.py,sha256=63c-Hmwy5IbVSoA
|
|
|
434
435
|
opentrons/protocol_engine/resources/file_provider.py,sha256=6btMCDN7NsyFlV7Icy5vDO7xsgbmtkeAM_KCuQ-GvRo,5903
|
|
435
436
|
opentrons/protocol_engine/resources/fixture_validation.py,sha256=WBGWFTmBwLPjOBFeqJYxnaSRHvo4pwxvdhT4XUW_FMY,1857
|
|
436
437
|
opentrons/protocol_engine/resources/labware_data_provider.py,sha256=i0otj_dACWHK23mBGjXGwTJtE4sooov2_YQOMIulzJo,3836
|
|
437
|
-
opentrons/protocol_engine/resources/labware_validation.py,sha256=
|
|
438
|
+
opentrons/protocol_engine/resources/labware_validation.py,sha256=6UkWktVvGNpOrRov4vEZ2A8qbjJMuKlisSQvr4Z749A,2747
|
|
438
439
|
opentrons/protocol_engine/resources/model_utils.py,sha256=C3OHUi-OtuFUm3dS5rApSU3EJ0clnaCZEyBku5sTjzA,941
|
|
439
440
|
opentrons/protocol_engine/resources/module_data_provider.py,sha256=DaTv3QqrlpKEXlIfBCSgXwlyOrV2YqWcxlHD0MGKWWw,1558
|
|
440
441
|
opentrons/protocol_engine/resources/ot3_validation.py,sha256=0x81JoZBXcj2xUVcOF7v5ETc8y5T_sbs-jTPxuSnooE,744
|
|
@@ -442,25 +443,25 @@ opentrons/protocol_engine/resources/pipette_data_provider.py,sha256=zyaasVJuWb_3
|
|
|
442
443
|
opentrons/protocol_engine/state/__init__.py,sha256=hDdA4GjXbi9h7K_FMbQGT9tOw3YtRNn5LIryMdkotS8,36
|
|
443
444
|
opentrons/protocol_engine/state/_abstract_store.py,sha256=b5cqKZhI6ERZj6gyL0kDutD6ogdQngR3T-JmPATvhi8,631
|
|
444
445
|
opentrons/protocol_engine/state/_move_types.py,sha256=STLssWsXMY92F_asAQrixv10A6QsCkHYAvKQs0igTGE,2230
|
|
445
|
-
opentrons/protocol_engine/state/_well_math.py,sha256=
|
|
446
|
+
opentrons/protocol_engine/state/_well_math.py,sha256=hppbOs4G6yQ6wgvKQWNhOs2zdYA_MwFW7qKgg2bGyx0,9714
|
|
446
447
|
opentrons/protocol_engine/state/addressable_areas.py,sha256=vHshe5bjiJDBAvcI0k7i6vVy5zz0NAhw4VOFYiRjoiw,28760
|
|
447
448
|
opentrons/protocol_engine/state/command_history.py,sha256=ZwP7DD8AMohoo1iDZgnpV50_RZvlSrYpEFzcc2kKXyA,11574
|
|
448
|
-
opentrons/protocol_engine/state/commands.py,sha256=
|
|
449
|
+
opentrons/protocol_engine/state/commands.py,sha256=8CI3xIaDThD0XgOp8itsoiHMJpMBfcMYCaWOSkDPB1U,44435
|
|
449
450
|
opentrons/protocol_engine/state/config.py,sha256=7jSGxC6Vqj1eA8fqZ2I3zjlxVXg8pxvcBYMztRIx9Mg,1515
|
|
450
451
|
opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3dwtisJ-9j8E,1753
|
|
451
452
|
opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
|
|
452
|
-
opentrons/protocol_engine/state/frustum_helpers.py,sha256=
|
|
453
|
+
opentrons/protocol_engine/state/frustum_helpers.py,sha256=9yUJP6YJgGxcvq2TNzR7hufB7wkd1RjiQVOlPIwUvUY,17220
|
|
453
454
|
opentrons/protocol_engine/state/geometry.py,sha256=dDCrhiyYUn-0KxEVHrIoN0V_jBDV1DFJ5f3XIjp_ZLk,98690
|
|
454
|
-
opentrons/protocol_engine/state/labware.py,sha256=
|
|
455
|
+
opentrons/protocol_engine/state/labware.py,sha256=qb9F2xUtoyhg2FdhBR0wFlW3aUJeHrBUh-NvYHzbM8k,58243
|
|
455
456
|
opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
|
|
456
457
|
opentrons/protocol_engine/state/liquids.py,sha256=NoesktcQdJUjIVmet1uqqJPf-rzbo4SGemXwQC295W0,2338
|
|
457
|
-
opentrons/protocol_engine/state/modules.py,sha256=
|
|
458
|
+
opentrons/protocol_engine/state/modules.py,sha256=OKVSXd8udbDV1UrWMvyshhRqRrVyerE5QRHrEZDEkrg,58796
|
|
458
459
|
opentrons/protocol_engine/state/motion.py,sha256=pWt28-vBaO6dz_rtvoliUsGDvls_ML6sRfDOwmD0F7g,15086
|
|
459
|
-
opentrons/protocol_engine/state/pipettes.py,sha256=
|
|
460
|
+
opentrons/protocol_engine/state/pipettes.py,sha256=FAFid3yC1YbuLELgWT4E069Fi0lp_PsN-1bUojJNL0s,37337
|
|
460
461
|
opentrons/protocol_engine/state/state.py,sha256=gHmXrlq17kx3sTbizq8gPoJQx_0nazxnooLODvrLY5k,15468
|
|
461
462
|
opentrons/protocol_engine/state/state_summary.py,sha256=tu-xJYKbKzeLk9Z0RwSaz0tUs6blYuxSA5V2n7_zSGk,1180
|
|
462
|
-
opentrons/protocol_engine/state/tips.py,sha256=
|
|
463
|
-
opentrons/protocol_engine/state/update_types.py,sha256=
|
|
463
|
+
opentrons/protocol_engine/state/tips.py,sha256=kvYG3VO98VGloJiGiWNoNJ1JOfqPGWx6Yz--LXHcfK4,18307
|
|
464
|
+
opentrons/protocol_engine/state/update_types.py,sha256=QcEBV11dcmjrpUlNKibVX1AAGzf6-n4ADNzErN-MJSA,26898
|
|
464
465
|
opentrons/protocol_engine/state/wells.py,sha256=rCFiyS8EOgvmsrFr2pHU3SY79ZRkZg_nhFfoH1pMjb0,10996
|
|
465
466
|
opentrons/protocol_engine/state/module_substates/__init__.py,sha256=7OIzc7Zzm-7WRys6M90ZzJ7BZhivuZ1BHJ35TdOPasE,1377
|
|
466
467
|
opentrons/protocol_engine/state/module_substates/absorbance_reader_substate.py,sha256=jiD8WqFEafGnka5n46vJ_qhS8Ofh--hTxuBWXk8eefE,1431
|
|
@@ -485,7 +486,7 @@ opentrons/protocol_engine/types/labware_offset_vector.py,sha256=5Hhyv60I8KpZdUDn
|
|
|
485
486
|
opentrons/protocol_engine/types/liquid.py,sha256=6Ec0fC0SEN3jKHYeFSwbQxdEAj5hxDPHlDcL1wXlx6k,810
|
|
486
487
|
opentrons/protocol_engine/types/liquid_class.py,sha256=SF5WS3s38S87efUqawRGSIYqjhwa4pNx7fB1xdiGHl0,2384
|
|
487
488
|
opentrons/protocol_engine/types/liquid_handling.py,sha256=Xx1GihrNRJJdJJA5zIwWvIYNydbSXAHjSUAliF18Iu0,319
|
|
488
|
-
opentrons/protocol_engine/types/liquid_level_detection.py,sha256=
|
|
489
|
+
opentrons/protocol_engine/types/liquid_level_detection.py,sha256=hdSztrZcexko7p4lEkC8YuKlepv3j6ovKhMeQZuUHcg,6348
|
|
489
490
|
opentrons/protocol_engine/types/location.py,sha256=qIYBs86RO1ws2aXStmdx0CqEVNF9enlj-ACknf75nSs,5707
|
|
490
491
|
opentrons/protocol_engine/types/module.py,sha256=E2tQVGRBPL9DCbbY8dfC4PQafRz-ws6UJRkF9i-3q9Q,10249
|
|
491
492
|
opentrons/protocol_engine/types/partial_tip_configuration.py,sha256=4RMtHOAX-dgpXWA737tthj_izTBnhKphBcA24LAKmhI,2760
|
|
@@ -508,11 +509,11 @@ opentrons/protocol_runner/__init__.py,sha256=Sr0gBDzNv3nuHPapeNy_IWadhohtwmlhfnB
|
|
|
508
509
|
opentrons/protocol_runner/create_simulating_orchestrator.py,sha256=S1Fu9TMa3NrujcPYTfULHpfqLTkrZPYz7CbcXtcDes0,4249
|
|
509
510
|
opentrons/protocol_runner/json_file_reader.py,sha256=dE9ujq3sWyKF1yFg0AN8h-roGVfvqf1tEcIq5wxHbxE,2341
|
|
510
511
|
opentrons/protocol_runner/json_translator.py,sha256=lrDzHOOkQ19ac4KEdUbfEOnfx-F_QCO-6oGqQZegy4g,12134
|
|
511
|
-
opentrons/protocol_runner/legacy_command_mapper.py,sha256=
|
|
512
|
+
opentrons/protocol_runner/legacy_command_mapper.py,sha256=t_TTa5_68qNvnFR1zt5RNyCqWnCK1HboUNSXagemTPg,36936
|
|
512
513
|
opentrons/protocol_runner/legacy_context_plugin.py,sha256=G_qpeyaLvsCjb72_n96Luy8CPSfgPZpt0QKVzKc6LKY,4730
|
|
513
514
|
opentrons/protocol_runner/protocol_runner.py,sha256=YUHZvttojkYghq82IWYWvTfN2kUZ1oZdm8Fm4K-zftI,21658
|
|
514
515
|
opentrons/protocol_runner/python_protocol_wrappers.py,sha256=KEuM4M7rYD4zLjTqK89T47CiBIZJ42kG0JXWarLUq4E,6511
|
|
515
|
-
opentrons/protocol_runner/run_orchestrator.py,sha256=
|
|
516
|
+
opentrons/protocol_runner/run_orchestrator.py,sha256=cdvySp-3IdMitg74SCTaGb5f2G5_9DUkjGjL7mnFWNU,19275
|
|
516
517
|
opentrons/protocol_runner/task_queue.py,sha256=YH8_lvuLBYjfzXAOJU8DYXizQcbaxGmUiAPmd7kHERw,2581
|
|
517
518
|
opentrons/protocols/__init__.py,sha256=cOUxilkIvdlqGvN4nYJQYr0TGdIWnzxBaTfoz3svmw8,245
|
|
518
519
|
opentrons/protocols/bundle.py,sha256=QW_2kwnxgdG_nNPl2e110A5ehOH9Ej63-9TBx-F9Yvw,3666
|
|
@@ -523,13 +524,13 @@ opentrons/protocols/advanced_control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
|
523
524
|
opentrons/protocols/advanced_control/common.py,sha256=AuEzt2PfIE55DK5c5e1pC-ieSJfwbU1BcCSOML6aRMQ,873
|
|
524
525
|
opentrons/protocols/advanced_control/mix.py,sha256=GobQ9E6F2gARjfhNp2xdyWQXFBSwOiU3MQ1UeW85v5Y,2057
|
|
525
526
|
opentrons/protocols/advanced_control/transfers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
526
|
-
opentrons/protocols/advanced_control/transfers/common.py,sha256=
|
|
527
|
+
opentrons/protocols/advanced_control/transfers/common.py,sha256=Mal5AKO35nCXqjwxR6tDityEoLYg09Yty3Jv1fgOHnQ,5498
|
|
527
528
|
opentrons/protocols/advanced_control/transfers/transfer.py,sha256=-vE1uZq2BqAagSGeiuTxTyL1wT6fza_fwkO_V_OMMFc,37318
|
|
528
|
-
opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=
|
|
529
|
+
opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py,sha256=wCyAi0nbAWR0qFetRb2w7PYzyaIbpeFkZn9tbcumJgE,10571
|
|
529
530
|
opentrons/protocols/api_support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
530
531
|
opentrons/protocols/api_support/constants.py,sha256=pI_zJ8oORr6FUOaF508ttll3KOIYqRRgcwVFwnqZuqc,262
|
|
531
532
|
opentrons/protocols/api_support/deck_type.py,sha256=cBxm-IQqFyL1QtYTMGtLXOlyuh-67xWgnJSP6rkg8oc,3942
|
|
532
|
-
opentrons/protocols/api_support/definitions.py,sha256=
|
|
533
|
+
opentrons/protocols/api_support/definitions.py,sha256=uXbzIp9G7DGRchWCFW3pFW0S-_QmWXWm175EDw8xWYI,727
|
|
533
534
|
opentrons/protocols/api_support/instrument.py,sha256=xbgFKbJU_gL1QjbH_mgGHJx2USQIQisjEkBHiFfYEqA,5712
|
|
534
535
|
opentrons/protocols/api_support/labware_like.py,sha256=JArK3XIYSMzDJTnpsVg9KNcMBEaRLMllmbV4ZtcI02s,7701
|
|
535
536
|
opentrons/protocols/api_support/tip_tracker.py,sha256=ztngh5wGworD77ycKHm3_f9EqjT24VFXIAARAGcCPns,7407
|
|
@@ -583,9 +584,9 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
|
|
|
583
584
|
opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
|
|
584
585
|
opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
|
|
585
586
|
opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
|
|
586
|
-
opentrons-8.
|
|
587
|
-
opentrons-8.
|
|
588
|
-
opentrons-8.
|
|
589
|
-
opentrons-8.
|
|
590
|
-
opentrons-8.
|
|
591
|
-
opentrons-8.
|
|
587
|
+
opentrons-8.5.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
588
|
+
opentrons-8.5.0.dist-info/METADATA,sha256=6GpvqLdTKfM9der_sX7C8N9uAZsRLHV-Nfo_5hQ_CbQ,5076
|
|
589
|
+
opentrons-8.5.0.dist-info/WHEEL,sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w,109
|
|
590
|
+
opentrons-8.5.0.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
|
|
591
|
+
opentrons-8.5.0.dist-info/top_level.txt,sha256=wk6whpbMZdBQpcK0Fg0YVfUGrAgVOFON7oQAhOMGMW8,10
|
|
592
|
+
opentrons-8.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|