qcs-sdk-python 0.26.0rc3__tar.gz → 0.26.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/Cargo.lock +169 -21
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/Cargo.toml +3 -3
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/PKG-INFO +1 -1
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/CHANGELOG.md +54 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/Cargo.toml +2 -2
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/isa/mod.rs +1 -1
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/api/mod.rs +52 -46
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/isa/python.rs +10 -10
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/mocked_qpu.rs +13 -5
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/pyproject.toml +1 -1
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/README-py.md +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/THIRDPARTY.yaml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/.flake8 +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/Makefile.toml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/README-py.md +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/README.md +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/THIRDPARTY.yaml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/build.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/execute.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/libquil.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/local.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/parametric_compilation.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/examples/quil_t.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/poetry.lock +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/poetry.toml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/python/stubtest-allowlist +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/scripts/check-py-api.sh +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/scripts/lint-bindings.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/scripts/patch_grpc_web.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/bin/diagnostics.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/bin/stub_gen.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/client.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/isa/edge.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/isa/operator.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/isa/qubit.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/libquil.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/quilc.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/compiler/rpcq.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/diagnostics/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/diagnostics/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/executable.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/execution_data.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/lib.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/client.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/errors.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/executable.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/execution_data.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/nonzero.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/python/register_data.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/api/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/execution.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/experimental/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/experimental/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/experimental/random.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/isa/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/result_data.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions-2.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions-2.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_set_scale_units.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_and_reuses_gate_expressions.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_gate_parameters.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/translation/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qpu/translation/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/execution.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/http.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/libquil.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/mod.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/python.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/src/register_data.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/aspen_9_isa.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/basic_qvm.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/bell_state_response_data.hex +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/parametric_compilation.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/prng_test_cases.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/qvm_api.rs +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/qvm_isa.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests/settings.toml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/compiler/test_quilc.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/conftest.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qpu/experimental/test_random.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qpu/test_api.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qpu/test_isa.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qpu/test_translation.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/test_client.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/test_diagnostics.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/test_executable.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/test_logging.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/client.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/compiler/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/compiler/quilc.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/diagnostics.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/api.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/experimental/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/experimental/random.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/isa.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qpu/translation.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qvm/__init__.pyi +0 -0
- {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1}/python/qcs_sdk/qvm/api.pyi +0 -0
|
@@ -659,6 +659,16 @@ dependencies = [
|
|
|
659
659
|
"darling_macro 0.20.11",
|
|
660
660
|
]
|
|
661
661
|
|
|
662
|
+
[[package]]
|
|
663
|
+
name = "darling"
|
|
664
|
+
version = "0.23.0"
|
|
665
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
666
|
+
checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
|
|
667
|
+
dependencies = [
|
|
668
|
+
"darling_core 0.23.0",
|
|
669
|
+
"darling_macro 0.23.0",
|
|
670
|
+
]
|
|
671
|
+
|
|
662
672
|
[[package]]
|
|
663
673
|
name = "darling_core"
|
|
664
674
|
version = "0.14.4"
|
|
@@ -687,6 +697,19 @@ dependencies = [
|
|
|
687
697
|
"syn 2.0.114",
|
|
688
698
|
]
|
|
689
699
|
|
|
700
|
+
[[package]]
|
|
701
|
+
name = "darling_core"
|
|
702
|
+
version = "0.23.0"
|
|
703
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
704
|
+
checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
|
|
705
|
+
dependencies = [
|
|
706
|
+
"ident_case",
|
|
707
|
+
"proc-macro2",
|
|
708
|
+
"quote",
|
|
709
|
+
"strsim 0.11.1",
|
|
710
|
+
"syn 2.0.114",
|
|
711
|
+
]
|
|
712
|
+
|
|
690
713
|
[[package]]
|
|
691
714
|
name = "darling_macro"
|
|
692
715
|
version = "0.14.4"
|
|
@@ -709,6 +732,17 @@ dependencies = [
|
|
|
709
732
|
"syn 2.0.114",
|
|
710
733
|
]
|
|
711
734
|
|
|
735
|
+
[[package]]
|
|
736
|
+
name = "darling_macro"
|
|
737
|
+
version = "0.23.0"
|
|
738
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
739
|
+
checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
|
|
740
|
+
dependencies = [
|
|
741
|
+
"darling_core 0.23.0",
|
|
742
|
+
"quote",
|
|
743
|
+
"syn 2.0.114",
|
|
744
|
+
]
|
|
745
|
+
|
|
712
746
|
[[package]]
|
|
713
747
|
name = "dashmap"
|
|
714
748
|
version = "5.5.3"
|
|
@@ -828,6 +862,12 @@ version = "1.0.5"
|
|
|
828
862
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
829
863
|
checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
|
|
830
864
|
|
|
865
|
+
[[package]]
|
|
866
|
+
name = "dyn-clone"
|
|
867
|
+
version = "1.0.20"
|
|
868
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
869
|
+
checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
|
|
870
|
+
|
|
831
871
|
[[package]]
|
|
832
872
|
name = "either"
|
|
833
873
|
version = "1.15.0"
|
|
@@ -1138,7 +1178,7 @@ dependencies = [
|
|
|
1138
1178
|
"futures-sink",
|
|
1139
1179
|
"futures-util",
|
|
1140
1180
|
"http 0.2.12",
|
|
1141
|
-
"indexmap",
|
|
1181
|
+
"indexmap 2.13.0",
|
|
1142
1182
|
"slab",
|
|
1143
1183
|
"tokio",
|
|
1144
1184
|
"tokio-util",
|
|
@@ -1157,7 +1197,7 @@ dependencies = [
|
|
|
1157
1197
|
"futures-core",
|
|
1158
1198
|
"futures-sink",
|
|
1159
1199
|
"http 1.4.0",
|
|
1160
|
-
"indexmap",
|
|
1200
|
+
"indexmap 2.13.0",
|
|
1161
1201
|
"slab",
|
|
1162
1202
|
"tokio",
|
|
1163
1203
|
"tokio-util",
|
|
@@ -1180,6 +1220,12 @@ dependencies = [
|
|
|
1180
1220
|
"thiserror 2.0.18",
|
|
1181
1221
|
]
|
|
1182
1222
|
|
|
1223
|
+
[[package]]
|
|
1224
|
+
name = "hashbrown"
|
|
1225
|
+
version = "0.12.3"
|
|
1226
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1227
|
+
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
|
1228
|
+
|
|
1183
1229
|
[[package]]
|
|
1184
1230
|
name = "hashbrown"
|
|
1185
1231
|
version = "0.13.2"
|
|
@@ -1657,6 +1703,17 @@ dependencies = [
|
|
|
1657
1703
|
"icu_properties",
|
|
1658
1704
|
]
|
|
1659
1705
|
|
|
1706
|
+
[[package]]
|
|
1707
|
+
name = "indexmap"
|
|
1708
|
+
version = "1.9.3"
|
|
1709
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1710
|
+
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
|
|
1711
|
+
dependencies = [
|
|
1712
|
+
"autocfg",
|
|
1713
|
+
"hashbrown 0.12.3",
|
|
1714
|
+
"serde",
|
|
1715
|
+
]
|
|
1716
|
+
|
|
1660
1717
|
[[package]]
|
|
1661
1718
|
name = "indexmap"
|
|
1662
1719
|
version = "2.13.0"
|
|
@@ -1665,6 +1722,8 @@ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
|
|
|
1665
1722
|
dependencies = [
|
|
1666
1723
|
"equivalent",
|
|
1667
1724
|
"hashbrown 0.16.1",
|
|
1725
|
+
"serde",
|
|
1726
|
+
"serde_core",
|
|
1668
1727
|
]
|
|
1669
1728
|
|
|
1670
1729
|
[[package]]
|
|
@@ -2753,7 +2812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2753
2812
|
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
|
|
2754
2813
|
dependencies = [
|
|
2755
2814
|
"fixedbitset",
|
|
2756
|
-
"indexmap",
|
|
2815
|
+
"indexmap 2.13.0",
|
|
2757
2816
|
]
|
|
2758
2817
|
|
|
2759
2818
|
[[package]]
|
|
@@ -3007,7 +3066,7 @@ version = "0.27.2"
|
|
|
3007
3066
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3008
3067
|
checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
|
|
3009
3068
|
dependencies = [
|
|
3010
|
-
"indexmap",
|
|
3069
|
+
"indexmap 2.13.0",
|
|
3011
3070
|
"indoc",
|
|
3012
3071
|
"inventory",
|
|
3013
3072
|
"libc",
|
|
@@ -3133,7 +3192,7 @@ dependencies = [
|
|
|
3133
3192
|
"anyhow",
|
|
3134
3193
|
"chrono",
|
|
3135
3194
|
"either",
|
|
3136
|
-
"indexmap",
|
|
3195
|
+
"indexmap 2.13.0",
|
|
3137
3196
|
"inventory",
|
|
3138
3197
|
"itertools 0.14.0",
|
|
3139
3198
|
"log",
|
|
@@ -3154,7 +3213,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
3154
3213
|
checksum = "2426ba759d848787239d80f9fdb1f223786976f87fb6c3da8188ca7c17744b28"
|
|
3155
3214
|
dependencies = [
|
|
3156
3215
|
"heck 0.5.0",
|
|
3157
|
-
"indexmap",
|
|
3216
|
+
"indexmap 2.13.0",
|
|
3158
3217
|
"proc-macro2",
|
|
3159
3218
|
"quote",
|
|
3160
3219
|
"rustpython-parser",
|
|
@@ -3188,7 +3247,7 @@ dependencies = [
|
|
|
3188
3247
|
|
|
3189
3248
|
[[package]]
|
|
3190
3249
|
name = "qcs"
|
|
3191
|
-
version = "0.26.
|
|
3250
|
+
version = "0.26.1"
|
|
3192
3251
|
dependencies = [
|
|
3193
3252
|
"assert2",
|
|
3194
3253
|
"async-trait",
|
|
@@ -3201,7 +3260,7 @@ dependencies = [
|
|
|
3201
3260
|
"futures",
|
|
3202
3261
|
"futures-util",
|
|
3203
3262
|
"hex",
|
|
3204
|
-
"indexmap",
|
|
3263
|
+
"indexmap 2.13.0",
|
|
3205
3264
|
"insta",
|
|
3206
3265
|
"itertools 0.12.1",
|
|
3207
3266
|
"lazy_static",
|
|
@@ -3252,9 +3311,9 @@ dependencies = [
|
|
|
3252
3311
|
|
|
3253
3312
|
[[package]]
|
|
3254
3313
|
name = "qcs-api-client-common"
|
|
3255
|
-
version = "0.
|
|
3314
|
+
version = "0.17.0"
|
|
3256
3315
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3257
|
-
checksum = "
|
|
3316
|
+
checksum = "b88868b8da4b216c54fc5b30244050cfb6d2c406ee723593475fbd014206133a"
|
|
3258
3317
|
dependencies = [
|
|
3259
3318
|
"async-tempfile",
|
|
3260
3319
|
"async-trait",
|
|
@@ -3294,9 +3353,9 @@ dependencies = [
|
|
|
3294
3353
|
|
|
3295
3354
|
[[package]]
|
|
3296
3355
|
name = "qcs-api-client-grpc"
|
|
3297
|
-
version = "0.
|
|
3356
|
+
version = "0.17.0"
|
|
3298
3357
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3299
|
-
checksum = "
|
|
3358
|
+
checksum = "764eaf5498238f5dd7a1b6f93e18c812791093c19bddbcf8c331a2dc16f19059"
|
|
3300
3359
|
dependencies = [
|
|
3301
3360
|
"backoff",
|
|
3302
3361
|
"futures-util",
|
|
@@ -3333,9 +3392,9 @@ dependencies = [
|
|
|
3333
3392
|
|
|
3334
3393
|
[[package]]
|
|
3335
3394
|
name = "qcs-api-client-openapi"
|
|
3336
|
-
version = "0.
|
|
3395
|
+
version = "0.18.0"
|
|
3337
3396
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3338
|
-
checksum = "
|
|
3397
|
+
checksum = "5cb716214a3b7dfa0f35a40b4ce8f69ab467f6f542f9771b7c47a3dcfdd5db61"
|
|
3339
3398
|
dependencies = [
|
|
3340
3399
|
"anyhow",
|
|
3341
3400
|
"http 1.4.0",
|
|
@@ -3345,6 +3404,9 @@ dependencies = [
|
|
|
3345
3404
|
"reqwest-tracing",
|
|
3346
3405
|
"serde",
|
|
3347
3406
|
"serde_json",
|
|
3407
|
+
"serde_path_to_error",
|
|
3408
|
+
"serde_repr",
|
|
3409
|
+
"serde_with",
|
|
3348
3410
|
"tokio",
|
|
3349
3411
|
"tracing",
|
|
3350
3412
|
"tracing-opentelemetry",
|
|
@@ -3359,7 +3421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
3359
3421
|
checksum = "281944c5f662c40607e966f9628cb0a3a23c4f854c4cf2089e6e61b98f2c8c58"
|
|
3360
3422
|
dependencies = [
|
|
3361
3423
|
"approx",
|
|
3362
|
-
"indexmap",
|
|
3424
|
+
"indexmap 2.13.0",
|
|
3363
3425
|
"internment",
|
|
3364
3426
|
"itertools 0.12.1",
|
|
3365
3427
|
"lexical",
|
|
@@ -3557,6 +3619,26 @@ dependencies = [
|
|
|
3557
3619
|
"bitflags 2.10.0",
|
|
3558
3620
|
]
|
|
3559
3621
|
|
|
3622
|
+
[[package]]
|
|
3623
|
+
name = "ref-cast"
|
|
3624
|
+
version = "1.0.25"
|
|
3625
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3626
|
+
checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
|
|
3627
|
+
dependencies = [
|
|
3628
|
+
"ref-cast-impl",
|
|
3629
|
+
]
|
|
3630
|
+
|
|
3631
|
+
[[package]]
|
|
3632
|
+
name = "ref-cast-impl"
|
|
3633
|
+
version = "1.0.25"
|
|
3634
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3635
|
+
checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
|
|
3636
|
+
dependencies = [
|
|
3637
|
+
"proc-macro2",
|
|
3638
|
+
"quote",
|
|
3639
|
+
"syn 2.0.114",
|
|
3640
|
+
]
|
|
3641
|
+
|
|
3560
3642
|
[[package]]
|
|
3561
3643
|
name = "regex"
|
|
3562
3644
|
version = "1.12.3"
|
|
@@ -3683,7 +3765,7 @@ version = "0.5.0"
|
|
|
3683
3765
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3684
3766
|
checksum = "0a440c858291b41a07ad12f55f5e067fe804f899a9e5d08ab2ef379228305740"
|
|
3685
3767
|
dependencies = [
|
|
3686
|
-
"indexmap",
|
|
3768
|
+
"indexmap 2.13.0",
|
|
3687
3769
|
"itertools 0.14.0",
|
|
3688
3770
|
"opentelemetry",
|
|
3689
3771
|
"optipy",
|
|
@@ -4002,6 +4084,30 @@ dependencies = [
|
|
|
4002
4084
|
"windows-sys 0.61.2",
|
|
4003
4085
|
]
|
|
4004
4086
|
|
|
4087
|
+
[[package]]
|
|
4088
|
+
name = "schemars"
|
|
4089
|
+
version = "0.9.0"
|
|
4090
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4091
|
+
checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
|
|
4092
|
+
dependencies = [
|
|
4093
|
+
"dyn-clone",
|
|
4094
|
+
"ref-cast",
|
|
4095
|
+
"serde",
|
|
4096
|
+
"serde_json",
|
|
4097
|
+
]
|
|
4098
|
+
|
|
4099
|
+
[[package]]
|
|
4100
|
+
name = "schemars"
|
|
4101
|
+
version = "1.2.1"
|
|
4102
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4103
|
+
checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
|
|
4104
|
+
dependencies = [
|
|
4105
|
+
"dyn-clone",
|
|
4106
|
+
"ref-cast",
|
|
4107
|
+
"serde",
|
|
4108
|
+
"serde_json",
|
|
4109
|
+
]
|
|
4110
|
+
|
|
4005
4111
|
[[package]]
|
|
4006
4112
|
name = "scoped-tls"
|
|
4007
4113
|
version = "1.0.1"
|
|
@@ -4114,6 +4220,17 @@ dependencies = [
|
|
|
4114
4220
|
"serde_core",
|
|
4115
4221
|
]
|
|
4116
4222
|
|
|
4223
|
+
[[package]]
|
|
4224
|
+
name = "serde_repr"
|
|
4225
|
+
version = "0.1.20"
|
|
4226
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4227
|
+
checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
|
|
4228
|
+
dependencies = [
|
|
4229
|
+
"proc-macro2",
|
|
4230
|
+
"quote",
|
|
4231
|
+
"syn 2.0.114",
|
|
4232
|
+
]
|
|
4233
|
+
|
|
4117
4234
|
[[package]]
|
|
4118
4235
|
name = "serde_spanned"
|
|
4119
4236
|
version = "0.6.9"
|
|
@@ -4144,6 +4261,37 @@ dependencies = [
|
|
|
4144
4261
|
"serde",
|
|
4145
4262
|
]
|
|
4146
4263
|
|
|
4264
|
+
[[package]]
|
|
4265
|
+
name = "serde_with"
|
|
4266
|
+
version = "3.18.0"
|
|
4267
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4268
|
+
checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f"
|
|
4269
|
+
dependencies = [
|
|
4270
|
+
"base64 0.22.1",
|
|
4271
|
+
"chrono",
|
|
4272
|
+
"hex",
|
|
4273
|
+
"indexmap 1.9.3",
|
|
4274
|
+
"indexmap 2.13.0",
|
|
4275
|
+
"schemars 0.9.0",
|
|
4276
|
+
"schemars 1.2.1",
|
|
4277
|
+
"serde_core",
|
|
4278
|
+
"serde_json",
|
|
4279
|
+
"serde_with_macros",
|
|
4280
|
+
"time",
|
|
4281
|
+
]
|
|
4282
|
+
|
|
4283
|
+
[[package]]
|
|
4284
|
+
name = "serde_with_macros"
|
|
4285
|
+
version = "3.18.0"
|
|
4286
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4287
|
+
checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65"
|
|
4288
|
+
dependencies = [
|
|
4289
|
+
"darling 0.23.0",
|
|
4290
|
+
"proc-macro2",
|
|
4291
|
+
"quote",
|
|
4292
|
+
"syn 2.0.114",
|
|
4293
|
+
]
|
|
4294
|
+
|
|
4147
4295
|
[[package]]
|
|
4148
4296
|
name = "sha1"
|
|
4149
4297
|
version = "0.10.6"
|
|
@@ -4734,7 +4882,7 @@ version = "0.9.11+spec-1.1.0"
|
|
|
4734
4882
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4735
4883
|
checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46"
|
|
4736
4884
|
dependencies = [
|
|
4737
|
-
"indexmap",
|
|
4885
|
+
"indexmap 2.13.0",
|
|
4738
4886
|
"serde_core",
|
|
4739
4887
|
"serde_spanned 1.0.4",
|
|
4740
4888
|
"toml_datetime 0.7.5+spec-1.1.0",
|
|
@@ -4767,7 +4915,7 @@ version = "0.19.15"
|
|
|
4767
4915
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4768
4916
|
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
|
|
4769
4917
|
dependencies = [
|
|
4770
|
-
"indexmap",
|
|
4918
|
+
"indexmap 2.13.0",
|
|
4771
4919
|
"serde",
|
|
4772
4920
|
"serde_spanned 0.6.9",
|
|
4773
4921
|
"toml_datetime 0.6.11",
|
|
@@ -4780,7 +4928,7 @@ version = "0.22.27"
|
|
|
4780
4928
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4781
4929
|
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
|
|
4782
4930
|
dependencies = [
|
|
4783
|
-
"indexmap",
|
|
4931
|
+
"indexmap 2.13.0",
|
|
4784
4932
|
"serde",
|
|
4785
4933
|
"serde_spanned 0.6.9",
|
|
4786
4934
|
"toml_datetime 0.6.11",
|
|
@@ -4794,7 +4942,7 @@ version = "0.23.10+spec-1.0.0"
|
|
|
4794
4942
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4795
4943
|
checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
|
|
4796
4944
|
dependencies = [
|
|
4797
|
-
"indexmap",
|
|
4945
|
+
"indexmap 2.13.0",
|
|
4798
4946
|
"toml_datetime 0.7.5+spec-1.1.0",
|
|
4799
4947
|
"toml_parser",
|
|
4800
4948
|
"toml_writer",
|
|
@@ -4894,7 +5042,7 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
|
|
|
4894
5042
|
dependencies = [
|
|
4895
5043
|
"futures-core",
|
|
4896
5044
|
"futures-util",
|
|
4897
|
-
"indexmap",
|
|
5045
|
+
"indexmap 2.13.0",
|
|
4898
5046
|
"pin-project-lite",
|
|
4899
5047
|
"slab",
|
|
4900
5048
|
"sync_wrapper",
|
|
@@ -28,9 +28,9 @@ tracing-subscriber = { version = "0.3.19" }
|
|
|
28
28
|
optipy = "0.1.0"
|
|
29
29
|
pyo3-opentelemetry = "0.6.0"
|
|
30
30
|
pyo3-tracing-subscriber = { version = "0.4.0", default-features = false }
|
|
31
|
-
qcs-api-client-common = "0.
|
|
32
|
-
qcs-api-client-grpc = "0.
|
|
33
|
-
qcs-api-client-openapi = "0.
|
|
31
|
+
qcs-api-client-common = "0.17.0"
|
|
32
|
+
qcs-api-client-grpc = "0.17.0"
|
|
33
|
+
qcs-api-client-openapi = "0.18.0"
|
|
34
34
|
quil-rs = "0.35.0"
|
|
35
35
|
rigetti-pyo3 = "0.5.0"
|
|
36
36
|
|
|
@@ -1,3 +1,57 @@
|
|
|
1
|
+
## 0.26.1 (2026-03-30)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- upgrade qcs-api-client dependencies (#581)
|
|
6
|
+
|
|
7
|
+
### Fixes
|
|
8
|
+
|
|
9
|
+
- selecting an accessor should not prefer None to Some({ rank: None }) (#579)
|
|
10
|
+
- use gzip compression for grpc (#526)
|
|
11
|
+
|
|
12
|
+
## 0.26.1-rc.2 (2026-03-30)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- upgrade qcs-api-client dependencies (#581)
|
|
17
|
+
|
|
18
|
+
### Fixes
|
|
19
|
+
|
|
20
|
+
- selecting an accessor should not prefer None to Some({ rank: None }) (#579)
|
|
21
|
+
- use gzip compression for grpc (#526)
|
|
22
|
+
|
|
23
|
+
## 0.26.1-rc.1 (2026-03-20)
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
- upgrade qcs-api-client dependencies (#581)
|
|
28
|
+
|
|
29
|
+
### Fixes
|
|
30
|
+
|
|
31
|
+
- selecting an accessor should not prefer None to Some({ rank: None }) (#579)
|
|
32
|
+
|
|
33
|
+
## 0.26.1-rc.0 (2026-03-17)
|
|
34
|
+
|
|
35
|
+
### Fixes
|
|
36
|
+
|
|
37
|
+
- selecting an accessor should not prefer None to Some({ rank: None }) (#579)
|
|
38
|
+
|
|
39
|
+
## 0.26.0 (2026-03-13)
|
|
40
|
+
|
|
41
|
+
### Breaking Changes
|
|
42
|
+
|
|
43
|
+
- merge python crate into lib (#571)
|
|
44
|
+
|
|
45
|
+
### Features
|
|
46
|
+
|
|
47
|
+
- allow direct endpoint connection strategy (#573)
|
|
48
|
+
|
|
49
|
+
### Fixes
|
|
50
|
+
|
|
51
|
+
- update qcs-api-client dependencies to 0.12.12, (0.13.13 grpc) (#570)
|
|
52
|
+
- elide version value from python stub files (#575)
|
|
53
|
+
- bump qcs-api-client versions to support gateway (#576)
|
|
54
|
+
|
|
1
55
|
## 0.26.0-rc.3 (2026-03-13)
|
|
2
56
|
|
|
3
57
|
### Breaking Changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "qcs"
|
|
3
3
|
description = "High level interface for running Quil on a QPU"
|
|
4
|
-
version = "0.26.
|
|
4
|
+
version = "0.26.1"
|
|
5
5
|
edition = "2018"
|
|
6
6
|
license = "Apache-2.0"
|
|
7
7
|
repository = "https://github.com/rigetti/qcs-sdk-rust"
|
|
@@ -88,7 +88,7 @@ thiserror.workspace = true
|
|
|
88
88
|
tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
|
|
89
89
|
tokio-util = { workspace = true }
|
|
90
90
|
toml = "0.9.8"
|
|
91
|
-
tonic = { version = "0.13.1", features = ["tls-aws-lc", "tls-native-roots"] }
|
|
91
|
+
tonic = { version = "0.13.1", features = ["tls-aws-lc", "tls-native-roots", "gzip"] }
|
|
92
92
|
uuid = { version = "1.10.0", features = ["v4"] }
|
|
93
93
|
zmq = { version = "0.10.0" }
|
|
94
94
|
|
|
@@ -81,7 +81,7 @@ pub enum Error {
|
|
|
81
81
|
"The number of nodes for an operation and site_operation must be (1, 1) or (2, 2). \
|
|
82
82
|
Got {0:?} while parsing operation {1} at site {2:?}"
|
|
83
83
|
)]
|
|
84
|
-
IncorrectNodes((Option<
|
|
84
|
+
IncorrectNodes((Option<u64>, usize), String, Vec<i64>),
|
|
85
85
|
#[error(transparent)]
|
|
86
86
|
Qubit(#[from] qubit::Error),
|
|
87
87
|
#[error(transparent)]
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
//! This module provides access to the QCS QPU API
|
|
2
2
|
use std::{convert::TryFrom, fmt, time::Duration};
|
|
3
3
|
|
|
4
|
+
use tonic::codec::CompressionEncoding;
|
|
5
|
+
|
|
4
6
|
#[cfg(feature = "stubs")]
|
|
5
7
|
use pyo3_stub_gen::derive::{gen_stub_pyclass, gen_stub_pyclass_complex_enum, gen_stub_pymethods};
|
|
6
8
|
|
|
@@ -30,16 +32,19 @@ use qcs_api_client_grpc::{
|
|
|
30
32
|
tonic::{parse_uri, wrap_channel_with, wrap_channel_with_retry},
|
|
31
33
|
};
|
|
32
34
|
pub use qcs_api_client_openapi::apis::Error as OpenApiError;
|
|
33
|
-
use qcs_api_client_openapi::
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
use qcs_api_client_openapi::models::QuantumProcessorAccessorType;
|
|
36
|
+
use qcs_api_client_openapi::{
|
|
37
|
+
apis::{
|
|
38
|
+
endpoints_api::{
|
|
39
|
+
get_default_endpoint as api_get_default_endpoint, get_endpoint,
|
|
40
|
+
GetDefaultEndpointError, GetEndpointError,
|
|
41
|
+
},
|
|
42
|
+
quantum_processors_api::{
|
|
43
|
+
get_quantum_processor_accessors, GetQuantumProcessorAccessorsError,
|
|
44
|
+
},
|
|
40
45
|
},
|
|
46
|
+
models::QuantumProcessorAccessor,
|
|
41
47
|
};
|
|
42
|
-
use qcs_api_client_openapi::models::QuantumProcessorAccessorType;
|
|
43
48
|
|
|
44
49
|
use crate::executable::Parameters;
|
|
45
50
|
|
|
@@ -624,7 +629,9 @@ pub trait ExecutionTarget<'a> {
|
|
|
624
629
|
.max_encoding_message_size(MAX_CONTROLLER_OUTBOUND_REQUEST_SIZE)
|
|
625
630
|
// do not limit the received response size, although practically the limit is 4Gb due
|
|
626
631
|
// to the frame_length of the message being a u32.
|
|
627
|
-
.max_decoding_message_size(u32::MAX as usize)
|
|
632
|
+
.max_decoding_message_size(u32::MAX as usize)
|
|
633
|
+
.accept_compressed(CompressionEncoding::Gzip)
|
|
634
|
+
.send_compressed(CompressionEncoding::Gzip))
|
|
628
635
|
}
|
|
629
636
|
|
|
630
637
|
/// Get a GRPC connection to a QPU, without specifying the API to use.
|
|
@@ -744,40 +751,28 @@ async fn get_accessor_with_cache(
|
|
|
744
751
|
}
|
|
745
752
|
|
|
746
753
|
async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String, QpuApiError> {
|
|
747
|
-
let
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
&client.get_openapi_client(),
|
|
752
|
-
quantum_processor_id,
|
|
753
|
-
Some(100),
|
|
754
|
-
next_page_token.as_deref(),
|
|
755
|
-
)
|
|
756
|
-
.await?;
|
|
754
|
+
let accessors =
|
|
755
|
+
get_quantum_processor_accessors(&client.get_openapi_client(), quantum_processor_id).await?;
|
|
756
|
+
|
|
757
|
+
let min = select_min_accessor(accessors.accessors);
|
|
757
758
|
|
|
758
|
-
let accessor = accessors
|
|
759
|
-
.accessors
|
|
760
|
-
.into_iter()
|
|
761
|
-
.filter(|acc| {
|
|
762
|
-
acc.live
|
|
763
|
-
// `as_deref` needed to work around the `Option<Box<_>>` type.
|
|
764
|
-
&& acc.access_type.as_deref() == Some(&QuantumProcessorAccessorType::GatewayV1)
|
|
765
|
-
})
|
|
766
|
-
.min_by_key(|acc| acc.rank.unwrap_or(i64::MAX));
|
|
767
|
-
|
|
768
|
-
min = std::cmp::min_by_key(min, accessor, |acc| {
|
|
769
|
-
acc.as_ref().and_then(|acc| acc.rank).unwrap_or(i64::MAX)
|
|
770
|
-
});
|
|
771
|
-
|
|
772
|
-
next_page_token.clone_from(&accessors.next_page_token);
|
|
773
|
-
if next_page_token.is_none() {
|
|
774
|
-
break;
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
759
|
min.map(|accessor| accessor.url)
|
|
778
760
|
.ok_or_else(|| QpuApiError::GatewayNotFound(quantum_processor_id.to_string()))
|
|
779
761
|
}
|
|
780
762
|
|
|
763
|
+
/// Select the accessor with the lowest rank from a list of accessors.
|
|
764
|
+
/// - Prefer `Some({ rank: None })` to `None`.
|
|
765
|
+
/// - Prefer the first accessor encountered among those with the same rank value.
|
|
766
|
+
fn select_min_accessor(
|
|
767
|
+
accessors: Vec<QuantumProcessorAccessor>,
|
|
768
|
+
) -> Option<QuantumProcessorAccessor> {
|
|
769
|
+
accessors
|
|
770
|
+
.into_iter()
|
|
771
|
+
.filter(|accessor| accessor.live)
|
|
772
|
+
.filter(|accessor| accessor.access_type == QuantumProcessorAccessorType::GatewayV1)
|
|
773
|
+
.min_by_key(|accessor| accessor.rank.unwrap_or(i64::MAX))
|
|
774
|
+
}
|
|
775
|
+
|
|
781
776
|
#[cached(
|
|
782
777
|
result = true,
|
|
783
778
|
time = 60,
|
|
@@ -801,11 +796,10 @@ async fn get_default_endpoint(
|
|
|
801
796
|
) -> Result<String, QpuApiError> {
|
|
802
797
|
let default_endpoint =
|
|
803
798
|
api_get_default_endpoint(&client.get_openapi_client(), quantum_processor_id).await?;
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
799
|
+
default_endpoint
|
|
800
|
+
.addresses
|
|
801
|
+
.grpc
|
|
807
802
|
.ok_or_else(|| QpuApiError::QpuEndpointNotFound(quantum_processor_id.into()))
|
|
808
|
-
.cloned()
|
|
809
803
|
}
|
|
810
804
|
|
|
811
805
|
/// Errors that can occur while attempting to establish a connection to the QPU.
|
|
@@ -829,7 +823,7 @@ pub enum QpuApiError {
|
|
|
829
823
|
|
|
830
824
|
/// Error due to failure to get accessors for quantum processor
|
|
831
825
|
#[error("Failed to get accessors for quantum processor: {0}")]
|
|
832
|
-
AccessorRequestFailed(#[from] OpenApiError<
|
|
826
|
+
AccessorRequestFailed(#[from] OpenApiError<GetQuantumProcessorAccessorsError>),
|
|
833
827
|
|
|
834
828
|
/// Error due to failure to find gateway for quantum processor
|
|
835
829
|
#[error("No gateway found for quantum processor: {0}")]
|
|
@@ -877,9 +871,7 @@ pub enum QpuApiError {
|
|
|
877
871
|
|
|
878
872
|
#[cfg(test)]
|
|
879
873
|
mod test {
|
|
880
|
-
use
|
|
881
|
-
|
|
882
|
-
use super::ExecutionOptionsBuilder;
|
|
874
|
+
use super::*;
|
|
883
875
|
|
|
884
876
|
#[test]
|
|
885
877
|
fn test_default_execution_options() {
|
|
@@ -888,4 +880,18 @@ mod test {
|
|
|
888
880
|
ExecutionOptionsBuilder::default().build().unwrap(),
|
|
889
881
|
);
|
|
890
882
|
}
|
|
883
|
+
|
|
884
|
+
#[test]
|
|
885
|
+
fn test_select_min_accessor_prefers_some_to_none() {
|
|
886
|
+
let expected = QuantumProcessorAccessor {
|
|
887
|
+
live: true,
|
|
888
|
+
access_type: QuantumProcessorAccessorType::GatewayV1,
|
|
889
|
+
rank: None,
|
|
890
|
+
url: "url".to_string(),
|
|
891
|
+
};
|
|
892
|
+
|
|
893
|
+
let accessors = vec![expected.clone()];
|
|
894
|
+
let actual = select_min_accessor(accessors);
|
|
895
|
+
assert_eq!(expected, actual.expect("expected Some accessor"));
|
|
896
|
+
}
|
|
891
897
|
}
|