opentrons 8.6.0a4__py3-none-any.whl → 8.6.0a6__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.

opentrons/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '8.6.0a4'
32
- __version_tuple__ = version_tuple = (8, 6, 0, 'a4')
31
+ __version__ = version = '8.6.0a6'
32
+ __version_tuple__ = version_tuple = (8, 6, 0, 'a6')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1856,7 +1856,7 @@ class InstrumentContext(publisher.CommandPublisher):
1856
1856
  ):
1857
1857
  raise APIVersionError(
1858
1858
  api_element="tip_racks",
1859
- until_version="2.25",
1859
+ until_version=f"{_LIQUID_CLASS_TRANSFER_TIP_RACKS_ARG_ADDED_IN}",
1860
1860
  current_version=f"{self.api_version}",
1861
1861
  )
1862
1862
 
@@ -2001,7 +2001,7 @@ class InstrumentContext(publisher.CommandPublisher):
2001
2001
  ):
2002
2002
  raise APIVersionError(
2003
2003
  api_element="tip_racks",
2004
- until_version="2.25",
2004
+ until_version=f"{_LIQUID_CLASS_TRANSFER_TIP_RACKS_ARG_ADDED_IN}",
2005
2005
  current_version=f"{self.api_version}",
2006
2006
  )
2007
2007
 
@@ -2155,7 +2155,7 @@ class InstrumentContext(publisher.CommandPublisher):
2155
2155
  ):
2156
2156
  raise APIVersionError(
2157
2157
  api_element="tip_racks",
2158
- until_version="2.25",
2158
+ until_version=f"{_LIQUID_CLASS_TRANSFER_TIP_RACKS_ARG_ADDED_IN}",
2159
2159
  current_version=f"{self.api_version}",
2160
2160
  )
2161
2161
 
@@ -2999,10 +2999,8 @@ class InstrumentContext(publisher.CommandPublisher):
2999
2999
  ) and (style not in original_enabled_layouts):
3000
3000
  raise APIVersionError(
3001
3001
  api_element=f"Nozzle layout configuration of style {style.value}",
3002
- until_version=str(
3003
- _PARTIAL_NOZZLE_CONFIGURATION_SINGLE_ROW_PARTIAL_COLUMN_ADDED_IN
3004
- ),
3005
- current_version=str(self._api_version),
3002
+ until_version=f"{_PARTIAL_NOZZLE_CONFIGURATION_SINGLE_ROW_PARTIAL_COLUMN_ADDED_IN}",
3003
+ current_version=f"{self._api_version}",
3006
3004
  )
3007
3005
 
3008
3006
  front_right_resolved = front_right
@@ -463,7 +463,7 @@ class ProtocolContext(CommandPublisher):
463
463
  :param lid: A lid to load on the top of the main labware. Accepts the same
464
464
  values as the ``load_name`` parameter of :py:meth:`.load_lid_stack`. The
465
465
  lid will use the same namespace as the labware, and the API will
466
- choose the adapter's version automatically.
466
+ choose the lid's version automatically.
467
467
 
468
468
  .. versionadded:: 2.23
469
469
  """
@@ -509,7 +509,7 @@ class ProtocolContext(CommandPublisher):
509
509
  if self._api_version < validation.LID_STACK_VERSION_GATE:
510
510
  raise APIVersionError(
511
511
  api_element="Loading a Lid on a Labware",
512
- until_version="2.23",
512
+ until_version=f"{validation.LID_STACK_VERSION_GATE}",
513
513
  current_version=f"{self._api_version}",
514
514
  )
515
515
  self._core.load_lid(
@@ -918,7 +918,7 @@ class ProtocolContext(CommandPublisher):
918
918
  ):
919
919
  raise APIVersionError(
920
920
  api_element=f"Module of type {module_name}",
921
- until_version=str(validation.FLEX_STACKER_VERSION_GATE),
921
+ until_version=f"{validation.FLEX_STACKER_VERSION_GATE}",
922
922
  current_version=f"{self._api_version}",
923
923
  )
924
924
 
@@ -1350,8 +1350,8 @@ class ProtocolContext(CommandPublisher):
1350
1350
  if self._api_version < desc_and_display_color_omittable_since:
1351
1351
  raise APIVersionError(
1352
1352
  api_element="Calling `define_liquid()` without a `description`",
1353
- current_version=str(self._api_version),
1354
- until_version=str(desc_and_display_color_omittable_since),
1353
+ until_version=f"{desc_and_display_color_omittable_since}",
1354
+ current_version=f"{self._api_version}",
1355
1355
  extra_message="Use a newer API version or explicitly supply `description=None`.",
1356
1356
  )
1357
1357
  else:
@@ -1360,8 +1360,8 @@ class ProtocolContext(CommandPublisher):
1360
1360
  if self._api_version < desc_and_display_color_omittable_since:
1361
1361
  raise APIVersionError(
1362
1362
  api_element="Calling `define_liquid()` without a `display_color`",
1363
- current_version=str(self._api_version),
1364
- until_version=str(desc_and_display_color_omittable_since),
1363
+ until_version=f"{desc_and_display_color_omittable_since}",
1364
+ current_version=f"{self._api_version}",
1365
1365
  extra_message="Use a newer API version or explicitly supply `display_color=None`.",
1366
1366
  )
1367
1367
  else:
@@ -1498,7 +1498,7 @@ class ProtocolContext(CommandPublisher):
1498
1498
  if self._api_version < validation.LID_STACK_VERSION_GATE:
1499
1499
  raise APIVersionError(
1500
1500
  api_element="Loading a Lid Stack",
1501
- until_version="2.23",
1501
+ until_version=f"{validation.LID_STACK_VERSION_GATE}",
1502
1502
  current_version=f"{self._api_version}",
1503
1503
  )
1504
1504
 
@@ -437,12 +437,12 @@ def _check_one_preloaded_labware( # noqa: C901
437
437
 
438
438
  if pool_primary_uri != stored_primary_uri:
439
439
  raise CommandPreconditionViolated(
440
- f"URI {stored_primary_uri} of primary labware {group.primaryLabwareId} must match pool URI {pool_primary_uri} but does not"
440
+ f"Each labware group must be composed of the same kinds of labware, but previous labware groups specify primary URI {stored_primary_uri} and this one specifies {pool_primary_uri}."
441
441
  )
442
442
  if pool_adapter_definition:
443
443
  if group.adapterLabwareId is None:
444
444
  raise CommandPreconditionViolated(
445
- "All pool components must have an ID, but adapter has no id"
445
+ "Each labware group must be composed of the same kinds of labware, but previous labware groups specify an adapter and this one does not."
446
446
  )
447
447
  stored_adapter_uri = state_view.labware.get_definition_uri(
448
448
  group.adapterLabwareId
@@ -452,7 +452,7 @@ def _check_one_preloaded_labware( # noqa: C901
452
452
  )
453
453
  if stored_adapter_uri != pool_adapter_uri:
454
454
  raise CommandPreconditionViolated(
455
- f"URI {stored_adapter_uri} of adapter labware {group.adapterLabwareId} must match pool URI {pool_adapter_uri} but does not"
455
+ f"Each labware group must be composed of the same kinds of labware, but previous labware groups specify adapter URI {stored_adapter_uri} and this one specifies {pool_adapter_uri}."
456
456
  )
457
457
  if state_view.labware.get_location(group.adapterLabwareId) != OFF_DECK_LOCATION:
458
458
  raise CommandPreconditionViolated(
@@ -467,7 +467,7 @@ def _check_one_preloaded_labware( # noqa: C901
467
467
  else:
468
468
  if group.adapterLabwareId is not None:
469
469
  raise CommandPreconditionViolated(
470
- "No unspecified pool component may have an ID, but adapter has an id"
470
+ "Each labware group must be composed of the same kinds of labware, but previous labware groups specify no adapter and this one does."
471
471
  )
472
472
  if state_view.labware.get_location(group.primaryLabwareId) != OFF_DECK_LOCATION:
473
473
  raise CommandPreconditionViolated(
@@ -476,13 +476,13 @@ def _check_one_preloaded_labware( # noqa: C901
476
476
  if pool_lid_definition:
477
477
  if group.lidLabwareId is None:
478
478
  raise CommandPreconditionViolated(
479
- "All pool components must have an ID but lid has no id"
479
+ "Each labware group must be composed of the same kinds of labware, but previous labware groups specify a lid and this one does not."
480
480
  )
481
481
  stored_lid_uri = state_view.labware.get_definition_uri(group.lidLabwareId)
482
482
  pool_lid_uri = state_view.labware.get_uri_from_definition(pool_lid_definition)
483
483
  if stored_lid_uri != pool_lid_uri:
484
484
  raise CommandPreconditionViolated(
485
- f"URI {stored_lid_uri} of lid labware {group.lidLabwareId} must match pool URI {pool_lid_uri} but does not"
485
+ f"Each labware group must be composed of the same kinds of labware, but previous labware groups specify lid URI {stored_lid_uri} and this one specifies {pool_lid_uri}."
486
486
  )
487
487
 
488
488
  if (
@@ -497,7 +497,7 @@ def _check_one_preloaded_labware( # noqa: C901
497
497
  else:
498
498
  if group.lidLabwareId is not None:
499
499
  raise CommandPreconditionViolated(
500
- "No unspecified pool component may have an id, but lid has an id"
500
+ "Each labware group must be composed of the same kinds of labware, but previous labware groups did not specify a lid and this one does."
501
501
  )
502
502
 
503
503
 
@@ -1,4 +1,5 @@
1
1
  """Movement command handling."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  import logging
