qcs-sdk-python 0.26.1rc0__tar.gz → 0.26.1rc2__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.
Files changed (136) hide show
  1. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/Cargo.lock +169 -21
  2. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/Cargo.toml +3 -3
  3. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/PKG-INFO +1 -1
  4. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/CHANGELOG.md +21 -0
  5. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/Cargo.toml +2 -2
  6. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/isa/mod.rs +1 -1
  7. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/api/mod.rs +16 -37
  8. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/isa/python.rs +10 -10
  9. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/mocked_qpu.rs +13 -5
  10. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/pyproject.toml +1 -1
  11. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/README-py.md +0 -0
  12. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/THIRDPARTY.yaml +0 -0
  13. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/.flake8 +0 -0
  14. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/Makefile.toml +0 -0
  15. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/README-py.md +0 -0
  16. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/README.md +0 -0
  17. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/THIRDPARTY.yaml +0 -0
  18. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/build.rs +0 -0
  19. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
  20. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/execute.rs +0 -0
  21. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/libquil.rs +0 -0
  22. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/local.rs +0 -0
  23. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/parametric_compilation.rs +0 -0
  24. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/examples/quil_t.rs +0 -0
  25. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/poetry.lock +0 -0
  26. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/poetry.toml +0 -0
  27. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/python/stubtest-allowlist +0 -0
  28. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/scripts/check-py-api.sh +0 -0
  29. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/scripts/lint-bindings.py +0 -0
  30. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/scripts/patch_grpc_web.py +0 -0
  31. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/bin/diagnostics.rs +0 -0
  32. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/bin/stub_gen.rs +0 -0
  33. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/client.rs +0 -0
  34. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/isa/edge.rs +0 -0
  35. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/isa/operator.rs +0 -0
  36. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/isa/qubit.rs +0 -0
  37. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/libquil.rs +0 -0
  38. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/mod.rs +0 -0
  39. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/python.rs +0 -0
  40. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/quilc.rs +0 -0
  41. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/compiler/rpcq.rs +0 -0
  42. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/diagnostics/mod.rs +0 -0
  43. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/diagnostics/python.rs +0 -0
  44. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/executable.rs +0 -0
  45. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/execution_data.rs +0 -0
  46. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/lib.rs +0 -0
  47. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/client.rs +0 -0
  48. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/errors.rs +0 -0
  49. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/executable.rs +0 -0
  50. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/execution_data.rs +0 -0
  51. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/mod.rs +0 -0
  52. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/nonzero.rs +0 -0
  53. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/python/register_data.rs +0 -0
  54. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/api/python.rs +0 -0
  55. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/execution.rs +0 -0
  56. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/experimental/mod.rs +0 -0
  57. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/experimental/python.rs +0 -0
  58. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/experimental/random.rs +0 -0
  59. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/isa/mod.rs +0 -0
  60. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/mod.rs +0 -0
  61. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/python.rs +0 -0
  62. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/result_data.rs +0 -0
  63. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions-2.snap +0 -0
  64. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions.snap +0 -0
  65. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions-2.snap +0 -0
  66. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions.snap +0 -0
  67. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
  68. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_set_scale_units.snap +0 -0
  69. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_and_reuses_gate_expressions.snap +0 -0
  70. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_gate_parameters.snap +0 -0
  71. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/translation/mod.rs +0 -0
  72. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qpu/translation/python.rs +0 -0
  73. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/execution.rs +0 -0
  74. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/http.rs +0 -0
  75. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/libquil.rs +0 -0
  76. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/mod.rs +0 -0
  77. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/python.rs +0 -0
  78. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
  79. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/src/register_data.rs +0 -0
  80. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/aspen_9_isa.json +0 -0
  81. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/basic_qvm.rs +0 -0
  82. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/bell_state_response_data.hex +0 -0
  83. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
  84. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/parametric_compilation.rs +0 -0
  85. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/prng_test_cases.json +0 -0
  86. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
  87. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/qvm_api.rs +0 -0
  88. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/qvm_isa.json +0 -0
  89. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests/settings.toml +0 -0
  90. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
  91. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
  92. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
  93. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
  94. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
  95. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/compiler/test_quilc.py +0 -0
  96. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/conftest.py +0 -0
  97. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
  98. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qpu/experimental/test_random.py +0 -0
  99. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qpu/test_api.py +0 -0
  100. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qpu/test_isa.py +0 -0
  101. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
  102. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qpu/test_translation.py +0 -0
  103. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
  104. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/test_client.py +0 -0
  105. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/test_diagnostics.py +0 -0
  106. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/test_executable.py +0 -0
  107. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/test_logging.py +0 -0
  108. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
  109. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/__init__.py +0 -0
  110. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/__init__.pyi +0 -0
  111. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
  112. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
  113. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
  114. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
  115. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
  116. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
  117. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
  118. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
  119. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
  120. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
  121. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.py +0 -0
  122. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.pyi +0 -0
  123. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
  124. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
  125. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/client.pyi +0 -0
  126. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/compiler/__init__.pyi +0 -0
  127. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/compiler/quilc.pyi +0 -0
  128. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/diagnostics.pyi +0 -0
  129. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/__init__.pyi +0 -0
  130. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/api.pyi +0 -0
  131. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/experimental/__init__.pyi +0 -0
  132. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/experimental/random.pyi +0 -0
  133. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/isa.pyi +0 -0
  134. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qpu/translation.pyi +0 -0
  135. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/python/qcs_sdk/qvm/__init__.pyi +0 -0
  136. {qcs_sdk_python-0.26.1rc0 → qcs_sdk_python-0.26.1rc2}/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.1-rc.0"
