PyLabRobot is an open-source, hardware-agnostic library for liquid handlers, plate readers, centrifuges, pumps, scales, heater shakers and more. Write a protocol once, run it on any supported machine, on any operating system.
pip install pylabrobot
Protocols are written against a universal API. Switching from a Hamilton STAR to an Opentrons or Tecan is a one-line change to the backend. Run commands interactively in Jupyter or the Python REPL and iterate in seconds instead of minutes.
Liquid handling guide →from pylabrobot.liquid_handling import LiquidHandler
from pylabrobot.liquid_handling.backends import STARBackend
from pylabrobot.resources import Deck
deck = Deck.load_from_json_file("hamilton-layout.json")
lh = LiquidHandler(backend=STARBackend(), deck=deck)
await lh.setup()
# move 100 uL from A1 to A2
await lh.pick_up_tips(deck.get_resource("tip_rack")["A1"])
await lh.aspirate(deck.get_resource("plate")["A1"], vols=100)
await lh.dispense(deck.get_resource("plate")["A2"], vols=100)
await lh.return_tips()
An alternative to proprietary vendor software that gives you full control over your lab.
A single interface for liquid handlers, plate readers, pumps, scales, heater shakers and dozens of other devices.
Runs on Windows, macOS and Linux, where most vendor software is Windows-only.
Send atomic commands from a Jupyter notebook and see the result immediately. No compile-and-run cycle.
Write Turing-complete protocols with loops, feedback and any Python package: data analysis, ML, your LIMS.
MIT licensed and free to use. Read the code, fix what you need, and share protocols with others.
Get help on the forum, and contribute. Most pull requests are reviewed and merged within a day.
PyLabRobot talks directly to devices from over 30 manufacturers, often at the firmware level.
The browser-based Visualizer shows the state of the deck as your protocol runs. Use the simulator backend to develop and test protocols before touching real hardware.
Read the docs →
If PyLabRobot helps your research, please cite the paper.
PyLabRobot: An open-source, hardware-agnostic interface for liquid-handling robots and accessories
Wierenga, R., Golas, S., Ho, W., Coley, C., & Esvelt, K. (2023). Device, 1(4), 100111.