Skip to main content
The Python SDK is the customer-facing entry point for Hardsim.

Install

Core Methods

  • submit(...): create a cloud simulation job.
  • submit_assets(...): strict real-mode submit using local files, managed URIs, or asset IDs.
  • step(...): alias for submit-oriented cloud simulation call.
  • status(job_id): get current job state.
  • wait(job_id): poll until terminal state.
  • watch_job(job_id): stream live terminal-friendly status updates.
  • download(job_id, out_dir): download generated artifacts.
  • cancel(job_id): cancel queued/running jobs.
  • upload_input(local_path): upload local files and return a managed input URI.
  • upload_input_asset(local_path): upload local file and return stable asset_id.
  • register_input_asset(...): register an existing managed input URI into asset catalog.
  • list_input_assets(...) / get_input_asset(asset_id): query catalog.
  • create_training_run(...): create a managed rollout-train run.
  • list_training_runs(limit=..., submission_group_id=...): list runs (optional group filter).
  • get_training_run(run_id) / wait_training_run(run_id): monitor managed run lifecycle.
  • watch_training_run(run_id): stream live run status + events.
  • pause_training_run(run_id) / resume_training_run(run_id) / cancel_training_run(run_id).
  • list_run_checkpoints(run_id) / get_latest_checkpoint(run_id).
  • submit_many_jobs(...) / submit_many_training_runs(...): batch submit with one group ID.
  • watch_submission_group(group_id): live group progress in terminal.
For custom Isaac Lab workloads, use submit_assets(...) with:
  • runtime_profile="isaac_lab_rollout"
  • an isaac_lab={...} config block
  • a task package uploaded as asset_kind="isaac_lab_task_package"

Terminal Monitoring Patterns

You can monitor from terminal in two ways:
  1. Manual status checks anytime
  1. Live watch stream
timeout_s is configurable. If you want a full watch, set a large timeout. Submission group watch:

Environment Variables

  • HARDSIM_API_KEY (required)
  • HARDSIM_API_URL (production: https://api-sim.hardlightsim.com)
  • HARDSIM_HTTP_TIMEOUT_S
  • HARDSIM_HTTP_RETRIES
  • HARDSIM_HTTP_BACKOFF_S

One-Call Real Asset Submit

submit_assets(...) auto-uploads local files through the presigned upload API and then submits the job with strict real asset references.

Managed Training

For containerized trainer testing, use the reference image + payload in:
  • managed-training-quickstart
create_training_run(...) also supports checkpoint_init_asset_id.

More Detail