qcs-sdk-python 0.16.5__tar.gz → 0.17.0rc0__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.16.5 → qcs_sdk_python-0.17.0rc0}/Cargo.lock +31 -6
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/Cargo.toml +2 -2
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/PKG-INFO +1 -1
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/CHANGELOG.md +14 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/Cargo.toml +1 -1
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/executable.rs +1 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/execution.rs +2 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/translation.rs +33 -26
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/mocked_qpu.rs +14 -1
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/CHANGELOG.md +14 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/Cargo.toml +1 -1
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/translation.pyi +7 -34
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/translation.rs +9 -41
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_translation.py +2 -2
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/pyproject.toml +2 -2
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/translation.pyi +7 -34
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/README.md +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/Makefile.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/README.md +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/build.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/execute.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/libquil.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/local.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/parametric_compilation.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/quil_t.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/bin/diagnostics.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/client.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/isa/edge.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/isa/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/isa/operator.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/isa/qubit.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/libquil.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/quilc.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/compiler/rpcq.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/diagnostics.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/execution_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/lib.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/api.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/result_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/rewrite_arithmetic.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/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.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions-2.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_set_scale_units.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/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.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_gate_parameters.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qvm/execution.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qvm/http.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qvm/libquil.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qvm/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/src/register_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/aspen_9_isa.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/basic_qvm.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/bell_state_response_data.hex +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/parametric_compilation.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/qvm_api.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/qvm_isa.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/secrets.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/settings.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/.flake8 +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/.stubtest-allowlist +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/Makefile.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/README.md +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/build.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/poetry.lock +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/client.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/client.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/compiler/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/compiler/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/compiler/quilc.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/diagnostics.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/py.typed +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/api.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/isa.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/rewrite_arithmetic.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qvm/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qvm/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qvm/api.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/client.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/compiler/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/compiler/quilc.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/executable.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/execution_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/from_py.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/grpc/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/grpc/models/controller.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/grpc/models/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/lib.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/py_sync.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/api.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/isa.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/result_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/rewrite_arithmetic.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qvm/api.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qvm/mod.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/register_data.rs +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_fixtures/aspen-m-3.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_fixtures/device-2q.json +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_qcs_config/secrets.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_qcs_config/settings.toml +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/compiler/__snapshots__/test_quilc.ambr +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/compiler/test_quilc.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/conftest.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/execution_data/test_execution_data.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_api.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_isa.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_qpu.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_rewrite_arithmetic.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qvm/test_qvm.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/test_client.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/test_diagnostics.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/test_executable.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/test_logging.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/client.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/client.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/compiler/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/compiler/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/compiler/quilc.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/diagnostics.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/py.typed +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/api.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/isa.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qpu/rewrite_arithmetic.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qvm/__init__.py +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qvm/__init__.pyi +0 -0
- {qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/qcs_sdk/qvm/api.pyi +0 -0
|
@@ -380,6 +380,15 @@ version = "1.0.0"
|
|
|
380
380
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
381
381
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
382
382
|
|
|
383
|
+
[[package]]
|
|
384
|
+
name = "chrono"
|
|
385
|
+
version = "0.4.34"
|
|
386
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
387
|
+
checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
|
|
388
|
+
dependencies = [
|
|
389
|
+
"num-traits",
|
|
390
|
+
]
|
|
391
|
+
|
|
383
392
|
[[package]]
|
|
384
393
|
name = "clang-sys"
|
|
385
394
|
version = "0.29.3"
|
|
@@ -1817,6 +1826,21 @@ dependencies = [
|
|
|
1817
1826
|
"prost-types",
|
|
1818
1827
|
]
|
|
1819
1828
|
|
|
1829
|
+
[[package]]
|
|
1830
|
+
name = "pbjson-types"
|
|
1831
|
+
version = "0.5.1"
|
|
1832
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1833
|
+
checksum = "4a88c8d87f99a4ac14325e7a4c24af190fca261956e3b82dd7ed67e77e6c7043"
|
|
1834
|
+
dependencies = [
|
|
1835
|
+
"bytes",
|
|
1836
|
+
"chrono",
|
|
1837
|
+
"pbjson",
|
|
1838
|
+
"pbjson-build",
|
|
1839
|
+
"prost",
|
|
1840
|
+
"prost-build",
|
|
1841
|
+
"serde",
|
|
1842
|
+
]
|
|
1843
|
+
|
|
1820
1844
|
[[package]]
|
|
1821
1845
|
name = "peeking_take_while"
|
|
1822
1846
|
version = "0.1.2"
|
|
@@ -2054,7 +2078,7 @@ dependencies = [
|
|
|
2054
2078
|
|
|
2055
2079
|
[[package]]
|
|
2056
2080
|
name = "qcs"
|
|
2057
|
-
version = "0.
|
|
2081
|
+
version = "0.21.0-rc.0"
|
|
2058
2082
|
dependencies = [
|
|
2059
2083
|
"assert2",
|
|
2060
2084
|
"async-trait",
|
|
@@ -2135,9 +2159,9 @@ dependencies = [
|
|
|
2135
2159
|
|
|
2136
2160
|
[[package]]
|
|
2137
2161
|
name = "qcs-api-client-grpc"
|
|
2138
|
-
version = "0.7.
|
|
2162
|
+
version = "0.7.10"
|
|
2139
2163
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2140
|
-
checksum = "
|
|
2164
|
+
checksum = "5639253e10f82014f416fdcc91c0aec0f4e276d81ebd8fdaca1b7277ba2269ad"
|
|
2141
2165
|
dependencies = [
|
|
2142
2166
|
"http",
|
|
2143
2167
|
"http-body",
|
|
@@ -2149,6 +2173,7 @@ dependencies = [
|
|
|
2149
2173
|
"opentelemetry_api",
|
|
2150
2174
|
"pbjson",
|
|
2151
2175
|
"pbjson-build",
|
|
2176
|
+
"pbjson-types",
|
|
2152
2177
|
"prost",
|
|
2153
2178
|
"prost-build",
|
|
2154
2179
|
"qcs-api-client-common",
|
|
@@ -2164,9 +2189,9 @@ dependencies = [
|
|
|
2164
2189
|
|
|
2165
2190
|
[[package]]
|
|
2166
2191
|
name = "qcs-api-client-openapi"
|
|
2167
|
-
version = "0.8.
|
|
2192
|
+
version = "0.8.10"
|
|
2168
2193
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2169
|
-
checksum = "
|
|
2194
|
+
checksum = "a4e51ee4c7359a1226ea601d3f080d4664d141a9b28dd7d2a3abb548ff100e44"
|
|
2170
2195
|
dependencies = [
|
|
2171
2196
|
"anyhow",
|
|
2172
2197
|
"qcs-api-client-common",
|
|
@@ -2183,7 +2208,7 @@ dependencies = [
|
|
|
2183
2208
|
|
|
2184
2209
|
[[package]]
|
|
2185
2210
|
name = "qcs-sdk-python"
|
|
2186
|
-
version = "0.
|
|
2211
|
+
version = "0.17.0-rc.0"
|
|
2187
2212
|
dependencies = [
|
|
2188
2213
|
"async-trait",
|
|
2189
2214
|
"numpy",
|
|
@@ -5,8 +5,8 @@ resolver = "2"
|
|
|
5
5
|
[workspace.dependencies]
|
|
6
6
|
qcs-api = "0.2.1"
|
|
7
7
|
qcs-api-client-common = "0.7.9"
|
|
8
|
-
qcs-api-client-grpc = "0.7.
|
|
9
|
-
qcs-api-client-openapi = "0.8.
|
|
8
|
+
qcs-api-client-grpc = "0.7.10"
|
|
9
|
+
qcs-api-client-openapi = "0.8.10"
|
|
10
10
|
serde_json = "1.0.86"
|
|
11
11
|
thiserror = "1.0.37"
|
|
12
12
|
tokio = "1.34.0"
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.21.0-rc.0
|
|
2
|
+
|
|
3
|
+
### Breaking Changes
|
|
4
|
+
|
|
5
|
+
- The calibration program is now from
|
|
6
|
+
`get_quilt_calibrations` as a string. The error variants have also been
|
|
7
|
+
slightly modified.
|
|
8
|
+
|
|
9
|
+
* simplify error map
|
|
10
|
+
|
|
11
|
+
* cleanup test
|
|
12
|
+
|
|
13
|
+
* put calibration in mock calibration program
|
|
14
|
+
|
|
1
15
|
## 0.20.6
|
|
2
16
|
|
|
3
17
|
### Features
|
|
@@ -715,6 +715,7 @@ impl From<ExecutionError> for Error {
|
|
|
715
715
|
ExecutionError::Unexpected(inner) => Self::Unexpected(format!("{inner:?}")),
|
|
716
716
|
ExecutionError::Quilc { .. } => Self::Connection(Service::Quilc),
|
|
717
717
|
ExecutionError::QcsClient(v) => Self::Unexpected(format!("{v:?}")),
|
|
718
|
+
ExecutionError::Translation(v) => Self::Translation(v.to_string()),
|
|
718
719
|
ExecutionError::Isa(v) => Self::Unexpected(format!("{v:?}")),
|
|
719
720
|
ExecutionError::ReadoutParse(v) => Self::Unexpected(format!("{v:?}")),
|
|
720
721
|
ExecutionError::Quil(e) => Self::Quil(e),
|
|
@@ -51,6 +51,8 @@ pub(crate) enum Error {
|
|
|
51
51
|
Quilc { uri: String, details: String },
|
|
52
52
|
#[error("Problem using QCS API: {0}")]
|
|
53
53
|
QcsClient(#[from] GrpcClientError),
|
|
54
|
+
#[error(transparent)]
|
|
55
|
+
Translation(#[from] super::translation::Error),
|
|
54
56
|
#[error("Problem fetching ISA: {0}")]
|
|
55
57
|
Isa(#[from] GetIsaError),
|
|
56
58
|
#[error("Problem parsing memory readout: {0}")]
|
|
@@ -8,17 +8,25 @@ use qcs_api_client_grpc::{
|
|
|
8
8
|
services::translation::{
|
|
9
9
|
translate_quil_to_encrypted_controller_job_request::NumShots,
|
|
10
10
|
translation_options::TranslationBackend, BackendV1Options, BackendV2Options,
|
|
11
|
+
GetQuantumProcessorQuilCalibrationProgramRequest,
|
|
11
12
|
TranslateQuilToEncryptedControllerJobRequest, TranslationOptions as ApiTranslationOptions,
|
|
12
13
|
},
|
|
13
14
|
};
|
|
14
|
-
use qcs_api_client_openapi::{
|
|
15
|
-
apis::{translation_api, Error as OpenAPIError},
|
|
16
|
-
models::GetQuiltCalibrationsResponse,
|
|
17
|
-
};
|
|
18
15
|
use tokio::time::error::Elapsed;
|
|
19
16
|
|
|
20
17
|
use crate::client::{GrpcClientError, Qcs, DEFAULT_HTTP_API_TIMEOUT};
|
|
21
18
|
|
|
19
|
+
/// Errors that can occur when making a request to translation service.
|
|
20
|
+
#[derive(Debug, thiserror::Error)]
|
|
21
|
+
pub enum Error {
|
|
22
|
+
/// Error due to gRPC client
|
|
23
|
+
#[error(transparent)]
|
|
24
|
+
Grpc(#[from] GrpcClientError),
|
|
25
|
+
/// Error due to client timeout
|
|
26
|
+
#[error("Client configured timeout exceeded")]
|
|
27
|
+
ClientTimeout(#[from] Elapsed),
|
|
28
|
+
}
|
|
29
|
+
|
|
22
30
|
/// An encrypted and translated program, along with `readout_map`
|
|
23
31
|
/// to map job `readout_data` back to program-declared variables.
|
|
24
32
|
#[derive(Debug)]
|
|
@@ -40,7 +48,7 @@ pub async fn translate<TO>(
|
|
|
40
48
|
num_shots: u32,
|
|
41
49
|
client: &Qcs,
|
|
42
50
|
translation_options: Option<TO>,
|
|
43
|
-
) -> Result<EncryptedTranslationResult,
|
|
51
|
+
) -> Result<EncryptedTranslationResult, Error>
|
|
44
52
|
where
|
|
45
53
|
TO: Into<ApiTranslationOptions>,
|
|
46
54
|
{
|
|
@@ -61,9 +69,11 @@ where
|
|
|
61
69
|
};
|
|
62
70
|
|
|
63
71
|
let response = client
|
|
64
|
-
.get_translation_client()
|
|
72
|
+
.get_translation_client()
|
|
73
|
+
.map_err(GrpcClientError::from)?
|
|
65
74
|
.translate_quil_to_encrypted_controller_job(request)
|
|
66
|
-
.await
|
|
75
|
+
.await
|
|
76
|
+
.map_err(GrpcClientError::from)?
|
|
67
77
|
.into_inner();
|
|
68
78
|
|
|
69
79
|
Ok(EncryptedTranslationResult {
|
|
@@ -77,36 +87,33 @@ where
|
|
|
77
87
|
})
|
|
78
88
|
}
|
|
79
89
|
|
|
80
|
-
/// API Errors encountered when trying to get Quil-T calibrations.
|
|
81
|
-
#[derive(Debug, thiserror::Error)]
|
|
82
|
-
pub enum GetQuiltCalibrationsError {
|
|
83
|
-
/// Failed the http call
|
|
84
|
-
#[error("Failed to get Quil-T calibrations via API: {0}")]
|
|
85
|
-
ApiError(#[from] OpenAPIError<translation_api::GetQuiltCalibrationsError>),
|
|
86
|
-
|
|
87
|
-
/// API call did not finish before timeout
|
|
88
|
-
#[error("API call did not finish before timeout.")]
|
|
89
|
-
TimeoutError(#[from] Elapsed),
|
|
90
|
-
}
|
|
91
|
-
|
|
92
90
|
/// Query the QCS API for Quil-T calibrations.
|
|
93
91
|
/// If `None`, the default `timeout` used is 10 seconds.
|
|
94
92
|
pub async fn get_quilt_calibrations(
|
|
95
|
-
quantum_processor_id:
|
|
93
|
+
quantum_processor_id: String,
|
|
96
94
|
client: &Qcs,
|
|
97
95
|
timeout: Option<Duration>,
|
|
98
|
-
) -> Result<
|
|
96
|
+
) -> Result<String, Error> {
|
|
99
97
|
#[cfg(feature = "tracing")]
|
|
100
98
|
tracing::debug!("getting Quil-T calibrations for {}", quantum_processor_id);
|
|
101
99
|
|
|
102
100
|
let timeout = timeout.unwrap_or(DEFAULT_HTTP_API_TIMEOUT);
|
|
103
101
|
|
|
102
|
+
let mut translation_client = client
|
|
103
|
+
.get_translation_client()
|
|
104
|
+
.map_err(GrpcClientError::from)?;
|
|
105
|
+
|
|
104
106
|
tokio::time::timeout(timeout, async move {
|
|
105
|
-
Ok(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
Ok(translation_client
|
|
108
|
+
.get_quantum_processor_quil_calibration_program(
|
|
109
|
+
GetQuantumProcessorQuilCalibrationProgramRequest {
|
|
110
|
+
quantum_processor_id,
|
|
111
|
+
},
|
|
112
|
+
)
|
|
113
|
+
.await
|
|
114
|
+
.map_err(GrpcClientError::from)?
|
|
115
|
+
.into_inner()
|
|
116
|
+
.quil_calibration_program)
|
|
110
117
|
})
|
|
111
118
|
.await?
|
|
112
119
|
}
|
|
@@ -244,7 +244,9 @@ mod translation {
|
|
|
244
244
|
Translation, TranslationServer,
|
|
245
245
|
};
|
|
246
246
|
use qcs_api_client_grpc::services::translation::{
|
|
247
|
-
|
|
247
|
+
GetQuantumProcessorQuilCalibrationProgramRequest, QuantumProcessorQuilCalibrationProgram,
|
|
248
|
+
TranslateQuilToEncryptedControllerJobRequest,
|
|
249
|
+
TranslateQuilToEncryptedControllerJobResponse,
|
|
248
250
|
};
|
|
249
251
|
use tonic::{transport::Server, Request};
|
|
250
252
|
use tonic::{Response, Status};
|
|
@@ -273,6 +275,17 @@ mod translation {
|
|
|
273
275
|
},
|
|
274
276
|
))
|
|
275
277
|
}
|
|
278
|
+
|
|
279
|
+
async fn get_quantum_processor_quil_calibration_program(
|
|
280
|
+
&self,
|
|
281
|
+
_request: Request<GetQuantumProcessorQuilCalibrationProgramRequest>,
|
|
282
|
+
) -> Result<Response<QuantumProcessorQuilCalibrationProgram>, Status> {
|
|
283
|
+
Ok(Response::new(QuantumProcessorQuilCalibrationProgram {
|
|
284
|
+
quil_calibration_program:
|
|
285
|
+
"DEFCAL X 0:\nPULSE 0 \"xy\" gaussian(duration: 1, fwhm: 2, t0: 3)\n"
|
|
286
|
+
.to_string(),
|
|
287
|
+
}))
|
|
288
|
+
}
|
|
276
289
|
}
|
|
277
290
|
|
|
278
291
|
pub(crate) async fn run() {
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.17.0-rc.0
|
|
2
|
+
|
|
3
|
+
### Breaking Changes
|
|
4
|
+
|
|
5
|
+
- The calibration program is now from
|
|
6
|
+
`get_quilt_calibrations` as a string. The error variants have also been
|
|
7
|
+
slightly modified.
|
|
8
|
+
|
|
9
|
+
* simplify error map
|
|
10
|
+
|
|
11
|
+
* cleanup test
|
|
12
|
+
|
|
13
|
+
* put calibration in mock calibration program
|
|
14
|
+
|
|
1
15
|
## 0.16.5
|
|
2
16
|
|
|
3
17
|
### Features
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/translation.pyi
RENAMED
|
@@ -3,33 +3,11 @@ from enum import Enum, auto
|
|
|
3
3
|
|
|
4
4
|
from qcs_sdk.client import QCSClient
|
|
5
5
|
|
|
6
|
-
class GetQuiltCalibrationsError(RuntimeError):
|
|
7
|
-
"""An error occured while fetching Quil-T calibrations."""
|
|
8
|
-
|
|
9
|
-
...
|
|
10
|
-
|
|
11
6
|
class TranslationError(RuntimeError):
|
|
12
|
-
"""
|
|
7
|
+
"""Errors that can occur while using the translation module."""
|
|
13
8
|
|
|
14
9
|
...
|
|
15
10
|
|
|
16
|
-
@final
|
|
17
|
-
class QuiltCalibrations:
|
|
18
|
-
"""Result of `get_quilt_calibrations`."""
|
|
19
|
-
|
|
20
|
-
@property
|
|
21
|
-
def quilt(self) -> str:
|
|
22
|
-
"""Calibrations suitable for use in a Quil-T program."""
|
|
23
|
-
...
|
|
24
|
-
@quilt.setter
|
|
25
|
-
def quilt(self, value: str): ...
|
|
26
|
-
@property
|
|
27
|
-
def settings_timestamp(self) -> Optional[str]:
|
|
28
|
-
"""ISO8601 timestamp of the settings used to generate these calibrations."""
|
|
29
|
-
...
|
|
30
|
-
@settings_timestamp.setter
|
|
31
|
-
def settings_timestamp(self, value: Optional[str]): ...
|
|
32
|
-
|
|
33
11
|
@final
|
|
34
12
|
class TranslationResult:
|
|
35
13
|
"""
|
|
@@ -45,7 +23,6 @@ class TranslationResult:
|
|
|
45
23
|
"""A mapping from the program's memory references to the key used to index the results map."""
|
|
46
24
|
...
|
|
47
25
|
|
|
48
|
-
|
|
49
26
|
@final
|
|
50
27
|
class TranslationBackend(Enum):
|
|
51
28
|
V1 = auto()
|
|
@@ -55,7 +32,7 @@ def get_quilt_calibrations(
|
|
|
55
32
|
quantum_processor_id: str,
|
|
56
33
|
client: Optional[QCSClient] = None,
|
|
57
34
|
timeout: Optional[float] = None,
|
|
58
|
-
) ->
|
|
35
|
+
) -> str:
|
|
59
36
|
"""
|
|
60
37
|
Retrieve the calibration data used for client-side Quil-T generation.
|
|
61
38
|
|
|
@@ -63,10 +40,10 @@ def get_quilt_calibrations(
|
|
|
63
40
|
:param client: The ``QCSClient`` to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
|
|
64
41
|
:param timeout: Maximum duration to wait for API calls to complete, in seconds.
|
|
65
42
|
|
|
66
|
-
:returns
|
|
43
|
+
:returns str: The Quil calibration program for the requested quantum processor.
|
|
67
44
|
|
|
68
45
|
:raises LoadClientError: If there is an issue loading the QCS Client configuration.
|
|
69
|
-
:raises
|
|
46
|
+
:raises TranslationError: If there was a problem fetching Quil-T calibrations.
|
|
70
47
|
"""
|
|
71
48
|
...
|
|
72
49
|
|
|
@@ -74,7 +51,7 @@ async def get_quilt_calibrations_async(
|
|
|
74
51
|
quantum_processor_id: str,
|
|
75
52
|
client: Optional[QCSClient] = None,
|
|
76
53
|
timeout: Optional[float] = None,
|
|
77
|
-
) ->
|
|
54
|
+
) -> str:
|
|
78
55
|
"""
|
|
79
56
|
Retrieve the calibration data used for client-side Quil-T generation.
|
|
80
57
|
(async analog of ``get_quilt_calibrations``)
|
|
@@ -83,10 +60,10 @@ async def get_quilt_calibrations_async(
|
|
|
83
60
|
:param client: The ``QCSClient`` to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
|
|
84
61
|
:param timeout: Maximum duration to wait for API calls to complete, in seconds.
|
|
85
62
|
|
|
86
|
-
:returns
|
|
63
|
+
:returns str: The Quil calibration program for the requested quantum processor.
|
|
87
64
|
|
|
88
65
|
:raises LoadClientError: If there is an issue loading the QCS Client configuration.
|
|
89
|
-
:raises
|
|
66
|
+
:raises TranslationError: If there was a problem fetching Quil-T calibrations.
|
|
90
67
|
"""
|
|
91
68
|
...
|
|
92
69
|
|
|
@@ -146,23 +123,19 @@ class TranslationOptions:
|
|
|
146
123
|
"""
|
|
147
124
|
Get the selected translation backend
|
|
148
125
|
"""
|
|
149
|
-
|
|
150
126
|
def use_backend_v1(self) -> None:
|
|
151
127
|
"""
|
|
152
128
|
Use the v1 backend for translation, available on QCS since 2018.
|
|
153
129
|
"""
|
|
154
|
-
|
|
155
130
|
def use_backend_v2(self) -> None:
|
|
156
131
|
"""
|
|
157
132
|
Use the v2 backend for translation, available on QCS since 2023.
|
|
158
133
|
"""
|
|
159
|
-
|
|
160
134
|
@staticmethod
|
|
161
135
|
def v1() -> "TranslationOptions":
|
|
162
136
|
"""
|
|
163
137
|
Use the v1 backend for translation, available on QCS since 2018.
|
|
164
138
|
"""
|
|
165
|
-
|
|
166
139
|
@staticmethod
|
|
167
140
|
def v2(
|
|
168
141
|
*,
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
//! Translating programs.
|
|
2
2
|
use std::{collections::HashMap, time::Duration};
|
|
3
3
|
|
|
4
|
-
use pyo3::{
|
|
5
|
-
exceptions::PyRuntimeError, pyclass, pyfunction, pymethods, types::PyString, Py, PyResult,
|
|
6
|
-
};
|
|
7
|
-
use qcs::client::GrpcClientError;
|
|
4
|
+
use pyo3::{exceptions::PyRuntimeError, pyclass, pyfunction, pymethods, PyResult};
|
|
8
5
|
use qcs::qpu::translation::TranslationOptions;
|
|
9
6
|
use qcs_api_client_grpc::services::translation::translation_options::TranslationBackend as ApiTranslationBackend;
|
|
10
|
-
use
|
|
11
|
-
use rigetti_pyo3::{
|
|
12
|
-
create_init_submodule, py_wrap_data_struct, py_wrap_error, py_wrap_simple_enum, wrap_error,
|
|
13
|
-
ToPythonError,
|
|
14
|
-
};
|
|
7
|
+
use rigetti_pyo3::{create_init_submodule, py_wrap_error, py_wrap_simple_enum, ToPythonError};
|
|
15
8
|
|
|
16
9
|
use crate::py_sync::py_function_sync_async;
|
|
17
10
|
|
|
@@ -19,13 +12,11 @@ use crate::client::PyQcsClient;
|
|
|
19
12
|
|
|
20
13
|
create_init_submodule! {
|
|
21
14
|
classes: [
|
|
22
|
-
PyQuiltCalibrations,
|
|
23
15
|
PyTranslationOptions,
|
|
24
16
|
PyTranslationResult,
|
|
25
17
|
PyTranslationBackend
|
|
26
18
|
],
|
|
27
19
|
errors: [
|
|
28
|
-
GetQuiltCalibrationsError,
|
|
29
20
|
TranslationError
|
|
30
21
|
],
|
|
31
22
|
funcs: [
|
|
@@ -36,23 +27,6 @@ create_init_submodule! {
|
|
|
36
27
|
],
|
|
37
28
|
}
|
|
38
29
|
|
|
39
|
-
py_wrap_data_struct! {
|
|
40
|
-
PyQuiltCalibrations(GetQuiltCalibrationsResponse) as "QuiltCalibrations" {
|
|
41
|
-
quilt: String => Py<PyString>,
|
|
42
|
-
settings_timestamp: Option<String> => Option<Py<PyString>>
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
wrap_error!(RustGetQuiltCalibrationsError(
|
|
47
|
-
qcs::qpu::translation::GetQuiltCalibrationsError
|
|
48
|
-
));
|
|
49
|
-
py_wrap_error!(
|
|
50
|
-
translation,
|
|
51
|
-
RustGetQuiltCalibrationsError,
|
|
52
|
-
GetQuiltCalibrationsError,
|
|
53
|
-
PyRuntimeError
|
|
54
|
-
);
|
|
55
|
-
|
|
56
30
|
py_function_sync_async! {
|
|
57
31
|
/// Query the QCS API for Quil-T calibrations.
|
|
58
32
|
/// If `None`, the default `timeout` used is 10 seconds.
|
|
@@ -62,26 +36,20 @@ py_function_sync_async! {
|
|
|
62
36
|
quantum_processor_id: String,
|
|
63
37
|
client: Option<PyQcsClient>,
|
|
64
38
|
timeout: Option<f64>,
|
|
65
|
-
) -> PyResult<
|
|
39
|
+
) -> PyResult<String> {
|
|
66
40
|
let client = PyQcsClient::get_or_create_client(client).await;
|
|
67
41
|
let timeout = timeout.map(Duration::from_secs_f64);
|
|
68
|
-
qcs::qpu::translation::get_quilt_calibrations(
|
|
69
|
-
.await
|
|
70
|
-
.map(PyQuiltCalibrations::from)
|
|
71
|
-
.map_err(RustGetQuiltCalibrationsError::from)
|
|
72
|
-
.map_err(RustGetQuiltCalibrationsError::to_py_err)
|
|
42
|
+
qcs::qpu::translation::get_quilt_calibrations(quantum_processor_id, &client, timeout)
|
|
43
|
+
.await.map_err(RustTranslationError::from).map_err(RustTranslationError::to_py_err)
|
|
73
44
|
}
|
|
74
45
|
}
|
|
75
46
|
|
|
76
|
-
/// Errors that can happen during translation
|
|
77
47
|
#[derive(Debug, thiserror::Error)]
|
|
78
48
|
pub enum RustTranslationError {
|
|
79
|
-
|
|
80
|
-
#[
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
#[error("Could not serialize translation result: {0}")]
|
|
84
|
-
Serialize(#[from] serde_json::Error),
|
|
49
|
+
#[error(transparent)]
|
|
50
|
+
Translation(#[from] qcs::qpu::translation::Error),
|
|
51
|
+
#[error("Failed to serialize translation result: {0}")]
|
|
52
|
+
Serialization(#[from] serde_json::Error),
|
|
85
53
|
}
|
|
86
54
|
|
|
87
55
|
py_wrap_error!(
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/qpu/test_translation.py
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
from qcs_sdk.qpu.translation import (
|
|
4
|
-
GetQuiltCalibrationsError,
|
|
5
4
|
TranslationError,
|
|
6
5
|
translate,
|
|
7
6
|
translate_async,
|
|
@@ -47,7 +46,7 @@ def test_get_quilt_calibrations(
|
|
|
47
46
|
|
|
48
47
|
@pytest.mark.qcs_session
|
|
49
48
|
def test_get_quilt_calibrations_error():
|
|
50
|
-
with pytest.raises(
|
|
49
|
+
with pytest.raises(TranslationError):
|
|
51
50
|
get_quilt_calibrations("--")
|
|
52
51
|
|
|
53
52
|
|
|
@@ -62,6 +61,7 @@ async def test_get_quilt_calibrations(
|
|
|
62
61
|
|
|
63
62
|
def test_translation_backend():
|
|
64
63
|
from qcs_sdk.qpu.translation import TranslationBackend, TranslationOptions
|
|
64
|
+
|
|
65
65
|
opts = TranslationOptions()
|
|
66
66
|
assert opts.backend is None
|
|
67
67
|
opts.use_backend_v1()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# This is the metadata Maturin uploads to PyPI on publish
|
|
2
2
|
[project]
|
|
3
3
|
name = "qcs-sdk-python"
|
|
4
|
-
version = "0.
|
|
4
|
+
version = "0.17.0-rc.0"
|
|
5
5
|
description = "Python interface for the QCS Rust SDK"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = { text = "Apache-2.0" }
|
|
@@ -26,7 +26,7 @@ dependencies = ["quil==0.6.6"]
|
|
|
26
26
|
# We can remove this table once this issue is resolved: https://github.com/python-poetry/poetry/issues/3332
|
|
27
27
|
[tool.poetry]
|
|
28
28
|
name = "qcs-sdk-python"
|
|
29
|
-
version = "0.
|
|
29
|
+
version = "0.17.0-rc.0"
|
|
30
30
|
description = "Python interface for the QCS Rust SDK"
|
|
31
31
|
readme = "README.md"
|
|
32
32
|
authors = [
|
|
@@ -3,33 +3,11 @@ from enum import Enum, auto
|
|
|
3
3
|
|
|
4
4
|
from qcs_sdk.client import QCSClient
|
|
5
5
|
|
|
6
|
-
class GetQuiltCalibrationsError(RuntimeError):
|
|
7
|
-
"""An error occured while fetching Quil-T calibrations."""
|
|
8
|
-
|
|
9
|
-
...
|
|
10
|
-
|
|
11
6
|
class TranslationError(RuntimeError):
|
|
12
|
-
"""
|
|
7
|
+
"""Errors that can occur while using the translation module."""
|
|
13
8
|
|
|
14
9
|
...
|
|
15
10
|
|
|
16
|
-
@final
|
|
17
|
-
class QuiltCalibrations:
|
|
18
|
-
"""Result of `get_quilt_calibrations`."""
|
|
19
|
-
|
|
20
|
-
@property
|
|
21
|
-
def quilt(self) -> str:
|
|
22
|
-
"""Calibrations suitable for use in a Quil-T program."""
|
|
23
|
-
...
|
|
24
|
-
@quilt.setter
|
|
25
|
-
def quilt(self, value: str): ...
|
|
26
|
-
@property
|
|
27
|
-
def settings_timestamp(self) -> Optional[str]:
|
|
28
|
-
"""ISO8601 timestamp of the settings used to generate these calibrations."""
|
|
29
|
-
...
|
|
30
|
-
@settings_timestamp.setter
|
|
31
|
-
def settings_timestamp(self, value: Optional[str]): ...
|
|
32
|
-
|
|
33
11
|
@final
|
|
34
12
|
class TranslationResult:
|
|
35
13
|
"""
|
|
@@ -45,7 +23,6 @@ class TranslationResult:
|
|
|
45
23
|
"""A mapping from the program's memory references to the key used to index the results map."""
|
|
46
24
|
...
|
|
47
25
|
|
|
48
|
-
|
|
49
26
|
@final
|
|
50
27
|
class TranslationBackend(Enum):
|
|
51
28
|
V1 = auto()
|
|
@@ -55,7 +32,7 @@ def get_quilt_calibrations(
|
|
|
55
32
|
quantum_processor_id: str,
|
|
56
33
|
client: Optional[QCSClient] = None,
|
|
57
34
|
timeout: Optional[float] = None,
|
|
58
|
-
) ->
|
|
35
|
+
) -> str:
|
|
59
36
|
"""
|
|
60
37
|
Retrieve the calibration data used for client-side Quil-T generation.
|
|
61
38
|
|
|
@@ -63,10 +40,10 @@ def get_quilt_calibrations(
|
|
|
63
40
|
:param client: The ``QCSClient`` to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
|
|
64
41
|
:param timeout: Maximum duration to wait for API calls to complete, in seconds.
|
|
65
42
|
|
|
66
|
-
:returns
|
|
43
|
+
:returns str: The Quil calibration program for the requested quantum processor.
|
|
67
44
|
|
|
68
45
|
:raises LoadClientError: If there is an issue loading the QCS Client configuration.
|
|
69
|
-
:raises
|
|
46
|
+
:raises TranslationError: If there was a problem fetching Quil-T calibrations.
|
|
70
47
|
"""
|
|
71
48
|
...
|
|
72
49
|
|
|
@@ -74,7 +51,7 @@ async def get_quilt_calibrations_async(
|
|
|
74
51
|
quantum_processor_id: str,
|
|
75
52
|
client: Optional[QCSClient] = None,
|
|
76
53
|
timeout: Optional[float] = None,
|
|
77
|
-
) ->
|
|
54
|
+
) -> str:
|
|
78
55
|
"""
|
|
79
56
|
Retrieve the calibration data used for client-side Quil-T generation.
|
|
80
57
|
(async analog of ``get_quilt_calibrations``)
|
|
@@ -83,10 +60,10 @@ async def get_quilt_calibrations_async(
|
|
|
83
60
|
:param client: The ``QCSClient`` to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
|
|
84
61
|
:param timeout: Maximum duration to wait for API calls to complete, in seconds.
|
|
85
62
|
|
|
86
|
-
:returns
|
|
63
|
+
:returns str: The Quil calibration program for the requested quantum processor.
|
|
87
64
|
|
|
88
65
|
:raises LoadClientError: If there is an issue loading the QCS Client configuration.
|
|
89
|
-
:raises
|
|
66
|
+
:raises TranslationError: If there was a problem fetching Quil-T calibrations.
|
|
90
67
|
"""
|
|
91
68
|
...
|
|
92
69
|
|
|
@@ -146,23 +123,19 @@ class TranslationOptions:
|
|
|
146
123
|
"""
|
|
147
124
|
Get the selected translation backend
|
|
148
125
|
"""
|
|
149
|
-
|
|
150
126
|
def use_backend_v1(self) -> None:
|
|
151
127
|
"""
|
|
152
128
|
Use the v1 backend for translation, available on QCS since 2018.
|
|
153
129
|
"""
|
|
154
|
-
|
|
155
130
|
def use_backend_v2(self) -> None:
|
|
156
131
|
"""
|
|
157
132
|
Use the v2 backend for translation, available on QCS since 2023.
|
|
158
133
|
"""
|
|
159
|
-
|
|
160
134
|
@staticmethod
|
|
161
135
|
def v1() -> "TranslationOptions":
|
|
162
136
|
"""
|
|
163
137
|
Use the v1 backend for translation, available on QCS since 2018.
|
|
164
138
|
"""
|
|
165
|
-
|
|
166
139
|
@staticmethod
|
|
167
140
|
def v2(
|
|
168
141
|
*,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/delayed_job_retrieval.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/examples/parametric_compilation.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/bell_state_response_data.hex
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/compiler-isa-Aspen-8.json
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/lib/tests/parametric_compilation.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/compiler/__init__.py
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/compiler/__init__.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/qcs_sdk/qpu/rewrite_arithmetic.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/grpc/models/controller.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/src/qpu/rewrite_arithmetic.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_fixtures/aspen-m-3.json
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_fixtures/device-2q.json
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_qcs_config/secrets.toml
RENAMED
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/_qcs_config/settings.toml
RENAMED
|
File without changes
|
|
File without changes
|
{qcs_sdk_python-0.16.5 → qcs_sdk_python-0.17.0rc0}/crates/python/tests/compiler/test_quilc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|