opentrons 8.4.0a3__py2.py3-none-any.whl → 8.4.0a4__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.
Files changed (39) hide show
  1. opentrons/legacy_commands/commands.py +83 -2
  2. opentrons/legacy_commands/helpers.py +59 -1
  3. opentrons/legacy_commands/types.py +30 -0
  4. opentrons/protocol_api/core/engine/instrument.py +154 -83
  5. opentrons/protocol_api/core/engine/pipette_movement_conflict.py +6 -14
  6. opentrons/protocol_api/core/engine/transfer_components_executor.py +12 -23
  7. opentrons/protocol_api/core/instrument.py +4 -1
  8. opentrons/protocol_api/core/legacy/legacy_instrument_core.py +4 -27
  9. opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py +4 -1
  10. opentrons/protocol_api/core/well.py +1 -1
  11. opentrons/protocol_api/instrument_context.py +116 -60
  12. opentrons/protocol_api/labware.py +7 -6
  13. opentrons/protocol_api/protocol_context.py +18 -16
  14. opentrons/protocol_engine/commands/__init__.py +38 -38
  15. opentrons/protocol_engine/commands/aspirate_while_tracking.py +0 -6
  16. opentrons/protocol_engine/commands/command_unions.py +33 -33
  17. opentrons/protocol_engine/commands/dispense_while_tracking.py +1 -6
  18. opentrons/protocol_engine/commands/labware_handling_common.py +6 -1
  19. opentrons/protocol_engine/commands/liquid_probe.py +1 -2
  20. opentrons/protocol_engine/commands/move_to_well.py +5 -11
  21. opentrons/protocol_engine/commands/{evotip_dispense.py → pressure_dispense.py} +27 -27
  22. opentrons/protocol_engine/commands/{evotip_seal_pipette.py → seal_pipette_to_tip.py} +32 -27
  23. opentrons/protocol_engine/commands/{evotip_unseal_pipette.py → unseal_pipette_from_tip.py} +22 -22
  24. opentrons/protocol_engine/labware_offset_standardization.py +22 -1
  25. opentrons/protocol_engine/resources/deck_configuration_provider.py +8 -4
  26. opentrons/protocol_engine/state/frustum_helpers.py +12 -4
  27. opentrons/protocol_engine/state/geometry.py +121 -72
  28. opentrons/protocol_engine/state/update_types.py +1 -1
  29. opentrons/protocol_engine/state/wells.py +1 -1
  30. opentrons/protocol_engine/types/__init__.py +6 -0
  31. opentrons/protocol_engine/types/well_position.py +18 -1
  32. opentrons/protocols/advanced_control/transfers/transfer_liquid_utils.py +1 -1
  33. opentrons/protocols/labware.py +23 -18
  34. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/METADATA +4 -4
  35. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/RECORD +39 -39
  36. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/LICENSE +0 -0
  37. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/WHEEL +0 -0
  38. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/entry_points.txt +0 -0
  39. {opentrons-8.4.0a3.dist-info → opentrons-8.4.0a4.dist-info}/top_level.txt +0 -0
@@ -11,7 +11,7 @@ from opentrons.protocols.api_support.util import FlowRates
11
11
  from opentrons.protocols.advanced_control.transfers.common import TransferTipPolicyV2
12
12
  from opentrons.protocol_api._nozzle_layout import NozzleLayout
13
13
  from opentrons.protocol_api._liquid import LiquidClass
14
- from opentrons.protocol_engine.types.liquid_level_detection import LiquidTrackingType
14
+ from opentrons.protocol_engine.types import LiquidTrackingType
15
15
 
16
16
  from ..disposal_locations import TrashBin, WasteChute
17
17
  from .well import WellCoreType
@@ -367,6 +367,7 @@ class AbstractInstrument(ABC, Generic[WellCoreType, LabwareCoreType]):
367
367
  dest: List[Tuple[types.Location, WellCoreType]],
368
368
  new_tip: TransferTipPolicyV2,
369
369
  tip_racks: List[Tuple[types.Location, LabwareCoreType]],
