Source code for labscheduler.dev_tools.prefect_poc

import time

from prefect import flow, task


[docs] @task(name="Incubate") def incubate(labware: str, duration: float): time.sleep(duration) return labware
[docs] @task(name="Move") def move(labware: str, target: str): time.sleep(1) return labware
[docs] @task(name="Pipett") def transfer_liquid(labware1, labware2, protocol_name: str): time.sleep(2) return labware1, labware2
[docs] @flow def example_workflow(): plate1 = "plate1" plate2 = "plate2" plate1 = incubate(plate1, 5) plate1 = move(plate1, "Liquid Handler") plate2 = incubate(plate2, 5) plate2 = move(plate2, "Liquid Handler") # does not work to have plate1 and plate2 in some structure # like for example transfer_liquid([plate1, plate2], "transfer_100yl.pro", "buff") transfer_liquid(plate1, plate2, "transfer_100yl.pro")
if __name__ == "__main__": example_workflow.visualize()