qcs-sdk-python 0.26.0rc3__tar.gz → 0.26.1rc1__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.0rc3 → qcs_sdk_python-0.26.1rc1}/Cargo.lock +169 -21
  2. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/Cargo.toml +3 -3
  3. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/PKG-INFO +1 -1
  4. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/CHANGELOG.md +32 -0
  5. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/Cargo.toml +1 -1
  6. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/isa/mod.rs +1 -1
  7. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/api/mod.rs +47 -45
  8. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/isa/python.rs +10 -10
  9. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/mocked_qpu.rs +1 -2
  10. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/pyproject.toml +1 -1
  11. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/README-py.md +0 -0
  12. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/THIRDPARTY.yaml +0 -0
  13. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/.flake8 +0 -0
  14. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/Makefile.toml +0 -0
  15. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/README-py.md +0 -0
  16. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/README.md +0 -0
  17. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/THIRDPARTY.yaml +0 -0
  18. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/build.rs +0 -0
  19. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
  20. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/execute.rs +0 -0
  21. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/libquil.rs +0 -0
  22. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/local.rs +0 -0
  23. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/parametric_compilation.rs +0 -0
  24. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/examples/quil_t.rs +0 -0
  25. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/poetry.lock +0 -0
  26. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/poetry.toml +0 -0
  27. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/python/stubtest-allowlist +0 -0
  28. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/scripts/check-py-api.sh +0 -0
  29. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/scripts/lint-bindings.py +0 -0
  30. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/scripts/patch_grpc_web.py +0 -0
  31. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/bin/diagnostics.rs +0 -0
  32. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/bin/stub_gen.rs +0 -0
  33. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/client.rs +0 -0
  34. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/isa/edge.rs +0 -0
  35. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/isa/operator.rs +0 -0
  36. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/isa/qubit.rs +0 -0
  37. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/libquil.rs +0 -0
  38. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/mod.rs +0 -0
  39. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/python.rs +0 -0
  40. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/quilc.rs +0 -0
  41. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/compiler/rpcq.rs +0 -0
  42. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/diagnostics/mod.rs +0 -0
  43. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/diagnostics/python.rs +0 -0
  44. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/executable.rs +0 -0
  45. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/execution_data.rs +0 -0
  46. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/lib.rs +0 -0
  47. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/client.rs +0 -0
  48. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/errors.rs +0 -0
  49. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/executable.rs +0 -0
  50. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/execution_data.rs +0 -0
  51. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/mod.rs +0 -0
  52. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/nonzero.rs +0 -0
  53. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/python/register_data.rs +0 -0
  54. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/api/python.rs +0 -0
  55. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/execution.rs +0 -0
  56. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/experimental/mod.rs +0 -0
  57. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/experimental/python.rs +0 -0
  58. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/experimental/random.rs +0 -0
  59. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/isa/mod.rs +0 -0
  60. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/mod.rs +0 -0
  61. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/python.rs +0 -0
  62. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/result_data.rs +0 -0
  63. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
  68. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/translation/mod.rs +0 -0
  72. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qpu/translation/python.rs +0 -0
  73. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/execution.rs +0 -0
  74. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/http.rs +0 -0
  75. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/libquil.rs +0 -0
  76. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/mod.rs +0 -0
  77. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/python.rs +0 -0
  78. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
  79. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/src/register_data.rs +0 -0
  80. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/aspen_9_isa.json +0 -0
  81. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/basic_qvm.rs +0 -0
  82. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/bell_state_response_data.hex +0 -0
  83. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
  84. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/parametric_compilation.rs +0 -0
  85. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/prng_test_cases.json +0 -0
  86. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
  87. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/qvm_api.rs +0 -0
  88. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/qvm_isa.json +0 -0
  89. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests/settings.toml +0 -0
  90. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
  91. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
  92. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
  93. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
  94. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
  95. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/compiler/test_quilc.py +0 -0
  96. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/conftest.py +0 -0
  97. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
  98. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qpu/experimental/test_random.py +0 -0
  99. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qpu/test_api.py +0 -0
  100. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qpu/test_isa.py +0 -0
  101. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
  102. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qpu/test_translation.py +0 -0
  103. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
  104. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/test_client.py +0 -0
  105. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/test_diagnostics.py +0 -0
  106. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/test_executable.py +0 -0
  107. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/test_logging.py +0 -0
  108. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
  109. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/__init__.py +0 -0
  110. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/__init__.pyi +0 -0
  111. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
  112. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
  113. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
  114. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
  115. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
  116. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
  117. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
  118. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
  119. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
  120. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
  121. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.py +0 -0
  122. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.pyi +0 -0
  123. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
  124. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
  125. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/client.pyi +0 -0
  126. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/compiler/__init__.pyi +0 -0
  127. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/compiler/quilc.pyi +0 -0
  128. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/diagnostics.pyi +0 -0
  129. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/__init__.pyi +0 -0
  130. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/api.pyi +0 -0
  131. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/experimental/__init__.pyi +0 -0
  132. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/experimental/random.pyi +0 -0
  133. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/isa.pyi +0 -0
  134. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qpu/translation.pyi +0 -0
  135. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/python/qcs_sdk/qvm/__init__.pyi +0 -0
  136. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc1}/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.0-rc.3"
3250
+ version = "0.26.1-rc.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.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.0rc3
3
+ Version: 0.26.1rc1
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,35 @@
1
+ ## 0.26.1-rc.1 (2026-03-20)
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
+
11
+ ## 0.26.1-rc.0 (2026-03-17)
12
+
13
+ ### Fixes
14
+
15
+ - selecting an accessor should not prefer None to Some({ rank: None }) (#579)
16
+
17
+ ## 0.26.0 (2026-03-13)
18
+
19
+ ### Breaking Changes
20
+
21
+ - merge python crate into lib (#571)
22
+
23
+ ### Features
24
+
25
+ - allow direct endpoint connection strategy (#573)
26
+
27
+ ### Fixes
28
+
29
+ - update qcs-api-client dependencies to 0.12.12, (0.13.13 grpc) (#570)
30
+ - elide version value from python stub files (#575)
31
+ - bump qcs-api-client versions to support gateway (#576)
32
+
1
33
  ## 0.26.0-rc.3 (2026-03-13)
2
34
 
3
35
  ### 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.0-rc.3"
4
+ version = "0.26.1-rc.1"
5
5
  edition = "2018"
6
6
  license = "Apache-2.0"
7
7
  repository = "https://github.com/rigetti/qcs-sdk-rust"
@@ -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)]
@@ -30,16 +30,19 @@ use qcs_api_client_grpc::{
30
30
  tonic::{parse_uri, wrap_channel_with, wrap_channel_with_retry},
31
31
  };
32
32
  pub use qcs_api_client_openapi::apis::Error as OpenApiError;
33
- use qcs_api_client_openapi::apis::{
34
- endpoints_api::{
35
- get_default_endpoint as api_get_default_endpoint, get_endpoint, GetDefaultEndpointError,
36
- GetEndpointError,
37
- },
38
- quantum_processors_api::{
39
- list_quantum_processor_accessors, ListQuantumProcessorAccessorsError,
33
+ use qcs_api_client_openapi::models::QuantumProcessorAccessorType;
34
+ use qcs_api_client_openapi::{
35
+ apis::{
36
+ endpoints_api::{
37
+ get_default_endpoint as api_get_default_endpoint, get_endpoint,
38
+ GetDefaultEndpointError, GetEndpointError,
39
+ },
40
+ quantum_processors_api::{
41
+ get_quantum_processor_accessors, GetQuantumProcessorAccessorsError,
42
+ },
40
43
  },
44
+ models::QuantumProcessorAccessor,
41
45
  };
42
- use qcs_api_client_openapi::models::QuantumProcessorAccessorType;
43
46
 
44
47
  use crate::executable::Parameters;
45
48
 
@@ -744,40 +747,28 @@ async fn get_accessor_with_cache(
744
747
  }
745
748
 
746
749
  async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String, QpuApiError> {
747
- let mut min = None;
748
- let mut next_page_token = None;
749
- loop {
750
- let accessors = list_quantum_processor_accessors(
751
- &client.get_openapi_client(),
752
- quantum_processor_id,
753
- Some(100),
754
- next_page_token.as_deref(),
755
- )
756
- .await?;
750
+ let accessors =
751
+ get_quantum_processor_accessors(&client.get_openapi_client(), quantum_processor_id).await?;
752
+
753
+ let min = select_min_accessor(accessors.accessors);
757
754
 
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
755
  min.map(|accessor| accessor.url)
778
756
  .ok_or_else(|| QpuApiError::GatewayNotFound(quantum_processor_id.to_string()))
779
757
  }
780
758
 
759
+ /// Select the accessor with the lowest rank from a list of accessors.
760
+ /// - Prefer `Some({ rank: None })` to `None`.
761
+ /// - Prefer the first accessor encountered among those with the same rank value.
762
+ fn select_min_accessor(
763
+ accessors: Vec<QuantumProcessorAccessor>,
764
+ ) -> Option<QuantumProcessorAccessor> {
765
+ accessors
766
+ .into_iter()
767
+ .filter(|accessor| accessor.live)
768
+ .filter(|accessor| accessor.access_type == QuantumProcessorAccessorType::GatewayV1)
769
+ .min_by_key(|accessor| accessor.rank.unwrap_or(i64::MAX))
770
+ }
771
+
781
772
  #[cached(
782
773
  result = true,
783
774
  time = 60,
@@ -801,11 +792,10 @@ async fn get_default_endpoint(
801
792
  ) -> Result<String, QpuApiError> {
802
793
  let default_endpoint =
803
794
  api_get_default_endpoint(&client.get_openapi_client(), quantum_processor_id).await?;
804
- let addresses = default_endpoint.addresses.as_ref();
805
- let grpc_address = addresses.grpc.as_ref();
806
- grpc_address
795
+ default_endpoint
796
+ .addresses
797
+ .grpc
807
798
  .ok_or_else(|| QpuApiError::QpuEndpointNotFound(quantum_processor_id.into()))
808
- .cloned()
809
799
  }
810
800
 
811
801
  /// Errors that can occur while attempting to establish a connection to the QPU.
@@ -829,7 +819,7 @@ pub enum QpuApiError {
829
819
 
830
820
  /// Error due to failure to get accessors for quantum processor
831
821
  #[error("Failed to get accessors for quantum processor: {0}")]
832
- AccessorRequestFailed(#[from] OpenApiError<ListQuantumProcessorAccessorsError>),
822
+ AccessorRequestFailed(#[from] OpenApiError<GetQuantumProcessorAccessorsError>),
833
823
 
834
824
  /// Error due to failure to find gateway for quantum processor
835
825
  #[error("No gateway found for quantum processor: {0}")]
@@ -877,9 +867,7 @@ pub enum QpuApiError {
877
867
 
878
868
  #[cfg(test)]
879
869
  mod test {
880
- use crate::qpu::api::ExecutionOptions;
881
-
882
- use super::ExecutionOptionsBuilder;
870
+ use super::*;
883
871
 
884
872
  #[test]
885
873
  fn test_default_execution_options() {
@@ -888,4 +876,18 @@ mod test {
888
876
  ExecutionOptionsBuilder::default().build().unwrap(),
889
877
  );
890
878
  }
879
+
880
+ #[test]
881
+ fn test_select_min_accessor_prefers_some_to_none() {
882
+ let expected = QuantumProcessorAccessor {
883
+ live: true,
884
+ access_type: QuantumProcessorAccessorType::GatewayV1,
885
+ rank: None,
886
+ url: "url".to_string(),
887
+ };
888
+
889
+ let accessors = vec![expected.clone()];
890
+ let actual = select_min_accessor(accessors);
891
+ assert_eq!(expected, actual.expect("expected Some accessor"));
892
+ }
891
893
  }
@@ -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,
@@ -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.0-rc.3"
4
+ version = "0.26.1-rc.1"
5
5
  requires-python = ">=3.10,<4"
6
6
  description = "Python interface for the QCS Rust SDK"
7
7
  readme = "README-py.md"