370
+ starting_tip: Optional[WellCoreType],
370
371
  trash_location: Union[types.Location, TrashBin, WasteChute],
371
372
  return_tip: bool,
372
373
  ) -> None:
@@ -382,6 +383,7 @@ class AbstractInstrument(ABC, Generic[WellCoreType, LabwareCoreType]):
382
383
  dest: List[Tuple[types.Location, WellCoreType]],
383
384
  new_tip: TransferTipPolicyV2,
384
385
  tip_racks: List[Tuple[types.Location, LabwareCoreType]],
386
+ starting_tip: Optional[WellCoreType],
385
387
  trash_location: Union[types.Location, TrashBin, WasteChute],
386
388
  return_tip: bool,
387
389
  ) -> None:
@@ -400,6 +402,7 @@ class AbstractInstrument(ABC, Generic[WellCoreType, LabwareCoreType]):
400
402
  dest: Tuple[types.Location, WellCoreType],
401
403
  new_tip: TransferTipPolicyV2,
402
404
  tip_racks: List[Tuple[types.Location, LabwareCoreType]],
405
+ starting_tip: Optional[WellCoreType],
403
406
  trash_location: Union[types.Location, TrashBin, WasteChute],
404
407
  return_tip: bool,
405
408
  ) -> None:
@@ -22,7 +22,7 @@ from opentrons.protocols.geometry import planning
22
22
  from opentrons.protocol_api._nozzle_layout import NozzleLayout
23
23
  from opentrons.protocol_api._liquid import LiquidClass
24
24
 
25
- from opentrons.protocol_engine.types.liquid_level_detection import LiquidTrackingType
25
+ from opentrons.protocol_engine.types import LiquidTrackingType
26
26
 
27
27
  from ...disposal_locations import TrashBin, WasteChute
28
28
  from ..instrument import AbstractInstrument
@@ -438,32 +438,6 @@ class LegacyInstrumentCore(AbstractInstrument[LegacyWellCore, LegacyLabwareCore]
438
438
  location=location, mount=location_cache_mount
439
439
  )
440
440
 
441
- def evotip_seal(
442
- self,
443
- location: types.Location,
444
- well_core: LegacyWellCore,
445
- in_place: Optional[bool] = False,
446
- ) -> None:
447
- """This will never be called because it was added in API 2.22."""
448
- assert False, "evotip_seal only supported in API 2.22 & later"
449
-
450
- def evotip_unseal(
451
- self, location: types.Location, well_core: WellCore, home_after: Optional[bool]
452
- ) -> None:
453
- """This will never be called because it was added in API 2.22."""
454
- assert False, "evotip_unseal only supported in API 2.22 & later"
455
-
456
- def evotip_dispense(
457
- self,
458
- location: types.Location,
459
- well_core: WellCore,
460
- volume: Optional[float] = None,
461
- flow_rate: Optional[float] = None,
462
- push_out: Optional[float] = None,
463
- ) -> None:
464
- """This will never be called because it was added in API 2.22."""
465
- assert False, "evotip_dispense only supported in API 2.22 & later"
466
-
467
441
  def get_mount(self) -> types.Mount:
468
442
  """Get the mount this pipette is attached to."""
469
443
  return self._mount
@@ -632,6 +606,7 @@ class LegacyInstrumentCore(AbstractInstrument[LegacyWellCore, LegacyLabwareCore]
632
606
  dest: List[Tuple[types.Location, LegacyWellCore]],
633
607
  new_tip: TransferTipPolicyV2,
634
608
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
609
+ starting_tip: Optional[LegacyWellCore],
635
610
  trash_location: Union[types.Location, TrashBin, WasteChute],
636
611
  return_tip: bool,
637
612
  ) -> None:
@@ -646,6 +621,7 @@ class LegacyInstrumentCore(AbstractInstrument[LegacyWellCore, LegacyLabwareCore]
646
621
  dest: List[Tuple[types.Location, LegacyWellCore]],
647
622
  new_tip: TransferTipPolicyV2,
648
623
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
624
+ starting_tip: Optional[LegacyWellCore],
649
625
  trash_location: Union[types.Location, TrashBin, WasteChute],
650
626
  return_tip: bool,
651
627
  ) -> None:
