The Latch SDK is a toolchain to define serverless bioinformatics workflows and dynamically generate no-code interfaces using python functions.
It is built directly on Flyte for all the benefits that the Kubernetes-native workflow orchestration framework provides - task-level type-safety and containerization, independent task scheduling, and heterogeneous & highly scalable computing infrastructure.
Docs • Installation • Quickstart • Latch
Workflows developed with the SDK feature:
- Instant no-code interfaces for accessibility and publication
- First class static typing
- Containerization + versioning of every registered change
- Reliable + scalable managed cloud infrastructure
- Singe line definition of arbitrary resource requirements (eg. CPU, GPU) for serverless execution
Getting your hands dirty with SDK is the best way to understand how it works. Run the following three commands in your terminal to register your first workflow to LatchBio.
Prerequisite: ensure that docker
is present and running on your machine.
(Install docker here if you don't already
have it installed.)
First, install latch through pip
.
$ python3 -m pip install latch
Then, create some boilerplate code for your new workflow.
$ latch init testworkflow
Finally register the boilerplate code to LatchBio.
$ latch register testworkflow
This might take 3-10 minutes depending on your network connection. (Subsequent registers will complete in seconds by reusing the image layers from this initial register.) The registration process will:
- Build a docker image containing your workflow code
- Serialize your code and register it with your LatchBio account
- Push your docker image to a managed container registry
When registration has completed, you should be able to navigate here and see your new workflow in your account.
If you are having issues with registration or have general questions, please file an issue on github.
The SDK is distributed on pip. Install in a fresh virtual environment for best behavior.
Virtualenvwrapper is recommended.
python3 -m pip install latch
Note that a local installation of docker is required to register workflows.
We'll maintain a growing list of well documented examples here. Please open a pull request to feature your own: