Dyber SDK: interact with the H-cat photonic quantum computer (simulator now, QPU later)
Project description
Dyber SDK
Interact with the H-cat photonic quantum computer. Write a circuit once and run it on the local simulator today and on the H-cat QPU later, with no change to your code. This is the control interface, designed so that when the hardware exists, only the backend transport changes.
Install
pip install numpy
pip install -e . # from sdk/
# optional: physics-grade resource and noise models
pip install -e ../forge/sdk # dyberforge
Hello, H-cat
from dyber import Dyber, Circuit
dy = Dyber()
print(dy.backends()) # local_simulator (online), hcat_qpu (offline)
c = Circuit(2, "bell")
c.h(0); c.cx(0, 1); c.measure_all()
job = dy.backend("local_simulator").run(c, shots=1000)
res = job.result()
print(res.counts()) # {'00': ~500, '11': ~500}
print(res.resources) # distance, cats per logical, hw modes per logical
print(res.noise) # physics-informed noise summary (if enabled)
Run it over the network (the real QPU path)
python -m dyber.server # reference control plane on 127.0.0.1:8787
backend = dy.backend("remote", url="http://127.0.0.1:8787")
job = backend.run(c, shots=1000) # same protocol the hardware will use
The hcat_qpu backend points at the production control plane and is offline until the
hardware exists. The moment it is online, dy.backend("hcat_qpu").run(c) runs on silicon.
How it is layered
| Layer | Module | Role |
|---|---|---|
| Circuit | circuit.py |
gate-model program you write |
| Lowering | native.py |
maps gates to native H-cat ops (cat prep, hybrid fusion, parity readout); the real lowering is OpenForge |
| Simulator | simulator.py |
exact statevector run, plus physics-informed noise from the resource model |
| Backends | backend.py |
local simulator, remote (HTTP), and the hcat_qpu hardware backend, one interface |
| Protocol | protocol.py |
the JSON job format shared by SDK and control plane |
| Control plane | server.py |
reference server: today runs the simulator, later fronts the FPGA control system |
Notes
- The simulator is exact for up to 14 qubits. Noise is a planning-grade estimate calibrated to the validated H-cat loss and resource models, not a full physical simulation.
- Resource estimates use the v2 calibration (June 2026 circuit-level validation campaign): corrected loss threshold 0.79 percent per cycle (0.898 percent uncorrected option), spec operating point 0.5 percent per cycle (d=53, 5,617 cats per logical at 1e-9, 239.5 attempts per cat). At or above the threshold the resource report honestly returns the above-threshold regime (no fault-tolerant distance) with a NISQ fallback estimate.
- Proprietary components (the OpenForge compiler passes, calibration, foundry recipes) are not part of this SDK. The native lowering here is illustrative.
- Style: no em-dashes; commas, colons, periods, and hyphens for ranges.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dyber-0.1.0.tar.gz.
File metadata
- Download URL: dyber-0.1.0.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2267d3a0cb493bd40b09f7e6a14159b54b31f81f837ffe47037b73486011617
|
|
| MD5 |
19aba71e898b7eb722666c3fadb0a692
|
|
| BLAKE2b-256 |
d50a98c6ae6d9cfbb96f12aeb61499b5ec763f7b4efc2ea827df8df8c86ec212
|
File details
Details for the file dyber-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dyber-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec9b75bba9c468df23c9109b43f12316c71778adb37b94ee951ac1b68319bdd6
|
|
| MD5 |
ca8a050c886239811a6a7826bcf858a5
|
|
| BLAKE2b-256 |
21ec249943994c2cdda5615ed381230eae247b3c39592391eef1eb3e1845ff45
|