@@ -660,6 +636,7 @@ class LegacyInstrumentCore(AbstractInstrument[LegacyWellCore, LegacyLabwareCore]
660
636
  dest: Tuple[types.Location, LegacyWellCore],
661
637
  new_tip: TransferTipPolicyV2,
662
638
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
639
+ starting_tip: Optional[LegacyWellCore],
663
640
  trash_location: Union[types.Location, TrashBin, WasteChute],
664
641
  return_tip: bool,
665
642
  ) -> None:
@@ -23,7 +23,7 @@ from opentrons_shared_data.errors.exceptions import (
23
23
  UnexpectedTipAttachError,
24
24
  )
25
25
 
26
- from opentrons.protocol_engine.types.liquid_level_detection import LiquidTrackingType
26
+ from opentrons.protocol_engine.types import LiquidTrackingType
27
27
 
28
28
  from ..legacy.legacy_labware_core import LegacyLabwareCore
29
29
  from ...disposal_locations import TrashBin, WasteChute
@@ -521,6 +521,7 @@ class LegacyInstrumentCoreSimulator(
521
521
  dest: List[Tuple[types.Location, LegacyWellCore]],
522
522
  new_tip: TransferTipPolicyV2,
523
523
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
524
+ starting_tip: Optional[LegacyWellCore],
524
525
  trash_location: Union[types.Location, TrashBin, WasteChute],
525
526
  return_tip: bool,
526
527
  ) -> None:
@@ -535,6 +536,7 @@ class LegacyInstrumentCoreSimulator(
535
536
  dest: List[Tuple[types.Location, LegacyWellCore]],
536
537
  new_tip: TransferTipPolicyV2,
537
538
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
539
+ starting_tip: Optional[LegacyWellCore],
538
540
  trash_location: Union[types.Location, TrashBin, WasteChute],
539
541
  return_tip: bool,
540
542
  ) -> None:
@@ -549,6 +551,7 @@ class LegacyInstrumentCoreSimulator(
549
551
  dest: Tuple[types.Location, LegacyWellCore],
550
552
  new_tip: TransferTipPolicyV2,
551
553
  tip_racks: List[Tuple[types.Location, LegacyLabwareCore]],
554
+ starting_tip: Optional[LegacyWellCore],
552
555
  trash_location: Union[types.Location, TrashBin, WasteChute],
553
556
  return_tip: bool,
554
557
  ) -> None:
@@ -4,7 +4,7 @@ from abc import ABC, abstractmethod
4
4
  from typing import TypeVar, Optional, Union
5
5
 
6
6
  from opentrons.types import Point
7
- from opentrons.protocol_engine.types.liquid_level_detection import LiquidTrackingType
7
+ from opentrons.protocol_engine.types import LiquidTrackingType
8
8
 
9
9
  from .._liquid import Liquid
10
10
 
@@ -42,7 +42,7 @@ from ..protocols.advanced_control.transfers.common import (
42
42
  TransferTipPolicyV2,
43
43
  TransferTipPolicyV2Type,
44
44
  )
45
- from ..protocol_engine.types.liquid_level_detection import LiquidTrackingType
45
+ from ..protocol_engine.types import LiquidTrackingType
46
46
 
47
47
  _DEFAULT_ASPIRATE_CLEARANCE = 1.0
48
48
  _DEFAULT_DISPENSE_CLEARANCE = 1.0
@@ -1553,6 +1553,13 @@ class InstrumentContext(publisher.CommandPublisher):
1553
1553
  :param return_tip: Whether to drop used tips in their original locations
1554
1554
  in the tip rack, instead of the trash.
1555
1555
  """
1556
+ if volume == 0.0:
1557
+ _log.info(
1558
+ f"Transfer of {liquid_class.name} specified with a volume of 0uL."
1559
+ f" Skipping."
1560
+ )
1561
+ return self
1562
+
1556
1563
  transfer_args = verify_and_normalize_transfer_args(
1557
1564
  source=source,
1558
1565
  dest=dest,
@@ -1573,25 +1580,38 @@ class InstrumentContext(publisher.CommandPublisher):
1573
1580
  " to transfer liquid onto one destinations from many sources, use 'consolidate_liquid'."
1574
1581
  )
1575
1582
 
1576
- self._core.transfer_with_liquid_class(
1577
- liquid_class=liquid_class,
1578
- volume=volume,
1579
- source=[
1580
- (types.Location(types.Point(), labware=well), well._core)
1581
- for well in transfer_args.sources_list
1582
- ],
1583
- dest=[
1584
- (types.Location(types.Point(), labware=well), well._core)
1585
- for well in transfer_args.destinations_list
1586
- ],
1587
- new_tip=transfer_args.tip_policy,
1588
- tip_racks=[
1589
- (types.Location(types.Point(), labware=rack), rack._core)
1590
- for rack in transfer_args.tip_racks
1591
- ],
1592
- trash_location=transfer_args.trash_location,
1593
- return_tip=return_tip,
1594
- )
1583
+ with publisher.publish_context(
1584
+ broker=self.broker,
1585
+ command=cmds.transfer_with_liquid_class(
1586
+ instrument=self,
1587
+ liquid_class=liquid_class,
1588
+ volume=volume,
1589
+ source=source,
1590
+ destination=dest,
1591
+ ),
1592
+ ):
1593
+ self._core.transfer_with_liquid_class(
1594
+ liquid_class=liquid_class,
1595
+ volume=volume,
1596
+ source=[
1597
+ (types.Location(types.Point(), labware=well), well._core)
1598
+ for well in transfer_args.sources_list
1599
+ ],
1600
+ dest=[
1601
+ (types.Location(types.Point(), labware=well), well._core)
1602
+ for well in transfer_args.destinations_list
1603
+ ],
1604
+ new_tip=transfer_args.tip_policy,
1605
+ tip_racks=[
1606
+ (types.Location(types.Point(), labware=rack), rack._core)
1607
+ for rack in transfer_args.tip_racks
1608
+ ],
1609
+ starting_tip=self.starting_tip._core
1610
+ if self.starting_tip is not None
1611
+ else None,
1612
+ trash_location=transfer_args.trash_location,
1613
+ return_tip=return_tip,
1614
+ )
1595
1615
  return self
1596
1616
 
1597
1617
  @requires_version(2, 23)
@@ -1636,6 +1656,13 @@ class InstrumentContext(publisher.CommandPublisher):
1636
1656
  :param return_tip: Whether to drop used tips in their original locations
1637
1657
  in the tip rack, instead of the trash.
1638
1658
  """
1659
+ if volume == 0.0:
1660
+ _log.info(
1661
+ f"Distribution of {liquid_class.name} specified with a volume of 0uL."
1662
+ f" Skipping."
1663
+ )
1664
+ return self
1665
+
1639
1666
  transfer_args = verify_and_normalize_transfer_args(
1640
1667
  source=source,
1641
1668
  dest=dest,
@@ -1660,25 +1687,38 @@ class InstrumentContext(publisher.CommandPublisher):
1660
1687
  )
1661
1688
 
1662
1689
  verified_source = transfer_args.sources_list[0]