3250
+ version = "0.26.1-rc.2"
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.15.3"
3314
+ version = "0.17.0"
3256
3315
  source = "registry+https://github.com/rust-lang/crates.io-index"
3257
- checksum = "bdc0501a74bdee8ea88ad07d531f9bf506c7ab2839e7eac67000b64d4bc54c34"
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.15.3"
3356
+ version = "0.17.0"
3298
3357
  source = "registry+https://github.com/rust-lang/crates.io-index"
3299
- checksum = "5c6bfa1fa8ca6117eec6428522ee8757eb654835a14986ea60b39e939b4164c9"
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.16.3"
3395
+ version = "0.18.0"
3337
3396
  source = "registry+https://github.com/rust-lang/crates.io-index"
3338
- checksum = "f4691f7df5a99e1fdb9e61f2dd782ee9c14f9964de8391067421d51f350159f2"
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.15.3"
32
- qcs-api-client-grpc = "0.15.3"
33
- qcs-api-client-openapi = "0.16.3"
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qcs-sdk-python
3
- Version: 0.26.1rc0
3
+ Version: 0.26.1rc2
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -1,3 +1,24 @@
1
+ ## 0.26.1-rc.2 (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.1 (2026-03-20)
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
+
1
22
  ## 0.26.1-rc.0 (2026-03-17)
2
23
 
3
24
  ### Fixes
@@ -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.1-rc.0"
4
+ version = "0.26.1-rc.2"
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<i64>, usize), String, Vec<i64>),
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
 
@@ -38,7 +40,7 @@ use qcs_api_client_openapi::{
38
40
  GetDefaultEndpointError, GetEndpointError,
39
41
  },
40
42
  quantum_processors_api::{
41
- list_quantum_processor_accessors, ListQuantumProcessorAccessorsError,
43
+ get_quantum_processor_accessors, GetQuantumProcessorAccessorsError,
42
44
  },
43
45
  },
44
46
  models::QuantumProcessorAccessor,
@@ -627,7 +629,9 @@ pub trait ExecutionTarget<'a> {
627
629
  .max_encoding_message_size(MAX_CONTROLLER_OUTBOUND_REQUEST_SIZE)
628
630
  // do not limit the received response size, although practically the limit is 4Gb due
629
631
  // to the frame_length of the message being a u32.
630
- .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))
631
635
  }
632
636
 
633
637
  /// Get a GRPC connection to a QPU, without specifying the API to use.
@@ -747,24 +751,11 @@ async fn get_accessor_with_cache(
747
751
  }
748
752
 
749
753
  async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String, QpuApiError> {
750
- let mut min = None;
751
- let mut next_page_token = None;
752
- loop {
753
- let accessors = list_quantum_processor_accessors(
754
- &client.get_openapi_client(),
755
- quantum_processor_id,
756
- Some(100),
757
- next_page_token.as_deref(),
758
- )
759
- .await?;
754
+ let accessors =
755
+ get_quantum_processor_accessors(&client.get_openapi_client(), quantum_processor_id).await?;
760
756
 
761
- min = select_min_accessor(min, accessors.accessors);
757
+ let min = select_min_accessor(accessors.accessors);
762
758
 
763
- next_page_token.clone_from(&accessors.next_page_token);
764
- if next_page_token.is_none() {
765
- break;
766
- }
767
- }
768
759
  min.map(|accessor| accessor.url)
769
760
  .ok_or_else(|| QpuApiError::GatewayNotFound(quantum_processor_id.to_string()))
770
761
  }
@@ -773,21 +764,12 @@ async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String
773
764
  /// - Prefer `Some({ rank: None })` to `None`.
774
765
  /// - Prefer the first accessor encountered among those with the same rank value.
