qcs-sdk-python 0.26.0rc3__tar.gz → 0.26.1rc0__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.1rc0}/Cargo.lock +1 -1
  2. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/PKG-INFO +1 -1
  3. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/CHANGELOG.md +22 -0
  4. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/Cargo.toml +1 -1
  5. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/api/mod.rs +51 -24
  6. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/pyproject.toml +1 -1
  7. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/Cargo.toml +0 -0
  8. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/README-py.md +0 -0
  9. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/THIRDPARTY.yaml +0 -0
  10. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/.flake8 +0 -0
  11. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/Makefile.toml +0 -0
  12. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/README-py.md +0 -0
  13. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/README.md +0 -0
  14. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/THIRDPARTY.yaml +0 -0
  15. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/build.rs +0 -0
  16. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
  17. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/execute.rs +0 -0
  18. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/libquil.rs +0 -0
  19. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/local.rs +0 -0
  20. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/parametric_compilation.rs +0 -0
  21. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/examples/quil_t.rs +0 -0
  22. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/poetry.lock +0 -0
  23. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/poetry.toml +0 -0
  24. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/python/stubtest-allowlist +0 -0
  25. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/scripts/check-py-api.sh +0 -0
  26. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/scripts/lint-bindings.py +0 -0
  27. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/scripts/patch_grpc_web.py +0 -0
  28. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/bin/diagnostics.rs +0 -0
  29. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/bin/stub_gen.rs +0 -0
  30. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/client.rs +0 -0
  31. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/isa/edge.rs +0 -0
  32. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/isa/mod.rs +0 -0
  33. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/isa/operator.rs +0 -0
  34. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/isa/qubit.rs +0 -0
  35. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/libquil.rs +0 -0
  36. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/mod.rs +0 -0
  37. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/python.rs +0 -0
  38. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/quilc.rs +0 -0
  39. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/compiler/rpcq.rs +0 -0
  40. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/diagnostics/mod.rs +0 -0
  41. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/diagnostics/python.rs +0 -0
  42. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/executable.rs +0 -0
  43. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/execution_data.rs +0 -0
  44. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/lib.rs +0 -0
  45. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/client.rs +0 -0
  46. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/errors.rs +0 -0
  47. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/executable.rs +0 -0
  48. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/execution_data.rs +0 -0
  49. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/mod.rs +0 -0
  50. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/nonzero.rs +0 -0
  51. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/python/register_data.rs +0 -0
  52. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/api/python.rs +0 -0
  53. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/execution.rs +0 -0
  54. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/experimental/mod.rs +0 -0
  55. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/experimental/python.rs +0 -0
  56. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/experimental/random.rs +0 -0
  57. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/isa/mod.rs +0 -0
  58. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/isa/python.rs +0 -0
  59. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/mod.rs +0 -0
  60. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/python.rs +0 -0
  61. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/result_data.rs +0 -0
  62. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions-2.snap +0 -0
  63. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions.snap +0 -0
  64. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions-2.snap +0 -0
  65. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions.snap +0 -0
  66. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
  67. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_set_scale_units.snap +0 -0
  68. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_and_reuses_gate_expressions.snap +0 -0
  69. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_gate_parameters.snap +0 -0
  70. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/translation/mod.rs +0 -0
  71. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qpu/translation/python.rs +0 -0
  72. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/execution.rs +0 -0
  73. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/http.rs +0 -0
  74. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/libquil.rs +0 -0
  75. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/mod.rs +0 -0
  76. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/python.rs +0 -0
  77. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
  78. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/src/register_data.rs +0 -0
  79. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/aspen_9_isa.json +0 -0
  80. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/basic_qvm.rs +0 -0
  81. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/bell_state_response_data.hex +0 -0
  82. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
  83. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/mocked_qpu.rs +0 -0
  84. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/parametric_compilation.rs +0 -0
  85. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/prng_test_cases.json +0 -0
  86. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
  87. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/qvm_api.rs +0 -0
  88. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/qvm_isa.json +0 -0
  89. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests/settings.toml +0 -0
  90. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
  91. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
  92. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
  93. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
  94. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
  95. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/compiler/test_quilc.py +0 -0
  96. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/conftest.py +0 -0
  97. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
  98. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qpu/experimental/test_random.py +0 -0
  99. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qpu/test_api.py +0 -0
  100. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qpu/test_isa.py +0 -0
  101. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
  102. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qpu/test_translation.py +0 -0
  103. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
  104. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/test_client.py +0 -0
  105. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/test_diagnostics.py +0 -0
  106. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/test_executable.py +0 -0
  107. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/test_logging.py +0 -0
  108. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
  109. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/__init__.py +0 -0
  110. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/__init__.pyi +0 -0
  111. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
  112. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
  113. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
  114. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
  115. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
  116. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
  117. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
  118. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
  119. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
  120. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
  121. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/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.1rc0}/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.1rc0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
  124. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
  125. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/client.pyi +0 -0
  126. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/compiler/__init__.pyi +0 -0
  127. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/compiler/quilc.pyi +0 -0
  128. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/diagnostics.pyi +0 -0
  129. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/__init__.pyi +0 -0
  130. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/api.pyi +0 -0
  131. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/experimental/__init__.pyi +0 -0
  132. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/experimental/random.pyi +0 -0
  133. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/isa.pyi +0 -0
  134. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qpu/translation.pyi +0 -0
  135. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qvm/__init__.pyi +0 -0
  136. {qcs_sdk_python-0.26.0rc3 → qcs_sdk_python-0.26.1rc0}/python/qcs_sdk/qvm/api.pyi +0 -0
