Welcome to PyLabRobot’s documentation!#
PyLabRobot is a hardware agnostic, pure Python library for liquid handling robots and accessories.
PyLabRobot provides a layer of general-purpose abstractions over robot functions, with various device drivers for communicating with different kinds of robots. Right now we only support Hamilton STAR and STARLet, Tecan EVO, and Opentrons robots, but we will soon support many more. All of these robots can be controlled using any computer running any operating system. We also provide a browser-based Visualizer which can visualize the state of the deck during a run, and testing backends which do not require access to a robot.
GitHub repository: PyLabRobot/pylabrobot
Paper: https://www.cell.com/device/fulltext/S2666-9986(23)00170-9
Note
PyLabRobot is different from PyHamilton. While both packages are created by the same lab and both provide a Python interfaces to Hamilton robots, PyLabRobot aims to provide a universal interface to many different robots runnable on many different computers, where PyHamilton is a Windows only interface to Hamilton’s VENUS.
- Public API: pylabrobot package
- Subpackages
- pylabrobot.config package
- pylabrobot.config.config.Config
- pylabrobot.config.io.ConfigReader
- pylabrobot.config.io.ConfigWriter
- pylabrobot.config.io.file.FileReader
- pylabrobot.config.io.file.FileWriter
- pylabrobot.config.formats.json_config.JsonLoader
- pylabrobot.config.formats.json_config.JsonSaver
- pylabrobot.config.formats.ini_config.IniLoader
- pylabrobot.config.formats.ini_config.IniSaver
- pylabrobot.machines.machine.Machine
Machine
- pylabrobot.machines.machine.Machine.name
- pylabrobot.machines.machine.Machine.setup_finished
- pylabrobot.machines.machine.Machine.__init__
- pylabrobot.machines.machine.Machine.assign_child_resource
- pylabrobot.machines.machine.Machine.center
- pylabrobot.machines.machine.Machine.centers
- pylabrobot.machines.machine.Machine.copy
- pylabrobot.machines.machine.Machine.deregister_did_assign_resource_callback
- pylabrobot.machines.machine.Machine.deregister_did_unassign_resource_callback
- pylabrobot.machines.machine.Machine.deregister_state_update_callback
- pylabrobot.machines.machine.Machine.deregister_will_assign_resource_callback
- pylabrobot.machines.machine.Machine.deregister_will_unassign_resource_callback
- pylabrobot.machines.machine.Machine.deserialize
- pylabrobot.machines.machine.Machine.get_absolute_location
- pylabrobot.machines.machine.Machine.get_absolute_rotation
- pylabrobot.machines.machine.Machine.get_absolute_size_x
- pylabrobot.machines.machine.Machine.get_absolute_size_y
- pylabrobot.machines.machine.Machine.get_absolute_size_z
- pylabrobot.machines.machine.Machine.get_all_children
- pylabrobot.machines.machine.Machine.get_anchor
- pylabrobot.machines.machine.Machine.get_resource
- pylabrobot.machines.machine.Machine.get_size_x
- pylabrobot.machines.machine.Machine.get_size_y
- pylabrobot.machines.machine.Machine.get_size_z
- pylabrobot.machines.machine.Machine.load_all_state
- pylabrobot.machines.machine.Machine.load_from_json_file
- pylabrobot.machines.machine.Machine.load_state
- pylabrobot.machines.machine.Machine.load_state_from_file
- pylabrobot.machines.machine.Machine.register_did_assign_resource_callback
- pylabrobot.machines.machine.Machine.register_did_unassign_resource_callback
- pylabrobot.machines.machine.Machine.register_state_update_callback
- pylabrobot.machines.machine.Machine.register_will_assign_resource_callback
- pylabrobot.machines.machine.Machine.register_will_unassign_resource_callback
- pylabrobot.machines.machine.Machine.rotate
- pylabrobot.machines.machine.Machine.rotated
- pylabrobot.machines.machine.Machine.save
- pylabrobot.machines.machine.Machine.save_state_to_file
- pylabrobot.machines.machine.Machine.serialize
- pylabrobot.machines.machine.Machine.serialize_all_state
- pylabrobot.machines.machine.Machine.serialize_state
- pylabrobot.machines.machine.Machine.setup
- pylabrobot.machines.machine.Machine.stop
- pylabrobot.machines.machine.Machine.unassign
- pylabrobot.machines.machine.Machine.unassign_child_resource
- pylabrobot.machines.backends.machine.MachineBackend
MachineBackend
- pylabrobot.machines.backends.machine.MachineBackend.__init__
- pylabrobot.machines.backends.machine.MachineBackend.deserialize
- pylabrobot.machines.backends.machine.MachineBackend.serialize
- pylabrobot.machines.backends.machine.MachineBackend.setup
- pylabrobot.machines.backends.machine.MachineBackend.stop
- pylabrobot.machines.backends.usb.USBBackend
USBBackend
- pylabrobot.machines.backends.usb.USBBackend.__init__
- pylabrobot.machines.backends.usb.USBBackend.deserialize
- pylabrobot.machines.backends.usb.USBBackend.get_available_devices
- pylabrobot.machines.backends.usb.USBBackend.list_available_devices
- pylabrobot.machines.backends.usb.USBBackend.read
- pylabrobot.machines.backends.usb.USBBackend.serialize
- pylabrobot.machines.backends.usb.USBBackend.setup
- pylabrobot.machines.backends.usb.USBBackend.stop
- pylabrobot.machines.backends.usb.USBBackend.write
- pylabrobot.heating_shaking package
- pylabrobot.liquid_handling package
- pylabrobot.plate_reading package
- pylabrobot.pumps package
- pylabrobot.only_fans package
- pylabrobot.resources package
- pylabrobot.resources.Carrier
- pylabrobot.resources.Container
- pylabrobot.resources.Coordinate
- pylabrobot.resources.Deck
- pylabrobot.resources.ItemizedResource
- pylabrobot.resources.utils.create_equally_spaced_2d
- pylabrobot.resources.Lid
- pylabrobot.resources.Liquid
- pylabrobot.resources.PetriDish
- pylabrobot.resources.Plate
- pylabrobot.resources.PlateCarrier
- pylabrobot.resources.Resource
- pylabrobot.resources.ResourceStack
- pylabrobot.resources.tip.Tip
- pylabrobot.resources.TipCarrier
- pylabrobot.resources.TipRack
- pylabrobot.resources.Trough
- pylabrobot.resources.Tube
- pylabrobot.resources.TubeCarrier
- pylabrobot.resources.TubeRack
- pylabrobot.resources.Well
- Azenta
- Boekel
- Corning Axygen
- Corning Costar
- Falcon
- Greiner
- Hamilton
- Limbro
- ML Star resources
- Opentrons
- Porvair
- Revvity
- Tecan
- Thermo Fisher
- VWR
- Tip trackers
- Volume trackers
- pylabrobot.scales package
- pylabrobot.shaking package
- pylabrobot.temperature_controlling package
- pylabrobot.tilting package
- pylabrobot.utils package
- pylabrobot.config package
- Subpackages