From a60e30a4cd88b8ea13146fd9177fc04efcc25294 Mon Sep 17 00:00:00 2001 From: Sanniti Pimpley Date: Thu, 6 Feb 2025 15:16:13 -0500 Subject: [PATCH] docs(api): clarify in docs that Well.has_tip checks only for unused tips (#17412) Closes RQA-3790 # Overview `Well.has_tip` property has been checking for only clean/ unused tips since API v2.2 but the docstrings don't mention that. That has understandably caused some confusion in protocol behaviors. This PR helps mitigate that issue by clarifying the exact behavior of this property ## Risk assessment None. --------- Co-authored-by: Max Marrone --- api/src/opentrons/protocol_api/labware.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/api/src/opentrons/protocol_api/labware.py b/api/src/opentrons/protocol_api/labware.py index bb8a094e4c2..98ec5c7308d 100644 --- a/api/src/opentrons/protocol_api/labware.py +++ b/api/src/opentrons/protocol_api/labware.py @@ -115,8 +115,23 @@ def parent(self) -> Labware: @property @requires_version(2, 0) def has_tip(self) -> bool: - """Whether this well contains a tip. Always ``False`` if the parent labware - isn't a tip rack.""" + """Whether this well contains an unused tip. + + From API v2.2 on: + + - Returns ``False`` if: + + - the well has no tip present, or + - the well has a tip that's been used by the protocol previously + + - Returns ``True`` if the well has an unused tip. + + Before API v2.2: + + - Returns ``True`` as long as the well has a tip, even if it is used. + + Always ``False`` if the parent labware isn't a tip rack. + """ return self._core.has_tip() @has_tip.setter