775
766
  fn select_min_accessor(
776
- min: Option<QuantumProcessorAccessor>,
777
767
  accessors: Vec<QuantumProcessorAccessor>,
778
768
  ) -> Option<QuantumProcessorAccessor> {
779
769
  accessors
780
770
  .into_iter()
781
- // Adds nothing if min == None,
782
- // avoiding that footgun entirely
783
- .chain(min)
784
771
  .filter(|accessor| accessor.live)
785
- .filter(|accessor| {
786
- accessor
787
- .access_type
788
- .as_ref()
789
- .is_some_and(|t| **t == QuantumProcessorAccessorType::GatewayV1)
790
- })
772
+ .filter(|accessor| accessor.access_type == QuantumProcessorAccessorType::GatewayV1)
791
773
  .min_by_key(|accessor| accessor.rank.unwrap_or(i64::MAX))
792
774
  }
793
775
 
@@ -814,11 +796,10 @@ async fn get_default_endpoint(
814
796
  ) -> Result<String, QpuApiError> {
815
797
  let default_endpoint =
816
798
  api_get_default_endpoint(&client.get_openapi_client(), quantum_processor_id).await?;
817
- let addresses = default_endpoint.addresses.as_ref();
818
- let grpc_address = addresses.grpc.as_ref();
819
- grpc_address
799
+ default_endpoint
800
+ .addresses
801
+ .grpc
820
802
  .ok_or_else(|| QpuApiError::QpuEndpointNotFound(quantum_processor_id.into()))
821
- .cloned()
822
803
  }
823
804
 
824
805
  /// Errors that can occur while attempting to establish a connection to the QPU.
