opentrons-http-api-client

A Python library for interacting with the Opentrons HTTP API


License
MIT
Install
pip install opentrons-http-api-client==0.1.4

Documentation

Opentrons Python API

Simple (and currently incomplete) Python wrapper around the Opentrons HTTP API. Like https://github.com/Opentrons/opentrons/tree/edge/api-client, but in Python. This API is atomic and interactive.

This project is created for use with PyLabRobot, but can be used however you like.

Installation

  • from pip
pip install opentrons-http-api-client
  • from source
git clone http://github.com/rickwierenga/opentrons-python-api

Usage

Minimal example for simple liquid handling:

import ot_api
ot_api.set_host("x.x.x.x") # find in OT app
ot_api.set_port(31950)     # default, so not really necessary

# Creating a run
run_id = ot_api.runs.create()
ot_api.set_run(run_id) # set run globally, alternative to `run_id` parameter for functions

# Add pipettes that are detected in hardware to the software
left_pipette, right_pipette = ot_api.lh.add_mounted_pipettes()
left_pipette_id = left_pipette["pipetteId"]

# Defining labware
labware_def = ot_api.labware.define(labware_definition) # json from opentrons-shared-data

# Adding labware
labware_id = ot_api.labware.add(labware_def, slot=1)

# Picking up a tip
ot_api.lh.pick_up_tip(labware_id=labware_id, well_name="A1", pipette_id=left_pipette_id)

# Aspirating
ot_api.lh.aspirate(labware_id=labware_id, well_name="A1", pipette_id=left_pipette_id,
                   flow_rate=10, volume=10)

# Dispensing
ot_api.lh.dispense(labware_id=labware_id, well_name="A1", pipette_id=left_pipette_id,
                   flow_rate=10, volume=10)

# Tip drop
ot_api.lh.drop_tip(labware_id=labware_id, well_name="A1", pipette_id=left_pipette_id)

Note: the ot_api is blocking!

Notice

This project is not affiliated with Opentrons.

This project is created for the Sculpting Evolution group at the MIT Media Lab.

See LICENSE