@@ -3188,7 +3188,7 @@ dependencies = [
3188
3188
 
3189
3189
  [[package]]
3190
3190
  name = "qcs"
3191
- version = "0.26.0-rc.3"
3191
+ version = "0.26.1-rc.0"
3192
3192
  dependencies = [
3193
3193
  "assert2",
3194
3194
  "async-trait",
@@ -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.1rc0
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,25 @@
1
+ ## 0.26.1-rc.0 (2026-03-17)
2
+
3
+ ### Fixes
4
+
5
+ - selecting an accessor should not prefer None to Some({ rank: None }) (#579)
6
+
7
+ ## 0.26.0 (2026-03-13)
8
+
9
+ ### Breaking Changes
10
+
11
+ - merge python crate into lib (#571)
12
+
13
+ ### Features
14
+
15
+ - allow direct endpoint connection strategy (#573)
16
+
17
+ ### Fixes
18
+
19
+ - update qcs-api-client dependencies to 0.12.12, (0.13.13 grpc) (#570)
20
+ - elide version value from python stub files (#575)
21
+ - bump qcs-api-client versions to support gateway (#576)
22
+
1
23
  ## 0.26.0-rc.3 (2026-03-13)
2
24
 
3
25
  ### 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.0"
5
5
  edition = "2018"
6
6
  license = "Apache-2.0"
7
7
  repository = "https://github.com/rigetti/qcs-sdk-rust"
@@ -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
+ list_quantum_processor_accessors, ListQuantumProcessorAccessorsError,
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
 
@@ -755,19 +758,7 @@ async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String
755
758
  )
756
759
  .await?;
757
760
 
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
- });
761
+ min = select_min_accessor(min, accessors.accessors);
771
762
 
772
763
  next_page_token.clone_from(&accessors.next_page_token);
773
764
  if next_page_token.is_none() {
@@ -778,6 +769,28 @@ async fn get_accessor(quantum_processor_id: &str, client: &Qcs) -> Result<String
778
769
  .ok_or_else(|| QpuApiError::GatewayNotFound(quantum_processor_id.to_string()))
779
770
  }
780
771
 
772
+ /// Select the accessor with the lowest rank from a list of accessors.
773
+ /// - Prefer `Some({ rank: None })` to `None`.
774
+ /// - Prefer the first accessor encountered among those with the same rank value.
775
+ fn select_min_accessor(
776
+ min: Option<QuantumProcessorAccessor>,
777
+ accessors: Vec<QuantumProcessorAccessor>,
778
+ ) -> Option<QuantumProcessorAccessor> {
779
+ accessors
780
+ .into_iter()
781
+ // Adds nothing if min == None,
782
+ // avoiding that footgun entirely
783
+ .chain(min)
784
+ .filter(|accessor| accessor.live)
785
+ .filter(|accessor| {
786
+ accessor
787
+ .access_type
788
+ .as_ref()
789
+ .is_some_and(|t| **t == QuantumProcessorAccessorType::GatewayV1)
790
+ })
791
+ .min_by_key(|accessor| accessor.rank.unwrap_or(i64::MAX))
792
+ }
793
+
781
794
  #[cached(
782
795
  result = true,
783
796
  time = 60,
@@ -877,9 +890,7 @@ pub enum QpuApiError {
877
890
 
878
891
  #[cfg(test)]
879
892
  mod test {
880
- use crate::qpu::api::ExecutionOptions;
881
-
882
- use super::ExecutionOptionsBuilder;
893
+ use super::*;
883
894
 
884
895
  #[test]
885
896
  fn test_default_execution_options() {
@@ -888,4 +899,20 @@ mod test {
888
899
  ExecutionOptionsBuilder::default().build().unwrap(),
889
900
  );
890
901
  }
902
+
903
+ #[test]
904
+ fn test_select_min_accessor_prefers_some_to_none() {
905
+ let min = None;
906
+ let expected = QuantumProcessorAccessor {
907
+ live: true,
908
+ access_type: Some(Box::new(QuantumProcessorAccessorType::GatewayV1)),
909
+ rank: None,
910
+ url: "url".to_string(),
911
+ id: Some("id".to_string()),
912
+ };
913
+
914
+ let accessors = vec![expected.clone()];
915
+ let actual = select_min_accessor(min, accessors);
916
+ assert_eq!(expected, actual.expect("expected Some accessor"));
917
+ }
891
918
  }
@@ -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.0"
5
5
  requires-python = ">=3.10,<4"
6
6
  description = "Python interface for the QCS Rust SDK"
7
7
  readme = "README-py.md"