Pfizer-BradleyBare / PytomatedLiquidHandling

Python API for Hamilton, Tecan, and more devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PytomatedLiquidHandling

Simplify liquid handling with a Python API!

Disclaimer: PytomatedLiquidHandling is not supported by Hamilton Company. Please direct all questions to this repo.

Automation Python Powered

Documentation

See docstrings

Package installation

  1. Install 64-bit python >=3.11
  2. Update pip and install setuptools
  3. Install git
  4. Clone this repo to your PC
  5. cd into the repo folder and run 'pip install .'
  6. Start playing with the API

Example usage

from PytomatedLiquidHandling import Logger, Driver
from PytomatedLiquidHandling.Driver.TemperatureControl import HeaterShaker
import logging
import os
import time

LoggerInstance = Logger(
    "MyLogger", logging.DEBUG, os.path.join(os.path.dirname(__file__), "Logging")
)
DriverHandlerInstance = Driver.Handler(LoggerInstance)
# Creates the handler so we can communicate with the Hamilton

ConnectCommand = HeaterShaker.Connect.Command(HeaterShaker.Connect.Options(1), False)
ConnectCommand.Execute()
HeaterShakerHandleId = ConnectCommand.GetHandleID()
# Connect and get our Handle

DesiredTemperature = 37
StartTempCommand = HeaterShaker.StartTemperatureControl.Command(
    HeaterShaker.StartTemperatureControl.Options(
        HeaterShakerHandleId, DesiredTemperature
    ),
    False,
)
StartTempCommand.Execute()
# Turn on the Heat

#
# NOTE: See Examples/Driver/Hamilton_HeaterShaker.py for the rest!
#

See the Examples folder for more guidance on using the Driver, HAL, and API layers.

Future Directions

Please note that only the Driver layer is 100% functional. This will be updated as HAL and API is finalized.

Acknowledgements

Thanks to the following for inspiration:

https://github.com/dgretton/pyhamilton

https://github.com/PyLabRobot/pylabrobot

https://github.com/sniprbiome/pyvenus

About

Python API for Hamilton, Tecan, and more devices


Languages

Language:Python 100.0%Language:ReScript 0.0%