PyLabRobot supports the following pumps:


Pumps are controlled by the Pump class. These take a backend as an argument. The backend is responsible for communicating with the pump and is specific to the hardware being used.

from pylabrobot.pumps import Pump
backend = SomePumpBackend()
p = Pump(backend=backend)
await p.setup()

The setup() method is used to initialize the pump. This is where the backend will connect to the pump and perform any necessary initialization.

The Pump class has a number of methods for controlling the pump. These are:

Run the pump for 5 seconds at 100 RPM:

await p.run_continuously(speed=100)
await asyncio.sleep(5)
await p.halt()

Cole Parmer Masterflex#

The Masterflex pump is controlled by the Masterflex class. This takes a serial port as an argument. The serial port is used to communicate with the pump.

from pylabrobot.pumps.cole_parmer.masterflex import Masterflex
m = Masterflex(com_port='/dev/cu.usbmodemDEMO000000001')

(I have tried on the L/S 07551-20, but it should work on other models as well.)

Documentation available at: https://web.archive.org/web/20210924061132/https://pim-resources.coleparmer.com/instruction-manual/a-1299-1127b-en.pdf