API Reference¶
Every tool is also a regular Python function with an explicit signature. Below is the full surface - copy/paste-ready.
Auth & system¶
osmo_doctor()¶
Probe the local environment: osmo binary path, version, profile, login state.
osmo_login(host="", interactive=True)¶
Run the OAuth flow. Set interactive=False to fail fast on headless hosts.
osmo_version()¶
Print client + server version.
Resources¶
osmo_pool_list(mode="used")¶
List compute pools. mode="free" shows free GPUs (use right before submit).
osmo_resources_list()¶
GPU/CPU/memory profiles across pools.
osmo_profile_list()¶
Active profile + pool visibility.
osmo_bucket_list()¶
Object-storage buckets configured for your pools.
Workflow¶
osmo_workflow_submit(workflow_yaml, pool, set_vars=None, priority="", name="", extra_args=None)¶
Submit a YAML to a pool. priority="LOW" to bypass quota.
osmo_workflow_list(status="", pool="", limit=50, user="")¶
Recent workflows; filter by status / pool / owner.
osmo_workflow_status(workflow_id)¶
Full status + dashboard URLs.
osmo_workflow_cancel(workflow_id, reason="")¶
Cancel a running / pending workflow.
osmo_workflow_logs(workflow_id, task="", follow=False, tail=200)¶
Fetch logs (bounded - agents poll, don't stream).
osmo_workflow_exec(workflow_id, task, command="bash -lc 'echo hello'")¶
One-shot command inside a running task. Debugging only.
Task¶
osmo_task_list(workflow_id)¶
Tasks of a workflow.
osmo_task_describe(workflow_id, task)¶
Task metadata + dashboard URLs.
Data¶
osmo_data_upload(src, dest, bucket="", recursive=True)¶
Upload a file or directory.
osmo_data_download(src, dest, bucket="")¶
Download a path.
osmo_data_list(prefix="", bucket="", limit=100)¶
List objects.
Dataset¶
osmo_dataset_list(name="", tag="", limit=100)¶
List versioned datasets.
osmo_dataset_describe(name, version="")¶
Show versions, tags, source workflow.
App¶
osmo_app_list(name="", limit=100)¶
Published apps (reusable workflow specs).
osmo_app_create(workflow_yaml, name, version="0.1.0")¶
Promote a YAML to an app.
Cookbook & spec helpers¶
osmo_cookbook_fetch(category, recipe="", local_root="")¶
Pull a recipe from the OSMO cookbook (local clone or GitHub raw).
osmo_workflow_validate(workflow_yaml)¶
Local YAML lint (no server call). Handles workflow.tasks and
workflow.groups[].tasks shapes.
osmo_workflow_render(workflow_yaml, set_vars, output="")¶
Jinja-render templated YAMLs locally.
All tools return Strands ToolResult shape: