Skip to main content

A Python library for interacting with the Opentrons HTTP API

Project description

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
data = ot_api.labware.define(labware_definition) # json from opentrons-shared-data
namespace, definition, version = data["data"]["definitionUri"].split("/")

# Adding labware
labware_id = "arbitrary id for labware"
ot_api.labware.add(
  load_name=definition,
  namespace=namespace,
  version=version,
  ot_location=1, # slot
  labware_id=labware_id
)

# 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentrons_http_api_client-0.2.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opentrons_http_api_client-0.2.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file opentrons_http_api_client-0.2.1.tar.gz.

File metadata

File hashes

Hashes for opentrons_http_api_client-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f57eac74eefcb9a7525149c112e194121e35bd7f7e3ae05fe377bc2756d38200
MD5 b614a427f87b5758bd99ab9598d19d73
BLAKE2b-256 54616ebba258f7cd3f540f823293a77c6cafb33ce5fc744954d7b65257ed7b00

See more details on using hashes here.

File details

Details for the file opentrons_http_api_client-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opentrons_http_api_client-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d17ed0088c0dc9a71c7c264f893b138e92facc4b8647d26dc28dc4bcee0ee35
MD5 cb817a7a15107938763e2ea2cba61c2b
BLAKE2b-256 9abc60c3459523bb2512cccadc94ef3a46b20283b7984b2594b0bdb848a2b02e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page