Skip to content

Route OT-2 fixed-trash disposal by API version - #1241

Merged
rickwierenga merged 1 commit into
PyLabRobot:mainfrom
hazlamshamin:fix/ot2-api-version-comparison
Sep 3, 2026
Merged

Route OT-2 fixed-trash disposal by API version#1241
rickwierenga merged 1 commit into
PyLabRobot:mainfrom
hazlamshamin:fix/ot2-api-version-comparison

Conversation

@hazlamshamin

Copy link
Copy Markdown
Contributor

Summary

The OT-2 backend selected its fixed-trash command route by comparing server versions as text. A multi-digit version such as 26.6.0 was therefore treated as older than 7.1.0 and entered the tip-rack path.

  • Parse the numeric major, minor, and patch components before selecting fixed-trash commands.
  • Support server versions with release suffixes.
  • Keep ordinary tip returns independent of server-version parsing.
  • Reject versions that do not start with numeric major, minor, and patch components.

Verification

  • python -m pytest pylabrobot/legacy/liquid_handling/backends/opentrons_backend_tests.py pylabrobot/legacy/liquid_handling/backends/opentrons_chatterbox_tests.py -q — 32 passed.
  • Focused Ruff format, lint, and import checks passed.
  • Focused MyPy check passed.
  • Physical OT-2 with API 26.6.0: fixed-trash disposal completed with the P20 and P300 pipettes using the numeric route-selection implementation.
  • Release-suffix handling was verified in software because the OT-2 was not connected for the final parser revision.

Repository-wide make lint and make format-check still report existing failures outside this change.

Text comparison treats API 26.6.0 as older than 7.1.0.
Fixed-trash disposal then enters the tip-rack path and fails before
sending the required commands.

Parse the numeric release components and select the addressable-area
commands only for fixed-trash disposal. Accept release suffixes, reject
versions without a numeric release prefix, and keep ordinary tip
returns independent of version parsing.
@rickwierenga
rickwierenga merged commit 1e7cee2 into PyLabRobot:main Sep 3, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants