Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build, register, debug, and operate bioinformatics workflows on Latch using the Python SDK, CLI, Latch Data and Registry, Nextflow, Snakemake, programmatic execution, and Latch MCP. Use when authoring or deploying Latch workflows, configuring resources or interfaces, moving data, integrating Registry, or launching and monitoring runs.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 51% | 0% |
This skill targets Latch SDK 2.76.8, released July 10, 2026. The package metadata supports Python 3.9–3.12 and declares Python 3.9+.
Treat the installed package and its changelog as authoritative when a guide disagrees with the SDK. Some Latch guides retain older Python ranges or compatibility-specific pre-release pins, especially the Snakemake v2 tutorial. Never combine commands or imports from different tracks without checking their version requirements.
Use this skill to:
LPath, LatchFile, LatchDir, or the CLIlatch register --staging and latch developRead only the references needed for the task:
| Need | Reference | |---|---| | Python workflows, tasks, maps, conditions, caching | references/workflow-creation.md | | LPath, legacy file types, Latch URLs, data CLI | references/data-management.md | | Registry reads, transactions, samplesheets | references/registry.md | | CPU, memory, storage, GPU, dynamic resources | references/resource-configuration.md | | Nextflow and Snakemake packaging | references/nextflow-snakemake.md | | Metadata, forms, launch plans, messages, automations | references/ui-and-automation.md | | Registration, development, execution, monitoring | references/operations-and-debugging.md | | Ready-to-use workflows and latch.verified | references/verified-workflows.md | | Remote MCP setup and tool workflow | references/latch-mcp.md |
Before relying on a symbol, run scripts/inspect_latch_sdk.py against the target SDK version. It performs local imports only and does not authenticate or make network requests.
For a reproducible environment:
bashuv venv --python 3.12 source .venv/bin/activate uv pip install "latch==2.76.8"
On Windows, use WSL for the documented Linux workflow tooling.
Authenticate through the supported OAuth flow; do not read, print, copy, or parse ~/.latch/token manually:
bashlatch login latch workspace
Select a workspace non-interactively when its numeric ID is already known:
bashlatch workspace --id 12345
latch login credentials are for the SDK and CLI. Latch MCP uses a separate OAuth authorization and its credentials cannot be reused for general SDK access.
Create and remotely register the maintained subprocess template:
bashlatch init covid-wf --template subprocess latch register --yes --open covid-wf
Remote image building is the default. Use --no-remote only when a local Docker daemon is available and a local build is intentional.
Keep workflow bodies declarative: invoke tasks and return their promises. Perform computation and side effects inside tasks.
pythonfrom latch import small_task, workflow @small_task def reverse_complement(sequence: str) -> str: table = str.maketrans("ACGTacgt", "TGCAtgca") return sequence.translate(table)[::-1] @workflow def reverse_complement_workflow(sequence: str) -> str: """Return the reverse complement of a DNA sequence.""" return reverse_complement(sequence=sequence)
Use @workflow(metadata) when the generated interface needs custom labels, sections, validation rules, samplesheets, or documentation links. Use LatchFile or LatchDir for automatic task input staging and output upload; use LPath for imperative remote path operations.
flag path, or the separately pinned Snakemake v2 tutorial track.
retrieval. Isolate documented exceptions such as workflow_reference, which resolves the active workspace when its decorator is evaluated.
custom_task only when measuredrequirements justify it.
Fresh Nextflow and Snakemake projects must generate their version-compatible Python entrypoint before staging. In SDK 2.76.8, the staging branch does not generate one from --nf-script or --snakefile.
bash latch register --staging . latch develop .
Re-run staging registration after changing the Dockerfile or dependencies. Edits made inside the development container are not synced back.
bash latch register --yes --open .
Useful controls:
bash latch register --workspace-id 12345 . latch register --mark-as-release . latch register --workflow-module wf.custom_entrypoint .
Duplicate registration exits with status 2; it is not the same as a build failure.
latch_cli.services.launch.launch_v2 for Python automation.latch launch CLI as a new integration pattern.validation.
batch runs.
LPath.rmr, latch rmr, Registry deletion, oroverwriting shared destinations.
get_secret() only inside a task, use the returned value only for itsintended service, and never return it as workflow output.
with subprocess.run(..., check=True).
reviewing the changelog and re-running staging tests.
rather than editing output that the CLI will overwrite.
From this skill directory:
bashuv run --no-project --python 3.12 --with "latch==2.76.8" \ python scripts/inspect_latch_sdk.py
Use JSON output for automated comparisons:
bashuv run --no-project --python 3.12 --with "latch==2.76.8" \ python scripts/inspect_latch_sdk.py --json
Other measured skills in the registry, with their headline benchmark lift.