Run a circuit on the illustrative simulator
Build a gate-model quantum circuit, run it on an illustrative statevector simulator with a simple loss-noise model, and inspect the counts and model resource estimates. It mirrors the API of pip install dyber, running in your browser.
from dyber import Dyber, Circuit
dy = Dyber()
c = Circuit(2)
c.h(0); c.cx(0, 1); c.measure_all()
job = dy.backend("local_simulator").run(c, shots=1024)
print(job.result().counts())
Results
Build a circuit and click Run.
Statevector simulator running in your browser, with the same gate set and resource model as the Python SDK. Illustrative noise: a Monte Carlo quantum-trajectory sampler applies the v2 loss model (erasure plus silent Pauli) at a 0.5 percent per-cycle loss input. The browser's noise sampler is a separate illustration; the Python SDK applies noise only when loss_per_cycle is passed, as output bit flips at the model's logical error estimate, so counts differ. Resource numbers are model values: abstract circuit model with assumed loss heralds. Not a hardware operating point. The hcat_qpu backend is not available. Install for Python: pip install dyber (0.2.1, Apache-2.0).
Three ways to run the simulator
One circuit model, three front doors. Everything runs on the local simulator.
1. Python SDK
pip install dyber
from dyber import Dyber, Circuit
c = Circuit(2); c.h(0); c.cx(0, 1)
c.measure_all()
job = Dyber().backend("local_simulator") \
.run(c, shots=1000)
print(job.result().counts())
2. Terminal (CLI)
# run any OpenQASM 3 file
dyber run bell.qasm --shots 1000
# start the local REST API
dyber serve
# built-in starter examples
dyber examples bell
3. REST API (any language)
curl -s -X POST http://127.0.0.1:8787/jobs \
-H "Content-Type: application/json" \
-d '{"qasm": "OPENQASM 3.0; qubit[2] q; bit[2] c;
h q[0]; cx q[0], q[1];
c = measure q;", "shots": 1000}'
# then GET /jobs/{id}/result
Bring your own language
Dyber deliberately has no proprietary quantum language. The SDK speaks OpenQASM 3 (import and export, with 2.0 compatibility), and ships dependency-free adapters for Qiskit (dyber.interop.from_qiskit(qc)) and Cirq (from_cirq(c)), so existing circuits run as-is. The REST API accepts raw OpenQASM text or a JSON circuit. Seven runnable examples ship with the source: GHZ, teleportation, Grover, parameter sweeps, QASM round-trip, Qiskit interop, and a curl API walkthrough. The Dyber-specific parts sit below the language: the H-cat native-op counts and the illustrative noise model, not syntax.