1663
- self._core.distribute_with_liquid_class(
1664
- liquid_class=liquid_class,
1665
- volume=volume,
1666
- source=(
1667
- types.Location(types.Point(), labware=verified_source),
1668
- verified_source._core,
1690
+ with publisher.publish_context(
1691
+ broker=self.broker,
1692
+ command=cmds.distribute_with_liquid_class(
1693
+ instrument=self,
1694
+ liquid_class=liquid_class,
1695
+ volume=volume,
1696
+ source=source,
1697
+ destination=dest,
1669
1698
  ),
1670
- dest=[
1671
- (types.Location(types.Point(), labware=well), well._core)
1672
- for well in transfer_args.destinations_list
1673
- ],
1674
- new_tip=transfer_args.tip_policy,
1675
- tip_racks=[
1676
- (types.Location(types.Point(), labware=rack), rack._core)
1677
- for rack in transfer_args.tip_racks
1678
- ],
1679
- trash_location=transfer_args.trash_location,
1680
- return_tip=return_tip,
1681
- )
1699
+ ):
1700
+ self._core.distribute_with_liquid_class(
1701
+ liquid_class=liquid_class,
1702
+ volume=volume,
1703
+ source=(
1704
+ types.Location(types.Point(), labware=verified_source),
1705
+ verified_source._core,
1706
+ ),
1707
+ dest=[
1708
+ (types.Location(types.Point(), labware=well), well._core)
1709
+ for well in transfer_args.destinations_list
1710
+ ],
1711
+ new_tip=transfer_args.tip_policy,
1712
+ tip_racks=[
1713
+ (types.Location(types.Point(), labware=rack), rack._core)
1714
+ for rack in transfer_args.tip_racks
1715
+ ],
1716
+ starting_tip=self.starting_tip._core
1717
+ if self.starting_tip is not None
1718
+ else None,
1719
+ trash_location=transfer_args.trash_location,
1720
+ return_tip=return_tip,
1721
+ )
1682
1722
  return self
1683
1723
 
1684
1724
  @requires_version(2, 23)
@@ -1724,6 +1764,13 @@ class InstrumentContext(publisher.CommandPublisher):
1724
1764
  :param return_tip: Whether to drop used tips in their original locations
1725
1765
  in the tip rack, instead of the trash.
1726
1766
  """
1767
+ if volume == 0.0:
1768
+ _log.info(
1769
+ f"Consolidation of {liquid_class.name} specified with a volume of 0uL."
1770
+ f" Skipping."
1771
+ )
1772
+ return self
1773
+
1727
1774
  transfer_args = verify_and_normalize_transfer_args(
1728
1775
  source=source,
1729
1776
  dest=dest,
@@ -1748,25 +1795,38 @@ class InstrumentContext(publisher.CommandPublisher):
1748
1795
  )
1749
1796
 
1750
1797
  verified_dest = transfer_args.destinations_list[0]
1751
- self._core.consolidate_with_liquid_class(
1752
- liquid_class=liquid_class,
1753
- volume=volume,
1754
- source=[
1755
- (types.Location(types.Point(), labware=well), well._core)
1756
- for well in transfer_args.sources_list
1757
- ],
1758
- dest=(
1759
- types.Location(types.Point(), labware=verified_dest),
1760
- verified_dest._core,
1798
+ with publisher.publish_context(
1799
+ broker=self.broker,
1800
+ command=cmds.consolidate_with_liquid_class(
1801
+ instrument=self,
1802
+ liquid_class=liquid_class,
1803
+ volume=volume,
1804
+ source=source,
1805
+ destination=dest,
1761
1806
  ),
1762
- new_tip=transfer_args.tip_policy,
1763
- tip_racks=[
1764
- (types.Location(types.Point(), labware=rack), rack._core)
1765
- for rack in transfer_args.tip_racks
1766
- ],
1767
- trash_location=transfer_args.trash_location,
1768
- return_tip=return_tip,
1769
- )
1807
+ ):
1808
+ self._core.consolidate_with_liquid_class(
1809
+ liquid_class=liquid_class,
1810
+ volume=volume,
1811
+ source=[
1812
+ (types.Location(types.Point(), labware=well), well._core)
1813
+ for well in transfer_args.sources_list
1814
+ ],
1815
+ dest=(
1816
+ types.Location(types.Point(), labware=verified_dest),
1817
+ verified_dest._core,
1818
+ ),
1819
+ new_tip=transfer_args.tip_policy,
1820
+ tip_racks=[
1821
+ (types.Location(types.Point(), labware=rack), rack._core)
1822
+ for rack in transfer_args.tip_racks
1823
+ ],
1824
+ starting_tip=self.starting_tip._core
1825
+ if self.starting_tip is not None
1826
+ else None,
1827
+ trash_location=transfer_args.trash_location,
1828
+ return_tip=return_tip,
1829
+ )
1770
1830
  return self
1771
1831
 
1772
1832
  @requires_version(2, 0)
@@ -2580,10 +2640,6 @@ class InstrumentContext(publisher.CommandPublisher):
2580
2640
  """Check the height of the liquid within a well.
2581
2641
 
2582
2642
  :returns: The height, in mm, of the liquid from the deck.
2583
-
2584
- :meta private:
2585
-
2586
- This is intended for Opentrons internal use only and is not a guaranteed API.
2587
2643
  """
2588
2644
  self._raise_if_pressure_not_supported_by_pipette()
2589
2645
  loc = well.top()
@@ -46,7 +46,7 @@ from opentrons.protocols.api_support.util import (
46
46
  APIVersionError,
47
47
  UnsupportedAPIError,
48
48
  )
49
- from opentrons.protocol_engine.types.liquid_level_detection import LiquidTrackingType
49
+ from opentrons.protocol_engine.types import LiquidTrackingType
50
50
 
51
51
  # TODO(mc, 2022-09-02): re-exports provided for backwards compatibility
52
52
  # remove when their usage is no longer needed
@@ -684,7 +684,7 @@ class Labware:
684
684
  version: Optional[int] = None,
685
685
  ) -> Labware:
686
686
  """
687
- Load a stack of Lids onto a valid Deck Location or Adapter.
687
+ Load a stack of Opentrons Tough Auto-Sealing Lids onto a valid deck location or adapter.
688
688
 
689
689
  :param str load_name: A string to use for looking up a lid definition.
690
690
  You can find the ``load_name`` for any standard lid on the Opentrons
@@ -705,9 +705,7 @@ class Labware:
705
705
  leave this unspecified to let ``load_lid_stack()`` choose a version
706
706
  automatically.
707
707
 
708
- :return: The initialized and loaded labware object representing the Lid Stack.
709
-
710
- :meta private:
708
+ :return: The initialized and loaded labware object representing the lid stack.
711
709
  """
712
710
  if self._api_version < validation.LID_STACK_VERSION_GATE:
713
711
  raise APIVersionError(
@@ -773,11 +771,14 @@ class Labware:
773
771
  you must either use ``set_offset()`` on all of them or none of them.
774
772
  * - 2.14–2.17
775
773
  - ``set_offset()`` is not available, and the API raises an error.
776
- * - 2.18 and newer
774
+ * - 2.18--2.22
777
775
  -
778
776
  - Offsets apply to any labware of the same type, in the same on-deck location.
779
777
  - Offsets can't be set on labware that is currently off-deck.
780
778
  - Offsets do not follow a labware instance when using :py:meth:`.move_labware`.
779
+ * - 2.23 and newer
780
+ -
781
+ On Flex, offsets can apply to all labware of the same type, regardless of their on-deck location.
781
782
 
782
783
  .. note::
783
784
 
@@ -451,14 +451,14 @@ class ProtocolContext(CommandPublisher):
451
451
  choose the adapter's version automatically.
452
452
 
453
453
  .. versionadded:: 2.15
454
+ :param lid: A lid to load on the top of the main labware. Accepts the same
455
+ values as the ``load_name`` parameter of :py:meth:`.load_lid_stack`. The
456
+ lid will use the same namespace as the labware, and the API will
457
+ choose the adapter's version automatically.
458
+
459
+ .. versionadded:: 2.23
454
460
  """
455
- # TODO: re-include in docstring when 2.23 is ready
456
- # :param lid: A lid to load the on top of the main labware. Accepts the same
457
- # values as the ``load_name`` parameter of :py:meth:`.load_lid_stack`. The
458
- # lid will use the same namespace as the labware, and the API will
459
- # choose the lid's version automatically.
460
- #
461
- # .. versionadded:: 2.23
461
+
462
462
  if isinstance(location, OffDeckType) and self._api_version < APIVersion(2, 15):
463
463
  raise APIVersionError(
464
464
  api_element="Loading a labware off-deck",
@@ -1391,13 +1391,13 @@ class ProtocolContext(CommandPublisher):
1391
1391
  version: Optional[int] = None,
1392
1392
  ) -> Labware:
1393
1393
  """
1394
- Load a stack of Lids onto a valid Deck Location or Adapter.
1394
+ Load a stack of Opentrons Tough Auto-Sealing Lids onto a valid deck location or adapter.
1395
1395
 
1396
1396
  :param str load_name: A string to use for looking up a lid definition.
1397
- You can find the ``load_name`` for any standard lid on the Opentrons
1397
+ You can find the ``load_name`` for any compatible lid on the Opentrons
1398
1398
  `Labware Library <https://labware.opentrons.com>`_.
1399
1399
  :param location: Either a :ref:`deck slot <deck-slots>`,
1400
- like ``1``, ``"1"``, or ``"D1"``, or the a valid Opentrons Adapter.
1400
+ like ``1``, ``"1"``, or ``"D1"``, or a valid Opentrons Adapter.
1401
1401
  :param int quantity: The quantity of lids to be loaded in the stack.
1402
1402
  :param adapter: An adapter to load the lid stack on top of. Accepts the same
1403
1403
  values as the ``load_name`` parameter of :py:meth:`.load_adapter`. The
@@ -1418,9 +1418,10 @@ class ProtocolContext(CommandPublisher):
1418
1418
  leave this unspecified to let ``load_lid_stack()`` choose a version
1419
1419
  automatically.
1420
1420
 
1421
- :return: The initialized and loaded labware object representing the Lid Stack.
1421
+ :return: The initialized and loaded labware object representing the lid stack.
1422
+
1423
+ .. versionadded:: 2.23
1422
1424
 
1423
- :meta private:
1424
1425
  """
1425
1426
  if self._api_version < validation.LID_STACK_VERSION_GATE:
1426
1427
  raise APIVersionError(
@@ -1479,9 +1480,9 @@ class ProtocolContext(CommandPublisher):
1479
1480
  pick_up_offset: Optional[Mapping[str, float]] = None,
1480
1481
  drop_offset: Optional[Mapping[str, float]] = None,
1481
1482
  ) -> Labware | None:
1482
- """Move a lid from a valid source to a new location. Can return a Lid Stack if one is created.
1483
+ """Move a compatible lid from a valid source to a new location. Can return a lid stack if one is created.
1483
1484
 
1484
- :param source_location: Where to take the lid from. This is either:
1485
+ :param source_location: The lid's starting location. This is either:
1485
1486
 
1486
1487
  * A deck slot like ``1``, ``"1"``, or ``"D1"``. See :ref:`deck-slots`.
1487
1488
  * A labware or adapter that's already been loaded on the deck
@@ -1498,7 +1499,7 @@ class ProtocolContext(CommandPublisher):
1498
1499
  with :py:meth:`load_labware` or :py:meth:`load_adapter`.
1499
1500
  * The special constant :py:obj:`OFF_DECK`.
1500
1501
 
1501
- :param use_gripper: Whether to use the Flex Gripper for this movement.
1502
+ :param use_gripper: Whether to use the Flex Gripper to move the lid.
1502
1503
 
1503
1504
  * If ``True``, use the gripper to perform an automatic
1504
1505
  movement. This will raise an error in an OT-2 protocol.
@@ -1515,7 +1516,8 @@ class ProtocolContext(CommandPublisher):
1515
1516
  labware's current and new locations are accessible, i.e., open the Thermocycler lid
1516
1517
  or open the Heater-Shaker's labware latch.
1517
1518
 
1518
- :meta private:
1519
+ .. versionadded:: 2.23
1520
+
1519
1521
  """
1520
1522
  source: Union[LabwareCore, DeckSlotName, StagingSlotName]
1521
1523
  if isinstance(source_location, Labware):
@@ -397,26 +397,26 @@ from .liquid_probe import (
397
397
  TryLiquidProbeCommandType,
398
398
  )
399
399
 
400
- from .evotip_seal_pipette import (
401
- EvotipSealPipette,
402
- EvotipSealPipetteParams,
403
- EvotipSealPipetteCreate,
404
- EvotipSealPipetteResult,
405
- EvotipSealPipetteCommandType,
406
- )
407
- from .evotip_unseal_pipette import (
408
- EvotipUnsealPipette,
409
- EvotipUnsealPipetteParams,
410
- EvotipUnsealPipetteCreate,
411
- EvotipUnsealPipetteResult,
412
- EvotipUnsealPipetteCommandType,
413
- )
414
- from .evotip_dispense import (
415
- EvotipDispense,
416
- EvotipDispenseParams,
417
- EvotipDispenseCreate,
418
- EvotipDispenseResult,
419
- EvotipDispenseCommandType,
400
+ from .seal_pipette_to_tip import (
401
+ SealPipetteToTip,
402
+ SealPipetteToTipParams,
403
+ SealPipetteToTipCreate,
404
+ SealPipetteToTipResult,
405
+ SealPipetteToTipCommandType,
406
+ )
407
+ from .unseal_pipette_from_tip import (
408
+ UnsealPipetteFromTip,
409
+ UnsealPipetteFromTipParams,
410
+ UnsealPipetteFromTipCreate,
411
+ UnsealPipetteFromTipResult,
412
+ UnsealPipetteFromTipCommandType,
413
+ )
414
+ from .pressure_dispense import (
415
+ PressureDispense,
416
+ PressureDispenseParams,
417
+ PressureDispenseCreate,
418
+ PressureDispenseResult,
419
+ PressureDispenseCommandType,
420
420
  )
421
421
 
422
422
  __all__ = [
@@ -722,22 +722,22 @@ __all__ = [
722
722
  "TryLiquidProbeCreate",
723
723
  "TryLiquidProbeResult",
724
724
  "TryLiquidProbeCommandType",
725
- # evotip seal command bundle
726
- "EvotipSealPipette",
727
- "EvotipSealPipetteParams",
728
- "EvotipSealPipetteCreate",
729
- "EvotipSealPipetteResult",
730
- "EvotipSealPipetteCommandType",
731
- # evotip unseal command bundle
732
- "EvotipUnsealPipette",
733
- "EvotipUnsealPipetteParams",
734
- "EvotipUnsealPipetteCreate",
735
- "EvotipUnsealPipetteResult",
736
- "EvotipUnsealPipetteCommandType",
737
- # evotip dispense command bundle
738
- "EvotipDispense",
739
- "EvotipDispenseParams",
740
- "EvotipDispenseCreate",
741
- "EvotipDispenseResult",
742
- "EvotipDispenseCommandType",
725
+ # seal command bundle
726
+ "SealPipetteToTip",
727
+ "SealPipetteToTipParams",
728
+ "SealPipetteToTipCreate",
729
+ "SealPipetteToTipResult",
730
+ "SealPipetteToTipCommandType",
731
+ # unseal command bundle
732
+ "UnsealPipetteFromTip",
733
+ "UnsealPipetteFromTipParams",
734
+ "UnsealPipetteFromTipCreate",
735
+ "UnsealPipetteFromTipResult",
736
+ "UnsealPipetteFromTipCommandType",
737
+ # pressure dispense command bundle
738
+ "PressureDispense",
739
+ "PressureDispenseParams",
740
+ "PressureDispenseCreate",
741
+ "PressureDispenseResult",
742
+ "PressureDispenseCommandType",
743
743
  ]
@@ -109,11 +109,6 @@ class AspirateWhileTrackingImplementation(
109
109
  current_location = self._state_view.pipettes.get_current_location()
110
110
 
111
111
  state_update = StateUpdate()
112
- current_well = CurrentWell(
113
- pipette_id=params.pipetteId,
114
- labware_id=params.labwareId,
115
- well_name=params.wellName,
116
- )
117
112
  move_result = await move_to_well(
118
113
  movement=self._movement,
119
114
  model_utils=self._model_utils,
@@ -121,7 +116,6 @@ class AspirateWhileTrackingImplementation(
121
116
  labware_id=params.labwareId,
122
117
  well_name=params.wellName,
123
118
  well_location=params.wellLocation,
124
- current_well=current_well,
125
119
  operation_volume=-params.volume,
126
120
  )
127
121
  state_update.append(move_result.state_update)