advay-platform
Python SDK for the Advay Labs Quantum Platform. Run OpenQASM 3
circuits against our hosted SQPU emulator, get realistic noise projections
and surface-code resource estimates, all from a single pip install.
pip install advay-platform
What you get
- Cloud emulator access — submit OpenQASM 3 circuits to
dev.advaylabs.com, get counts back. - Local emulator — the same compute stack also runs offline on your machine for unit tests and CI; no API key required for local use.
- Resource projection — surface-code physical-qubit cost, code distance, T-factory count, and wall-clock for your circuit on the SQPU roadmap device, with factor-of-2 honest bounds.
- Noise projection — end-to-end success probability under three
control modes (
full/hybrid/reduced), calibrated to the digital twin's gate-time ceilings. - OpenQASM 3 support — classical control flow (
if_else), mid-circuit measurement, and proper feedforward simulation included. - Qiskit interop —
qiskit.QuantumCircuitobjects are accepted as input alongside QASM strings.
Quick start
Run a circuit against the cloud API
import os
import requests
QASM = """
OPENQASM 3.0;
include "stdgates.inc";
qubit[2] q;
bit[2] c;
h q[0];
cx q[0], q[1];
c[0] = measure q[0];
c[1] = measure q[1];
"""
resp = requests.post(
"https://advaylabs.com/api/v1/run",
headers={"Authorization": f"Bearer {os.environ['ADVAY_API_KEY']}"},
json={"qasm": QASM, "options": {"shots": 1024}},
timeout=60,
).json()
print(resp["response"]["status"]) # "succeeded"
print(resp["response"]["ideal_result"]["counts"]) # {'00': 510, '11': 514}
You'll need an API key from the dashboard.
Run a circuit locally (offline)
from advay_platform import run_circuit, RunOptions
result = run_circuit(open("bell.qasm").read(), RunOptions(shots=1024))
print(result.ideal_result.counts)
The full emulator is bundled in the wheel — no network call required. Useful for CI and quick iteration on small circuits.
Typed request options
from advay_platform import RunOptions
opts = RunOptions(
shots=1024,
control_mode="hybrid", # "full" | "hybrid" | "reduced"
seed=42, # repeatable runs
execute=True, # set False to skip ideal execution
resource_estimate=True,
noise_projection=True,
)
Pass opts.model_dump() as the options field when calling the REST API,
or pass the RunOptions object directly to the local run_circuit().
What the response contains
Every run_circuit() call (and every POST /api/v1/run) returns four
chunks:
response
├── circuit_summary # qubits, depth, gate counts, Clifford check
├── ideal_result # noiseless simulator counts
├── resource_projection # surface-code physical qubits, code distance,
│ # T-factories, wall-clock — with factor-of-2 bounds
├── noise_projection # end-to-end success probability per control mode
└── provenance # run_id, platform version, twin version, tags
See the response format reference for field-by-field details.
CLI
The wheel installs an advay-platform command:
# Platform info
advay-platform info
# Run a QASM file
advay-platform run bell.qasm --shots 1024 --output-format json
# Pipe QASM from stdin
cat bell.qasm | advay-platform run - --shots 256
Supported gates
Clifford (fast, no qubit cap):
i, x, y, z, h, s, sdg, sx, sxdg, cx, cy, cz,
swap, iswap, measure, reset, barrier.
Non-Clifford (state-vector simulator, ≤22 qubits by default):
t, tdg, rx, ry, rz, p, u, u1, u2, u3, ccx, ccz,
cswap, crx, cry, crz, cp, cu, rxx, ryy, rzz, mcx, mcz.
Classical feedback (if_else, mid-circuit measurement, conditional
gates) is fully supported in both the local emulator and the cloud API.
Compatibility
| Component | Version |
|---|---|
| Python | 3.10, 3.11, 3.12 |
| OS | Linux, macOS, Windows (pure-Python wheel) |
| qiskit | ≥ 1.0 |
| OpenQASM | 3.0 |
Free tier
- 30-day free trial on signup.
- 20 SDK calls per day on the free tier.
- Verified academic emails (
.edu,.ac.uk,.ac.in,.edu.au, …) get the free tier with no expiry and no daily cap.
Upgrade to the researcher or commercial tier via support@advaylabs.com.
Documentation
- Getting started: https://advaylabs.com/docs/getting-started
- API reference: https://advaylabs.com/docs/api-reference
- Examples: https://advaylabs.com/docs/examples
- Troubleshooting: https://advaylabs.com/docs/troubleshooting
Support
- Email: support@advaylabs.com
- Status: https://advaylabs.com/status
License
Proprietary. © 2026 Advay Labs Private Limited. All rights reserved.
See LICENSE for terms. Free for evaluation and research use under the preview tier; commercial use requires a license agreement — contact support@advaylabs.com.
Release files for advay-platform-server 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| advay_platform_server-0.3.0.tar.gz | 57.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| advay_platform_server-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.2 kB
Release files / advay_platform_server-0.3.0.tar.gz
| Download URL | advay_platform_server-0.3.0.tar.gz |
|---|---|
| Size | 57.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55f94d4bb7144e2b0a471660bdf8c1a2a2f7ec06a7da206b6a3181aaed41ee36
|
|
BLAKE2b-256 checksum How to use checksums |
8571b774c9406f1462c98408d127a9490892895b488b2aee87f91b0c1a206c64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / advay_platform_server-0.3.0-py3-none-any.whl
| Download URL | advay_platform_server-0.3.0-py3-none-any.whl |
|---|---|
| Size | 52.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6300a77a38861c7dbbfa3552ab5da3ad9715201cbd12c6c1b2dd1cfaee15e7fa
|
|
BLAKE2b-256 checksum How to use checksums |
2cae243b73d99854fed324857a8131903a3edf556a3c775af6d11b9ddf0bd163
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|