Circuits and Jobs

QCOS separates circuit management (syntax checking, compilation, and optimization) from execution tracking (jobs). Use client.circuits to compile, validate, and optimize circuit definitions, and use client.jobs to submit, monitor, and retrieve measurement expectation counts.

1. Asynchronous Job Submission & Polling

In production, quantum jobs are submitted asynchronously. The SDK allows you to submit a job, retrieve a unique job_id, poll for status updates, and fetch results when complete:

2. Synchronous/Blocking Execution Helper

If you do not want to write manual polling loops, the SDK provides two blocking convenience helpers that submit the job and poll automatically:
  • client.jobs.execute(): Submits and waits for execution, returning the completed job status bundle.
  • client.jobs.wait(): Takes a running job_id and blocks until it resolves.

3. Circuit Optimization & Conversion

Before sending a circuit to physical quantum hardware, you should optimize its depth to minimize gate errors:

4. Circuit Validation & Statistics

To inspect circuit characteristics (depth, widths, gate counts) without executing, run: