Skip to content

Quickstart

Submit a training run in under a minute.

1. Create a Client

from canard import Client

client = Client(api_url="https://api.canard.cloud")

2. Submit a Training Run

run = client.submit_training_run(
    name="my-first-run",
    task_name="Template-Go2-Standing-Direct-v0",
    code_url="https://github.com/canard-cloud/go2-standing-env",
    num_envs=4096,
    max_iterations=5000,
    gpu_count=2,
)

The SDK prints an estimated cost and a link to the dashboard:

Submitting training run: my-first-run
  Task: Template-Go2-Standing-Direct-v0
  Envs: 4096 | Iterations: 5000 | GPUs: 2
  Est. ~7.2 hr · $1.00/hr · ~$7.23 total
  Dashboard: https://app.canard.cloud/runs/run_a1b2c3d4

3. Monitor Progress

From the dashboard

Open the dashboard URL printed above. You'll see live reward curves, GPU utilization, and training videos.

From Python

# Block until complete (with progress bar)
run.wait_for_completion(show_progress=True)

# Or poll manually
run.refresh()
print(f"Status: {run.status}, Progress: {run.progress:.0%}")

4. Download Results

# Download the best checkpoint
path = run.download_best_checkpoint("./checkpoints")
print(f"Checkpoint saved to {path}")

# Or download everything
run.download_results("./results")

5. List Artifacts

# See what's available
for artifact in run.list_artifacts():
    print(f"{artifact['filename']} ({artifact['artifact_type']})")

# Filter by type
checkpoints = run.list_checkpoints()
videos = run.list_videos()

What's Next?