Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dyber-0.1.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dyber-0.1.0-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

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

Hashes for dyber-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c2267d3a0cb493bd40b09f7e6a14159b54b31f81f837ffe47037b73486011617
MD5 19aba71e898b7eb722666c3fadb0a692
BLAKE2b-256 d50a98c6ae6d9cfbb96f12aeb61499b5ec763f7b4efc2ea827df8df8c86ec212

See more details on using hashes here.

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

Hashes for dyber-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec9b75bba9c468df23c9109b43f12316c71778adb37b94ee951ac1b68319bdd6
MD5 ca8a050c886239811a6a7826bcf858a5
BLAKE2b-256 21ec249943994c2cdda5615ed381230eae247b3c39592391eef1eb3e1845ff45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page