@@ -842,7 +823,7 @@ pub enum QpuApiError {
842
823
 
843
824
  /// Error due to failure to get accessors for quantum processor
844
825
  #[error("Failed to get accessors for quantum processor: {0}")]
845
- AccessorRequestFailed(#[from] OpenApiError<ListQuantumProcessorAccessorsError>),
826
+ AccessorRequestFailed(#[from] OpenApiError<GetQuantumProcessorAccessorsError>),
846
827
 
847
828
  /// Error due to failure to find gateway for quantum processor
848
829
  #[error("No gateway found for quantum processor: {0}")]
@@ -902,17 +883,15 @@ mod test {
902
883
 
903
884
  #[test]
904
885
  fn test_select_min_accessor_prefers_some_to_none() {
905
- let min = None;
906
886
  let expected = QuantumProcessorAccessor {
907
887
  live: true,
908
- access_type: Some(Box::new(QuantumProcessorAccessorType::GatewayV1)),
888
+ access_type: QuantumProcessorAccessorType::GatewayV1,
909
889
  rank: None,
910
890
  url: "url".to_string(),
911
- id: Some("id".to_string()),
912
891
  };
913
892
 
914
893
  let accessors = vec![expected.clone()];
915
- let actual = select_min_accessor(min, accessors);
894
+ let actual = select_min_accessor(accessors);
916
895
  assert_eq!(expected, actual.expect("expected Some accessor"));
917
896
  }
918
897
  }
@@ -152,14 +152,14 @@ impl Default for PyFamily {
152
152
  }
153
153
  }
154
154
 
155
- impl<T: AsRef<models::Family>> From<T> for PyFamily {
156
- fn from(family: T) -> Self {
157
- match family.as_ref() {
155
+ impl From<models::Family> for PyFamily {
156
+ fn from(family: models::Family) -> Self {
157
+ match family {
158
158
  models::Family::None => PyFamily::Known(Family::None),
159
159
  models::Family::Full => PyFamily::Known(Family::Full),
160
160
  models::Family::Aspen => PyFamily::Known(Family::Aspen),
161
161
  models::Family::Ankaa => PyFamily::Known(Family::Ankaa),
162
- models::Family::Unknown(s) => PyFamily::Unknown(s.clone()),
162
+ models::Family::UnrecognizedValue(s) => PyFamily::Unknown(s.clone()),
163
163
  }
164
164
  }
165
165
  }
@@ -168,7 +168,7 @@ impl From<PyFamily> for models::Family {
168
168
  fn from(family: PyFamily) -> Self {
169
169
  match family {
170
170
  PyFamily::Known(f) => f.into(),
171
- PyFamily::Unknown(s) => models::Family::Unknown(s),
171
+ PyFamily::Unknown(s) => models::Family::UnrecognizedValue(s),
172
172
  }
173
173
  }
174
174
  }
@@ -271,7 +271,7 @@ struct Operation {
271
271
  pub name: String,
272
272
  /// The number of nodes that this operation applies to. None if unspecified.
273
273
  #[serde(skip_serializing_if = "Option::is_none")]
274
- pub node_count: Option<i64>,
274
+ pub node_count: Option<u64>,
275
275
  /// The list of parameters. Each parameter must be uniquely named. May be empty.
276
276
  pub parameters: Vec<Parameter>,
277
277
  /// The list of sites at which this operation can be applied, together with its site-dependent characteristics.
@@ -286,7 +286,7 @@ pub struct SerializeIsaError(#[from] serde_json::Error);
286
286
  impl From<models::InstructionSetArchitecture> for InstructionSetArchitecture {
287
287
  fn from(isa: models::InstructionSetArchitecture) -> Self {
288
288
  Self {
289
- architecture: (*isa.architecture).into(),
289
+ architecture: isa.architecture.into(),
290
290
  benchmarks: convert_vec(isa.benchmarks),
291
291
  instructions: convert_vec(isa.instructions),
292
292
  name: isa.name,
@@ -297,7 +297,7 @@ impl From<models::InstructionSetArchitecture> for InstructionSetArchitecture {
297
297
  impl From<InstructionSetArchitecture> for models::InstructionSetArchitecture {
298
298
  fn from(isa: InstructionSetArchitecture) -> Self {
299
299
  Self {
300
- architecture: Box::new(isa.architecture.into()),
300
+ architecture: isa.architecture.into(),
301
301
  benchmarks: convert_vec(isa.benchmarks),
302
302
  instructions: convert_vec(isa.instructions),
303
303
  name: isa.name,
@@ -315,7 +315,7 @@ impl From<models::Architecture> for Architecture {
315
315
  node_ids: e.node_ids,
316
316
  })
317
317
  .collect(),
318
- family: arch.family.as_ref().map(Into::into),
318
+ family: Some(arch.family.into()),
319
319
  nodes: convert_vec(arch.nodes),
320
320
  }
321
321
  }
@@ -331,7 +331,7 @@ impl From<Architecture> for models::Architecture {
331
331
  node_ids: e.node_ids,
332
332
  })
333
333
  .collect(),
334
- family: arch.family.map(|f| Box::new(f.into())),
334
+ family: arch.family.map(Into::into).unwrap_or_default(),
335
335
  nodes: convert_vec(arch.nodes),
336
336
  }
337
337
  }
@@ -240,10 +240,9 @@ mod mock_qcs {
240
240
  ACCESSORS_CALL_COUNT.fetch_add(1, SeqCst);
241
241
  let rsp = ListQuantumProcessorAccessorsResponse {
242
242
  accessors: vec![QuantumProcessorAccessor {
243
- access_type: Some(Box::new(QuantumProcessorAccessorType::GatewayV1)),
243
+ access_type: QuantumProcessorAccessorType::GatewayV1,
244
244
  live: true,
245
245
  rank: Some(0),
246
- id: Some(QPU_ID.to_string()),
247
246
  url: MOCK_QPU_ADDRESS.into(),
248
247
  }],
249
248
  next_page_token: None,
@@ -273,6 +272,7 @@ mod translation {
273
272
  TranslateQuilToEncryptedControllerJobRequest,
274
273
  TranslateQuilToEncryptedControllerJobResponse,
275
274
  };
275
+ use tonic::codec::CompressionEncoding;
276
276
  use tonic::{transport::Server, Request};
277
277
  use tonic::{Response, Status};
278
278
 
@@ -316,7 +316,11 @@ mod translation {
316
316
  pub(crate) async fn run() {
317
317
  let service = TranslationService::default();
318
318
  Server::builder()
319
- .add_service(TranslationServer::new(service))
319
+ .add_service(
320
+ TranslationServer::new(service)
321
+ .accept_compressed(CompressionEncoding::Gzip)
322
+ .send_compressed(CompressionEncoding::Gzip),
323
+ )
320
324
  .serve("127.0.0.1:8003".parse().expect("address can be parsed"))
321
325
  .await
322
326
  .expect("service runs without errors");
@@ -340,7 +344,7 @@ mod qpu {
340
344
  GetControllerJobStatusResponse,
341
345
  },
342
346
  };
343
- use tonic::{transport::Server, Request, Response, Status};
347
+ use tonic::{codec::CompressionEncoding, transport::Server, Request, Response, Status};
344
348
 
345
349
  #[derive(Default, Debug)]
346
350
  pub struct ControllerService {}
@@ -413,7 +417,11 @@ mod qpu {
413
417
  pub(crate) async fn run() {
414
418
  let service = ControllerService::default();
415
419
  Server::builder()
416
- .add_service(ControllerServer::new(service))
420
+ .add_service(
421
+ ControllerServer::new(service)
422
+ .accept_compressed(CompressionEncoding::Gzip)
423
+ .send_compressed(CompressionEncoding::Gzip),
424
+ )
417
425
  // port must match MOCK_QPU_ADDRESS
418
426
  .serve("127.0.0.1:8002".parse().expect("address can be parsed"))
419
427
  .await
@@ -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.26.1-rc.0"
4
+ version = "0.26.1-rc.2"
5
5
  requires-python = ">=3.10,<4"
6
6
  description = "Python interface for the QCS Rust SDK"
7
7
  readme = "README-py.md"