Submitting Jobs¶
Use execute() to submit a job and wait for the result:
from armnet_client import execute
result = execute(
image="registry.example/my-runtime:tag",
embodiment="lerobot/so-101",
task="assemble_block_tower",
args={"calibrate": False},
timeout_seconds=1200,
)
Arguments¶
image: image ref, usually returned byImage.build(...).push().embodiment: robot embodiment used for cell routing.task: task used for cell routing.args: JSON-serializable values exposed asctx.args.secrets: mapping of env var name to armnet secret name.detach: ifFalse, disconnecting the client requests job cancellation.stream_logs: ifTrue, stream stdout/stderr to the terminal.timeout_seconds: max container runtime.
Cell Routing¶
Jobs are routed to robot cells by (embodiment, task). If no matching cell is
online, the job cannot run. Use OrchestratorClient.get_cell_status() to check
availability before submitting.
For LeRobot policy evaluation, prefer the higher-level
armnet-lerobot-eval command. It wraps Image.build, Image.push, and
execute with a LeRobot-like CLI.