# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "qcs"
version = "0.25.8-rc.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"

[lib]
name = "qcs"
path = "src/lib.rs"

[[bin]]
name = "diagnostics"
path = "src/bin/diagnostics.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.12.0"

[dependencies.enum-as-inner]
version = "0.5.1"

[dependencies.futures]
version = "0.3.24"

[dependencies.indexmap]
version = "2.2.6"

[dependencies.itertools]
version = "0.11.0"

[dependencies.lazy_static]
version = "1.4.0"

[dependencies.libquil-sys]
version = "0.4.0"
optional = true

[dependencies.ndarray]
version = "0.15.6"
features = ["serde"]

[dependencies.num]
version = "0.4.0"
features = ["serde"]

[dependencies.opentelemetry]
version = "0.23.0"

[dependencies.opentelemetry_sdk]
version = "0.23.0"

[dependencies.pbjson-types]
version = "0.7.0"

[dependencies.qcs-api-client-common]
version = "0.11.8"

[dependencies.qcs-api-client-grpc]
version = "0.11.8"

[dependencies.qcs-api-client-openapi]
version = "0.12.8"

[dependencies.quil-rs]
version = "0.29.2"

[dependencies.reqwest]
version = "0.12.8"
features = [
    "rustls-tls",
    "json",
]
default-features = false

[dependencies.rmp-serde]
version = "1.1.1"

[dependencies.serde]
version = "1.0.145"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.86"

[dependencies.thiserror]
version = "1.0.57"

[dependencies.tokio]
version = "1.36.0"
features = [
    "fs",
    "rt-multi-thread",
]

[dependencies.toml]
version = "0.7.3"

[dependencies.tonic]
version = "0.12.3"
features = [
    "tls",
    "tls-roots",
]

[dependencies.tracing]
version = "0.1"
features = ["log"]
optional = true

[dependencies.uuid]
version = "1.2.1"
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.qcs-api-client-grpc]
version = "0.11.8"
features = ["server"]

[dev-dependencies.regex]
version = "1.7.0"

[dev-dependencies.rstest]
version = "0.17.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.21.2"
features = [
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.tracing-subscriber]
version = "0.3.17"

[dev-dependencies.warp]
version = "0.3.3"
default-features = false

[build-dependencies.built]
version = "0.6.1"

[features]
grpc-web = ["qcs-api-client-grpc/grpc-web"]
libquil = ["dep:libquil-sys"]
manual-tests = []
otel-tracing = [
    "tracing-config",
    "qcs-api-client-grpc/otel-tracing",
    "qcs-api-client-openapi/otel-tracing",
]
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",
]
