Earlier today Genie Life Sciences announced its integration of the Opentrons liquid handlers with LabOS. The integration required a small extension of the Opentrons API, which was open sourced and is available here - GitHub - genie-inc/opentrons_rest_api: REST Server extension for Opentrons liquid handling robots.
The existing Opentrons API allows users to write a protocol in Python and execute it end-to-end on the liquid handler. The gap we ran into was that we couldn’t stream commands to the instrument. For example, we couldn’t easily execute a few commands on the OT-2, then talk to an arm to move a plate onto its deck and then execute a few more commands on the OT-2. This API extension creates a REST API server which can process one command (e.g., affix tips, aspirate, dispense, etc.) or a list of commands at a time, giving more control of the external manager.
I don’t know if anyone else here ran into a similar API limitation, but if you have, I’m hoping the open sourced code will help you along and maybe even spur you to contribute to the repo we posted.
As an aside, it doesn’t take much for LabOS to fully manage a liquid handler. One had to expose less than 20 REST API calls for the OT-2. I hope more liquid handler vendors open up their APIs beyond the high-level “execute method” API.