[package]
name = "quantrs2-device"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true
keywords = ["quantum", "computing", "device", "hardware", "connectivity"]
categories = ["science", "simulation", "hardware-support"]
description = "Quantum device connectors for the QuantRS2 framework"
readme = "README.md"
[dependencies]
scirs2-fft = { workspace = true }
quantrs2-core.workspace = true
quantrs2-circuit.workspace = true
thiserror.workspace = true
petgraph.workspace = true
fastrand.workspace = true
oxicode.workspace = true
serde.workspace = true
serde_json.workspace = true
num_cpus.workspace = true
scirs2-core.workspace = true
scirs2-autograd.workspace = true
scirs2-stats.workspace = true
scirs2-metrics.workspace = true
scirs2-graph = { workspace = true, optional = true }
scirs2-linalg = { workspace = true, optional = true }
scirs2-optimize = { workspace = true, optional = true }
reqwest = { workspace = true, features = ["json"], optional = true }
tokio = { workspace = true, features = ["rt", "rt-multi-thread", "macros", "sync", "time"], optional = true }
futures = { workspace = true, optional = true }
broadcast = "0.1"
chrono = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
uuid = { workspace = true, optional = true }
url = { version = "2.5.8", features = ["serde"] }
hmac = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
bytemuck = { workspace = true, features = ["derive"], optional = true }
aes-gcm = { version = "0.10.3", optional = true }
x25519-dalek = { version = "2.0.1", optional = true }
[dev-dependencies]
tokio-test = "0.4"
criterion.workspace = true
[features]
default = ["scheduling", "scirs2", "security"]
ibm = ["dep:reqwest", "dep:tokio", "dep:chrono", "dep:async-trait"]
azure = ["dep:reqwest", "dep:tokio", "dep:chrono", "dep:async-trait"]
aws = [
"dep:reqwest",
"dep:tokio",
"dep:chrono",
"dep:async-trait",
"dep:hmac",
"dep:sha2",
"dep:hex",
"dep:bytemuck"
]
neutral_atom = ["dep:reqwest", "dep:tokio", "dep:chrono", "dep:async-trait", "dep:uuid", "dep:futures", "ibm"]
photonic = ["dep:reqwest", "dep:tokio", "dep:chrono", "dep:async-trait"]
scheduling = ["dep:tokio", "dep:async-trait", "dep:uuid", "dep:futures"]
scirs2 = ["dep:scirs2-graph", "dep:scirs2-linalg", "dep:scirs2-optimize"]
security = ["dep:aes-gcm", "dep:x25519-dalek", "dep:sha2", "dep:chrono"]
cloud-backends = ["ibm", "azure", "aws", "neutral_atom", "photonic"]
[package.metadata.docs.rs]
all-features = false
features = ["scheduling", "scirs2", "security", "neutral_atom"]
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true