[package]
edition = "2018"
name = "qcs"
version = "0.26.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High level interface for running Quil on a QPU"
readme = "README.md"
keywords = [
"pyquil",
"SDK",
"Rigetti",
"Quil",
"Quantum",
]
categories = [
"api-bindings",
"compilers",
"science",
"emulators",
]
license = "Apache-2.0"
repository = "https://github.com/rigetti/qcs-sdk-rust"
resolver = "2"
[features]
_insecure-issuer-validation = ["qcs-api-client-common/_insecure-issuer-validation"]
experimental = []
grpc-web = ["qcs-api-client-grpc/grpc-web"]
libquil = ["dep:libquil-sys"]
manual-tests = []
python = [
"dep:futures-util",
"dep:numpy",
"dep:paste",
"dep:prost",
"dep:pyo3",
"dep:pyo3-async-runtimes",
"dep:pyo3-build-config",
"dep:pyo3-log",
"dep:pyo3-opentelemetry",
"dep:pyo3-tracing-subscriber",
"dep:rigetti-pyo3",
"experimental",
"tracing-opentelemetry",
"quil-rs/python",
"qcs-api-client-common/python",
]
stubs = [
"python",
"dep:pyo3-stub-gen",
"quil-rs/stubs",
"qcs-api-client-common/stubs",
"pyo3-tracing-subscriber/stubs",
"rigetti-pyo3/stubs",
]
tracing = [
"dep:tracing",
"qcs-api-client-common/tracing",
"qcs-api-client-grpc/tracing",
"qcs-api-client-openapi/tracing",
]
tracing-config = [
"tracing",
"qcs-api-client-common/tracing-config",
"qcs-api-client-grpc/tracing-config",
"qcs-api-client-openapi/tracing-config",
]
tracing-opentelemetry = [
"tracing-config",
"qcs-api-client-grpc/tracing-opentelemetry",
"qcs-api-client-openapi/tracing-opentelemetry",
]
[lib]
name = "qcs"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "diagnostics"
path = "src/bin/diagnostics.rs"
[[bin]]
name = "stub_gen"
path = "src/bin/stub_gen.rs"
[[example]]
name = "compilation-and-simulation-with-libquil"
path = "examples/libquil.rs"
required-features = ["libquil"]
[[example]]
name = "delayed_job_retrieval"
path = "examples/delayed_job_retrieval.rs"
[[example]]
name = "execute"
path = "examples/execute.rs"
[[example]]
name = "local"
path = "examples/local.rs"
[[example]]
name = "parametric_compilation"
path = "examples/parametric_compilation.rs"
[[example]]
name = "quil_t"
path = "examples/quil_t.rs"
[[test]]
name = "basic_qvm"
path = "tests/basic_qvm.rs"
[[test]]
name = "mocked_qpu"
path = "tests/mocked_qpu.rs"
[[test]]
name = "parametric_compilation"
path = "tests/parametric_compilation.rs"
[[test]]
name = "qvm_api"
path = "tests/qvm_api.rs"
[dependencies.async-trait]
version = "0.1.73"
[dependencies.cached]
version = "0.44.0"
[dependencies.derive_builder]
version = "0.20.0"
[dependencies.enum-as-inner]
version = "0.5.1"
[dependencies.futures]
version = "0.3.26"
[dependencies.futures-util]
version = "0.3.30"
optional = true
[dependencies.indexmap]
version = "2.2.6"
[dependencies.itertools]
version = "0.12.0"
[dependencies.lazy_static]
version = "1.4.0"
[dependencies.libquil-sys]
version = "0.4.0"
optional = true
[dependencies.ndarray]
version = "0.17.2"
features = ["serde"]
[dependencies.num]
version = "0.4.0"
features = ["serde"]
[dependencies.numpy]
version = "0.27.1"
optional = true
[dependencies.opentelemetry]
version = "0.30.0"
[dependencies.opentelemetry_sdk]
version = "0.30.0"
[dependencies.optipy]
version = "0.1.0"
[dependencies.paste]
version = "1.0.15"
optional = true
[dependencies.pbjson-types]
version = "0.7.0"
[dependencies.prost]
version = "0.13.3"
optional = true
[dependencies.pyo3]
version = "0.27.2"
features = [
"num-complex",
"multiple-pymethods",
]
optional = true
[dependencies.pyo3-async-runtimes]
version = "0.27"
features = [
"attributes",
"tokio-runtime",
]
optional = true
[dependencies.pyo3-log]
version = "0.13.2"
optional = true
[dependencies.pyo3-opentelemetry]
version = "0.6.0"
optional = true
[dependencies.pyo3-stub-gen]
version = "0.17.2"
features = [
"numpy",
"numpy",
]
optional = true
[dependencies.pyo3-tracing-subscriber]
version = "0.4.0"
features = [
"pyo3",
"layer-otel-otlp-file",
"layer-otel-otlp",
]
optional = true
default-features = false
[dependencies.qcs-api-client-common]
version = "0.15.3"
[dependencies.qcs-api-client-grpc]
version = "0.15.3"
[dependencies.qcs-api-client-openapi]
version = "0.16.3"
[dependencies.quil-rs]
version = "0.35.0"
[dependencies.reqwest]
version = "0.12.8"
features = [
"rustls-tls",
"json",
]
default-features = false
[dependencies.rigetti-pyo3]
version = "0.5.0"
features = [
"opentelemetry",
"stubs",
"async-tokio",
]
optional = true
[dependencies.rmp-serde]
version = "1.1.1"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.128"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.36.0"
features = [
"fs",
"rt-multi-thread",
]
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.9.8"
[dependencies.tonic]
version = "0.13.1"
features = [
"tls-aws-lc",
"tls-native-roots",
]
[dependencies.tracing]
version = "0.1"
features = [
"log",
"log",
]
optional = true
[dependencies.uuid]
version = "1.10.0"
features = ["v4"]
[dependencies.zmq]
version = "0.10.0"
[dev-dependencies.assert2]
version = "0.3.11"
[dev-dependencies.erased-serde]
version = "0.3.23"
[dev-dependencies.float-cmp]
version = "0.9.0"
[dev-dependencies.hex]
version = "0.4.3"
[dev-dependencies.insta]
version = "1.29.0"
[dev-dependencies.maplit]
version = "1.0.2"
[dev-dependencies.oauth2-test-server]
version = "=0.1.3"
[dev-dependencies.qcs-api-client-common]
version = "0.15.3"
features = ["test"]
[dev-dependencies.qcs-api-client-grpc]
version = "0.15.3"
features = ["server"]
[dev-dependencies.regex]
version = "1.7.0"
[dev-dependencies.rstest]
version = "0.26.0"
[dev-dependencies.simple_logger]
version = "4.1.0"
default-features = false
[dev-dependencies.tempfile]
version = "3.3.0"
[dev-dependencies.test-case]
version = "3.1.0"
[dev-dependencies.tokio]
version = "1.36.0"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.tracing-subscriber]
version = "0.3.19"
[dev-dependencies.warp]
version = "0.3.3"
default-features = false
[build-dependencies.built]
version = "0.6.1"
[build-dependencies.pyo3-build-config]
version = "0.27.2"
optional = true