@@ -84,7 +85,7 @@ class MovementHandler:
84
85
  operation_volume: Optional[float] = None,
85
86
  ) -> Point:
86
87
  """Move to a specific well."""
87
- self._state_store.labware.raise_if_labware_inaccessible_by_pipette(
88
+ self._state_store.geometry.raise_if_labware_inaccessible_by_pipette(
88
89
  labware_id=labware_id
89
90
  )
90
91
 
@@ -56,3 +56,13 @@ def is_deck_slot(addressable_area_name: str) -> bool:
56
56
  def is_abs_reader(addressable_area_name: str) -> bool:
57
57
  """Check if an addressable area is an absorbance plate reader area."""
58
58
  return "absorbanceReaderV1" in addressable_area_name
59
+
60
+
61
+ def is_stacker_shuttle(addressable_area_name: str) -> bool:
62
+ """Check if an addressable area is a flex stacker shuttle area."""
63
+ return addressable_area_name in [
64
+ "flexStackerModuleV1A4",
65
+ "flexStackerModuleV1B4",
66
+ "flexStackerModuleV1C4",
67
+ "flexStackerModuleV1D4",
68
+ ]
@@ -2361,3 +2361,48 @@ class GeometryView:
2361
2361
  return pending_labware[labware_id]
2362
2362
  except KeyError as ke:
2363
2363
  raise lnle from ke
2364
+
2365
+ def raise_if_labware_inaccessible_by_pipette( # noqa: C901
2366
+ self, labware_id: str
2367
+ ) -> None:
2368
+ """Raise an error if the specified location cannot be reached via a pipette."""
2369
+ labware = self._labware.get(labware_id)
2370
+ labware_location = labware.location
2371
+ if isinstance(labware_location, OnLabwareLocation):
2372
+ return self.raise_if_labware_inaccessible_by_pipette(
2373
+ labware_location.labwareId
2374
+ )
2375
+ elif labware.lid_id is not None:
2376
+ raise errors.LocationNotAccessibleByPipetteError(
2377
+ f"Cannot move pipette to {labware.loadName} "
2378
+ "because labware is currently covered by a lid."
2379
+ )
2380
+ elif isinstance(labware_location, AddressableAreaLocation):
2381
+ if fixture_validation.is_staging_slot(labware_location.addressableAreaName):
2382
+ raise errors.LocationNotAccessibleByPipetteError(
2383
+ f"Cannot move pipette to {labware.loadName},"
2384
+ f" labware is on staging slot {labware_location.addressableAreaName}"
2385
+ )
2386
+ elif fixture_validation.is_stacker_shuttle(
2387
+ labware_location.addressableAreaName
2388
+ ):
2389
+ raise errors.LocationNotAccessibleByPipetteError(
2390
+ f"Cannot move pipette to {labware.loadName} because it is on a stacker shuttle"
2391
+ )
2392
+ elif (
2393
+ labware_location == OFF_DECK_LOCATION or labware_location == SYSTEM_LOCATION
2394
+ ):
2395
+ raise errors.LocationNotAccessibleByPipetteError(
2396
+ f"Cannot move pipette to {labware.loadName}, labware is off-deck."
2397
+ )
2398
+ elif isinstance(labware_location, ModuleLocation):
2399
+ module = self._modules.get(labware_location.moduleId)
2400
+ if ModuleModel.is_flex_stacker(module.model):
2401
+ raise errors.LocationNotAccessibleByPipetteError(
2402
+ f"Cannot move pipette to {labware.loadName}, labware is on a stacker shuttle"
2403
+ )
2404
+
2405
+ elif isinstance(labware_location, InStackerHopperLocation):
2406
+ raise errors.LocationNotAccessibleByPipetteError(
2407
+ f"Cannot move pipette to {labware.loadName}, labware is in a stacker hopper"
2408
+ )
@@ -58,7 +58,6 @@ from ..types import (
58
58
  LabwareMovementOffsetData,
59
59
  OnDeckLabwareLocation,
60
60
  OFF_DECK_LOCATION,
61
- SYSTEM_LOCATION,
62
61
  )
63
62
  from ..actions import (
64
63
  Action,
@@ -1036,32 +1035,6 @@ class LabwareView:
1036
1035
  """Check if labware is a lid."""
1037
1036
  return LabwareRole.lid in self.get_definition(labware_id).allowedRoles
1038
1037
 
1039
- def raise_if_labware_inaccessible_by_pipette(self, labware_id: str) -> None:
1040
- """Raise an error if the specified location cannot be reached via a pipette."""
1041
- labware = self.get(labware_id)
1042
- labware_location = labware.location
1043
- if isinstance(labware_location, OnLabwareLocation):
1044
- return self.raise_if_labware_inaccessible_by_pipette(
1045
- labware_location.labwareId
1046
- )
1047
- elif labware.lid_id is not None:
1048
- raise errors.LocationNotAccessibleByPipetteError(
1049
- f"Cannot move pipette to {labware.loadName} "
1050
- "because labware is currently covered by a lid."
1051
- )
1052
- elif isinstance(labware_location, AddressableAreaLocation):
1053
- if fixture_validation.is_staging_slot(labware_location.addressableAreaName):
1054
- raise errors.LocationNotAccessibleByPipetteError(
1055
- f"Cannot move pipette to {labware.loadName},"
1056
- f" labware is on staging slot {labware_location.addressableAreaName}"
1057
- )
1058
- elif (
1059
- labware_location == OFF_DECK_LOCATION or labware_location == SYSTEM_LOCATION
1060
- ):
1061
- raise errors.LocationNotAccessibleByPipetteError(
1062
- f"Cannot move pipette to {labware.loadName}, labware is off-deck."
1063
- )
1064
-
1065
1038
  def raise_if_labware_in_location(
1066
1039
  self,
1067
1040
  location: OnDeckLabwareLocation,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opentrons
3
- Version: 8.6.0a4
3
+ Version: 8.6.0a6
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.6.0a4
27
+ Requires-Dist: opentrons-shared-data==8.6.0a6
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.6.0a4; extra == 'flex-hardware'
35
+ Requires-Dist: opentrons-hardware[flex]==8.6.0a6; extra == 'flex-hardware'
36
36
  Provides-Extra: ot2-hardware
37
- Requires-Dist: opentrons-hardware==8.6.0a4; extra == 'ot2-hardware'
37
+ Requires-Dist: opentrons-hardware==8.6.0a6; extra == 'ot2-hardware'
@@ -1,5 +1,5 @@
1
1
  opentrons/__init__.py,sha256=TQ_Ca_zzAM3iLzAysWKkFkQHG8-imihxDPQbLCYrf-E,4533
2
- opentrons/_version.py,sha256=WJSrToQiwhga_4kOeGmwCYeExl-tmBNZqn8lrV0OMzE,712
2
+ opentrons/_version.py,sha256=ik3RXUUAoXvSc0OH3Cy8Ho-2os43zXhg0ipyoZnPz5M,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
@@ -233,11 +233,11 @@ opentrons/protocol_api/config.py,sha256=r9lyvXjagTX_g3q5FGURPpcz2IA9sSF7Oa_1mKx-
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
- opentrons/protocol_api/instrument_context.py,sha256=cgszbfSJbEr1p9QywHIoQjDBTdnakwH3R-iTDb4nuNI,141122
236
+ opentrons/protocol_api/instrument_context.py,sha256=dOg04iqYnNMJ7XnlHBX3tTGiEahc-7feIuErcevRdwY,141216
237
237
  opentrons/protocol_api/labware.py,sha256=ZP4QuGadoDp6xtyToupXVSJFnsx4NfWcskRQAH3iU4Y,61443
238
238
  opentrons/protocol_api/module_contexts.py,sha256=zhm2FfciAs2K73cVZ_8OwKcFKAU7VAiTOnCRnQaki_E,57712
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=cFVf7wpGUqI0Mcu5rB7in3u7GR7X0l0ibISMHRvd0NM,70238
240
+ opentrons/protocol_api/protocol_context.py,sha256=Hzgw3FbCRyd4kWmw4RZwZHJhoGZkmn7ug-Q7JZGCcqs,70298
241
241
  opentrons/protocol_api/robot_context.py,sha256=D6ZdpFX30VTtVUDHitsVjabJQXD5TxOV9_Z6sik1LvE,11891
242
242
  opentrons/protocol_api/validation.py,sha256=73QwpdK5337yu9g8jvpHHizOD0Mf3m6Wr9S8eikrHIc,28993
243
243
  opentrons/protocol_api/core/__init__.py,sha256=-g74o8OtBB0LmmOvwkRvPgrHt7fF7T8FRHDj-x_-Onk,736
@@ -364,7 +364,7 @@ opentrons/protocol_engine/commands/calibration/calibrate_module.py,sha256=5QZ5zL
364
364
  opentrons/protocol_engine/commands/calibration/calibrate_pipette.py,sha256=YMH2MJ7RI0Nf7xjoXJLPlCuMCs5_Stj8zLj-oHcfnDk,3278
365
365
  opentrons/protocol_engine/commands/calibration/move_to_maintenance_position.py,sha256=Y5UI4zcnhhVdfQOYh1N07jkBiVChD0kS_H_ow7_qiCA,5311
366
366
  opentrons/protocol_engine/commands/flex_stacker/__init__.py,sha256=IJLskKdZZOGUA1eOm2e3fiP1C9GyTdbTS6uY6Hc4nUk,1369
367
- opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=qFc7VmXNiq68qx9hVzXOlGZeSfyF4927YQdEwEp8DhU,34349
367
+ opentrons/protocol_engine/commands/flex_stacker/common.py,sha256=MHd3mIGK7JpTvL8NGdKQZFBg5yr20dyY4cJMq4TQqlw,34813
368
368
  opentrons/protocol_engine/commands/flex_stacker/empty.py,sha256=1R0AwQtLn_wfuFH0Og2yAngJU8T_XLqf0a__9CqZQy0,11492
369
369
  opentrons/protocol_engine/commands/flex_stacker/fill.py,sha256=3qhAQxJfaSp4EAFGIUotkrJVuOvdFrwzmkMCa2v6khA,10866
370
370
  opentrons/protocol_engine/commands/flex_stacker/retrieve.py,sha256=kh9Lh-FW-RrXmV4RS8txmTYPfPDKhQhjW0UXr8k0vhc,12763
@@ -427,7 +427,7 @@ opentrons/protocol_engine/execution/gantry_mover.py,sha256=LFTPmzuGRuP6IspgXxIEy
427
427
  opentrons/protocol_engine/execution/hardware_stopper.py,sha256=ZlhVYEdFfuKqp5slZBkustXcRPy5fJsw2rmfYzHuJkQ,6127
428
428
  opentrons/protocol_engine/execution/heater_shaker_movement_flagger.py,sha256=BSFLzSSeELAYZCrCUfJZx5DdlrwU06Ur92TYd0T-hzM,9084
429
429
  opentrons/protocol_engine/execution/labware_movement.py,sha256=Bl-Nx3y5-zMlsxL3fcXV04OyiU1JFyqPJTS1Fir_XkA,12962
430
- opentrons/protocol_engine/execution/movement.py,sha256=jgpMoYLV3WhLQ7wNL09LDpua7pgWb5Njf-kg5RTAbyw,12747
430
+ opentrons/protocol_engine/execution/movement.py,sha256=ZU4K4OHnzZYCZbk3RwfSOC6C3T2jtBlvYMppJhJSF08,12749
431
431
  opentrons/protocol_engine/execution/pipetting.py,sha256=cnJYbLiJ2QD1xziD8dkRm0mZG3xOk00klW8Ff8rgSG4,22199
432
432
  opentrons/protocol_engine/execution/queue_worker.py,sha256=LM753TrQzJoKUSIrtcaHDOWLe58zcpx-fUOLVpyDlHM,3302
433
433
  opentrons/protocol_engine/execution/rail_lights.py,sha256=eiJT6oI_kFk7rFuFkZzISZiLNnpf7Kkh86Kyk9wQ_Jo,590
@@ -442,7 +442,7 @@ opentrons/protocol_engine/resources/__init__.py,sha256=yvGFYpmLoxHYQff_IwiaEH9vi
442
442
  opentrons/protocol_engine/resources/deck_configuration_provider.py,sha256=K3_FKHNpeM1_kTjHGBbrMPaCZsbEEOUaY8licOd6Xh8,9411
443
443
  opentrons/protocol_engine/resources/deck_data_provider.py,sha256=63c-Hmwy5IbVSoAL3hYoZxizxwzCqbB2KgJptpLX3Bc,3001
444
444
  opentrons/protocol_engine/resources/file_provider.py,sha256=6btMCDN7NsyFlV7Icy5vDO7xsgbmtkeAM_KCuQ-GvRo,5903
445
- opentrons/protocol_engine/resources/fixture_validation.py,sha256=WBGWFTmBwLPjOBFeqJYxnaSRHvo4pwxvdhT4XUW_FMY,1857
445
+ opentrons/protocol_engine/resources/fixture_validation.py,sha256=WyGjMjc-DGiNTojesXdwFfCyF3KYl7R2jmEk7teLyxQ,2166
446
446
  opentrons/protocol_engine/resources/labware_data_provider.py,sha256=i0otj_dACWHK23mBGjXGwTJtE4sooov2_YQOMIulzJo,3836
447
447
  opentrons/protocol_engine/resources/labware_validation.py,sha256=6UkWktVvGNpOrRov4vEZ2A8qbjJMuKlisSQvr4Z749A,2747
448
448
  opentrons/protocol_engine/resources/model_utils.py,sha256=C3OHUi-OtuFUm3dS5rApSU3EJ0clnaCZEyBku5sTjzA,941
@@ -461,9 +461,9 @@ opentrons/protocol_engine/state/commands.py,sha256=y5WE2pKmnMalgHFHEiBnBurO2TZ9w
461
461
  opentrons/protocol_engine/state/config.py,sha256=7jSGxC6Vqj1eA8fqZ2I3zjlxVXg8pxvcBYMztRIx9Mg,1515
462
462
  opentrons/protocol_engine/state/files.py,sha256=w8xxxg8HY0RqKKEGSfHWfrjV54Gb02O3dwtisJ-9j8E,1753
463
463
  opentrons/protocol_engine/state/fluid_stack.py,sha256=uwkf0qYk1UX5iU52xmk-e3yLPK8OG-TtMCcBqrkVFpM,5932
464
- opentrons/protocol_engine/state/geometry.py,sha256=l57kZ2z1f52qWIAQGW2551VljU-XTtBA4dvhLCd3gLY,101766
464
+ opentrons/protocol_engine/state/geometry.py,sha256=o8tefXS_Jekdt82dW4HHVJSnsxCsTFJuG6ogtri2wTY,104065
465
465
  opentrons/protocol_engine/state/inner_well_math_utils.py,sha256=UhemsPpcuKwVc-iGXI2-v--miOGNunAnAVznJTVADlQ,20598
466
- opentrons/protocol_engine/state/labware.py,sha256=CRY84JCj9Y31aA-QWgqboql_PRD7QFZh1ja6Iboo0Wg,61308
466
+ opentrons/protocol_engine/state/labware.py,sha256=bmNOa6vDFXa-Iow4x_1zNa3tIcNkUvu1OCg3ED2E4i4,59936
467
467
  opentrons/protocol_engine/state/liquid_classes.py,sha256=u_z75UYdiFAKG0yB3mr1il4T3qaS0Sotq8sL7KLODP8,2990
468
468
  opentrons/protocol_engine/state/liquids.py,sha256=NoesktcQdJUjIVmet1uqqJPf-rzbo4SGemXwQC295W0,2338
469
469
  opentrons/protocol_engine/state/modules.py,sha256=2P_3Ks_9hWvtVgttnUqS5wcmWLmMzn2Tjp8CosnFXYM,60737
@@ -594,8 +594,8 @@ opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
594
594
  opentrons/util/logging_config.py,sha256=7et4YYuQdWdq_e50U-8vFS_QyNBRgdnqPGAQJm8qrIo,9954
595
595
  opentrons/util/logging_queue_handler.py,sha256=ZsSJwy-oV8DXwpYiZisQ1PbYwmK2cOslD46AcyJ1E4I,2484
596
596
  opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
597
- opentrons-8.6.0a4.dist-info/METADATA,sha256=8VGYsCITV13MYUqpwiIb2WeVOmHoXqaE1utCua6IGuQ,1607
598
- opentrons-8.6.0a4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
599
- opentrons-8.6.0a4.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
600
- opentrons-8.6.0a4.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
601
- opentrons-8.6.0a4.dist-info/RECORD,,
597
+ opentrons-8.6.0a6.dist-info/METADATA,sha256=q8vpRhKqteyyfr9Yejh4rWue-vhSb7RIXdOaYCReleQ,1607
598
+ opentrons-8.6.0a6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
599
+ opentrons-8.6.0a6.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
600
+ opentrons-8.6.0a6.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
601
+ opentrons-8.6.0a6.dist-info/RECORD,,