[package]
name = "deq-runtime"
version = "0.3.0"
edition = "2024"
authors = ["Microsoft Corporation"]
description = "deq: Real-time Quantum Error Correction Decoding System"
keywords = ["QEC", "quantum-computing", "error-correction"]
categories = ["science"]
default-run = "deq-runtime-cli"
license = "MIT"
repository = "https://github.com/microsoft/qdk-ec"
homepage = "https://github.com/microsoft/qdk-ec"
documentation = "https://docs.rs/deq-runtime"
readme = "README.md"
include = [
"src/**/*",
"tests/**/*",
"Cargo.toml",
"build.rs",
"cpp/tesseract/**/*",
]
[lib]
name = "deq_runtime"
path = "src/lib.rs"
crate-type = ["lib", "cdylib"]
[[bin]]
name = "deq-runtime-cli"
path = "src/main.rs"
required-features = ["cli"]
[profile.release]
debug = true
[features]
default = ["cli", "tesseract", "simulator"]
cli = [
"dep:clap",
"dep:ctrlc",
"dep:log",
"dep:fastrace",
"dep:structdoc",
"dep:indicatif",
"dep:tokio-stream",
"tonic/channel",
"tonic/router",
]
python = ["dep:pyo3", "dep:pythonize"]
python_binding = [
"python",
"pyo3/extension-module",
]
tesseract = ["dep:cxx"]
simulator = [
"dep:stim",
"dep:rhai",
]
python_all = [
"python_binding",
"simulator",
"cli",
"tesseract",
]
[dependencies]
num-traits = "0.2.19"
serde = { version = "1.0.217", features = ["derive", "rc"] }
serde_json = { version = ">=1.0.138, <1.0.142", features = [
"arbitrary_precision",
] }
hashbrown = "0.16.0"
ordered-float = "5.1.0"
pyo3 = { version = "0.27.1", features = [
"multiple-pymethods",
"abi3-py38",
"macros",
"auto-initialize",
"generate-import-lib",
], optional = true }
clap = { version = "4.5.30", features = ["cargo", "derive"], optional = true }
rand = "0.10"
rand_xoshiro = "0.8.0"
tonic = { version = "0.14.2", default-features = false, features = [
"codegen",
"server",
] }
prost = "0.14.1"
tonic-prost = { version = "0.14.2", default-features = false }
tokio = { version = "1.48.0", features = ["rt-multi-thread"] }
tokio-util = "0.7"
tokio-stream = { version = "0.1.17", optional = true }
rayon = "1.11.0"
futures-util = "0.3.31"
structdoc = { version = "0.1.4", optional = true }
indicatif = { version = "0.18.2", optional = true }
log = { version = "0.4.28", optional = true }
rand_distr = "0.6.0"
binar = "0.1.1"
ctrlc = { version = "3.4.0", optional = true }
relay-bp = "0.2.2"
ndarray = "=0.16.1"
sprs = "=0.11.3"
fastrace = { version = "0.7.14", features = ["enable"], optional = true }
pythonize = { version = "0.27", optional = true }
stim = { version = "0.4.1", optional = true }
rhai = { version = "1", features = ["sync"], optional = true }
cxx = { version = "1.0", optional = true }
[build-dependencies]
tonic-prost-build = "0.14.2"
cxx-build = "1.0"
[dev-dependencies]
tempfile = "3"