Skip to main content

Prerequisites

  • A Hardlight account with simulation entitlement.
  • A service API key from the Hardlight dashboard (hls_live_*).
  • Python 3.10+.

1) Install SDK

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade hardsim

2) Configure Credentials

export HARDSIM_API_URL=https://api-sim.hardlightsim.com
export HARDSIM_API_KEY=hls_live_your_service_key

3) Submit Job

import hardsim as hs

client = hs.HardsimClient.from_env()
robot_asset_id = client.upload_input_asset("./assets/hardsim-smoke.urdf", asset_kind="robot")
scene_asset_id = client.upload_input_asset("./assets/table_scene.usd", asset_kind="scene")

job = client.submit_assets(
    robot_asset_id=robot_asset_id,
    scene_asset_id=scene_asset_id,
    robot_asset_type="urdf",
    num_envs=8,
    steps=128,
)
print(job.job_id, job.status)

4) Monitor From Terminal

Choose either mode:
# Live stream in terminal (recommended)
client.watch_job(job.job_id, poll_interval_s=2.0, timeout_s=36000)
# Manual check anytime
print(client.status(job.job_id))

5) Download Artifacts

result = client.wait(job.job_id, poll_interval_s=2.0, timeout_s=900.0, raise_on_error=False)
paths = client.download(job.job_id, "./outputs")
print(result["status"], paths)
Successful jobs typically include:
  • rollout.zarr
  • render.mp4 when video is enabled
  • artifact_manifest.json
  • runner.log

6) Validate In Dashboard

  • Open Hardlight dashboard Billing -> History for debit records.
  • Open Simulation Jobs for job status and artifact links.

Next