qcs-sdk-python 0.29.0rc1__tar.gz → 0.30.0__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 (147) hide show
  1. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/Cargo.lock +7 -28
  2. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/PKG-INFO +2 -3
  3. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/CHANGELOG.md +12 -0
  4. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/Cargo.toml +1 -3
  5. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/python.rs +13 -0
  6. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/quilc.rs +2 -1
  7. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/mod.rs +6 -11
  8. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/api/mod.rs +6 -4
  9. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/api/python.rs +23 -0
  10. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/python.rs +4 -4
  11. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/compiler/test_quilc.py +1 -1
  12. qcs_sdk_python-0.30.0/crates/lib/tests_py/qpu/experimental/test_random.py +10 -0
  13. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_api.py +15 -0
  14. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/uv.lock +2 -37
  15. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/pyproject.toml +2 -3
  16. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/compiler/quilc/__init__.pyi +2 -4
  17. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/api/__init__.pyi +3 -0
  18. qcs_sdk_python-0.29.0rc1/crates/lib/tests_py/qpu/experimental/test_random.py +0 -50
  19. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/Cargo.toml +0 -0
  20. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/README-py.md +0 -0
  21. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/THIRDPARTY.yaml +0 -0
  22. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/.flake8 +0 -0
  23. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/Makefile.toml +0 -0
  24. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/README-py.md +0 -0
  25. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/README.md +0 -0
  26. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/THIRDPARTY.yaml +0 -0
  27. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/build.rs +0 -0
  28. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
  29. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/execute.rs +0 -0
  30. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/libquil.rs +0 -0
  31. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/local.rs +0 -0
  32. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/parametric_compilation.rs +0 -0
  33. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/examples/quil_t.rs +0 -0
  34. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/python/stubtest-allowlist +0 -0
  35. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/scripts/check-py-api.sh +0 -0
  36. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/scripts/lint-bindings.py +0 -0
  37. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/bin/diagnostics.rs +0 -0
  38. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/bin/stub_gen.rs +0 -0
  39. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/client.rs +0 -0
  40. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/edge.rs +0 -0
  41. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/mod.rs +0 -0
  42. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/operator.rs +0 -0
  43. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/qubit.rs +0 -0
  44. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/libquil.rs +0 -0
  45. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/mod.rs +0 -0
  46. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/rpcq.rs +0 -0
  47. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/diagnostics/mod.rs +0 -0
  48. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/diagnostics/python.rs +0 -0
  49. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/executable.rs +0 -0
  50. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/execution_data.rs +0 -0
  51. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/lib.rs +0 -0
  52. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/client.rs +0 -0
  53. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/errors.rs +0 -0
  54. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/executable.rs +0 -0
  55. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/execution_data.rs +0 -0
  56. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/nonzero.rs +0 -0
  57. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/python/register_data.rs +0 -0
  58. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/execution.rs +0 -0
  59. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/mod.rs +0 -0
  60. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/random.rs +0 -0
  61. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/isa/mod.rs +0 -0
  62. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/isa/python.rs +0 -0
  63. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/mod.rs +0 -0
  64. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/python.rs +0 -0
  65. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/result_data.rs +0 -0
  66. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions-2.snap +0 -0
  67. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_allocates_for_multiple_expressions.snap +0 -0
  68. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions-2.snap +0 -0
  69. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_frequency_expressions.snap +0 -0
  70. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
  71. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_set_scale_units.snap +0 -0
  72. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_and_reuses_gate_expressions.snap +0 -0
  73. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_substitutes_gate_parameters.snap +0 -0
  74. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/translation/mod.rs +0 -0
  75. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/translation/python.rs +0 -0
  76. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/execution.rs +0 -0
  77. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/http.rs +0 -0
  78. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/libquil.rs +0 -0
  79. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/mod.rs +0 -0
  80. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/python.rs +0 -0
  81. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
  82. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/src/register_data.rs +0 -0
  83. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/aspen_9_isa.json +0 -0
  84. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/basic_qvm.rs +0 -0
  85. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/bell_state_response_data.hex +0 -0
  86. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
  87. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/mocked_qpu.rs +0 -0
  88. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/parametric_compilation.rs +0 -0
  89. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/prng_test_cases.json +0 -0
  90. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
  91. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/qvm_api.rs +0 -0
  92. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/qvm_isa.json +0 -0
  93. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests/settings.toml +0 -0
  94. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
  95. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
  96. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
  97. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
  98. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
  99. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/conftest.py +0 -0
  100. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
  101. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_isa.py +0 -0
  102. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
  103. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_translation.py +0 -0
  104. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
  105. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_client.py +0 -0
  106. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_diagnostics.py +0 -0
  107. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_executable.py +0 -0
  108. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_logging.py +0 -0
  109. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
  110. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/__init__.py +0 -0
  111. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/__init__.pyi +0 -0
  112. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/client/__init__.pyi +0 -0
  113. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/compiler/__init__.pyi +0 -0
  114. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/diagnostics/__init__.pyi +0 -0
  115. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/__init__.pyi +0 -0
  116. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/experimental/__init__.pyi +0 -0
  117. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/experimental/random/__init__.pyi +0 -0
  118. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/isa/__init__.pyi +0 -0
  119. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/translation/__init__.pyi +0 -0
  120. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qvm/__init__.pyi +0 -0
  121. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qvm/api/__init__.pyi +0 -0
  122. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
  123. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
  124. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
  125. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
  126. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
  127. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
  128. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
  129. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
  130. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
  131. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
  132. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.py +0 -0
  133. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.pyi +0 -0
  134. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
  135. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
  136. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/client/__init__.py +0 -0
  137. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/compiler/__init__.py +0 -0
  138. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/compiler/quilc/__init__.py +0 -0
  139. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/diagnostics/__init__.py +0 -0
  140. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/__init__.py +0 -0
  141. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/api/__init__.py +0 -0
  142. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/experimental/__init__.py +0 -0
  143. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/experimental/random/__init__.py +0 -0
  144. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/isa/__init__.py +0 -0
  145. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/translation/__init__.py +0 -0
  146. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qvm/__init__.py +0 -0
  147. {qcs_sdk_python-0.29.0rc1 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qvm/api/__init__.py +0 -0
@@ -126,13 +126,13 @@ dependencies = [
126
126
 
127
127
  [[package]]
128
128
  name = "async-trait"
129
- version = "0.1.89"
129
+ version = "0.1.92"
130
130
  source = "registry+https://github.com/rust-lang/crates.io-index"
131
- checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
131
+ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
132
132
  dependencies = [
133
133
  "proc-macro2",
134
134
  "quote",
135
- "syn 2.0.117",
135
+ "syn 3.0.4",
136
136
  ]
137
137
 
138
138
  [[package]]
@@ -3139,7 +3139,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3139
3139
  checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
3140
3140
  dependencies = [
3141
3141
  "chrono",
3142
- "indexmap 2.13.0",
3143
3142
  "inventory",
3144
3143
  "libc",
3145
3144
  "num-complex",
@@ -3302,7 +3301,7 @@ dependencies = [
3302
3301
  "pyo3",
3303
3302
  "pyo3-async-runtimes",
3304
3303
  "qcs-dependencies-client",
3305
- "rigetti-pyo3 0.8.1",
3304
+ "rigetti-pyo3",
3306
3305
  "serde",
3307
3306
  "serde_json",
3308
3307
  "thiserror 2.0.20",
@@ -3324,7 +3323,7 @@ dependencies = [
3324
3323
 
3325
3324
  [[package]]
3326
3325
  name = "qcs"
3327
- version = "0.29.0-rc.1"
3326
+ version = "0.30.0"
3328
3327
  dependencies = [
3329
3328
  "assert2",
3330
3329
  "async-trait",
@@ -3364,7 +3363,7 @@ dependencies = [
3364
3363
  "qcs-dependencies-client",
3365
3364
  "quil-rs",
3366
3365
  "regex",
3367
- "rigetti-pyo3 0.8.1",
3366
+ "rigetti-pyo3",
3368
3367
  "rmp-serde",
3369
3368
  "rstest",
3370
3369
  "serde",
@@ -3407,7 +3406,7 @@ dependencies = [
3407
3406
  "pyo3-build-config",
3408
3407
  "pyo3-stub-gen",
3409
3408
  "qcs-dependencies-client",
3410
- "rigetti-pyo3 0.8.1",
3409
+ "rigetti-pyo3",
3411
3410
  "serde",
3412
3411
  "serde_json",
3413
3412
  "shellexpand",
@@ -3507,7 +3506,6 @@ version = "0.37.2"
3507
3506
  source = "registry+https://github.com/rust-lang/crates.io-index"
3508
3507
  checksum = "ab2279547bc521362a1ed413e1ad379de23d0efc4ae28f427a4184c8c390ee25"
3509
3508
  dependencies = [
3510
- "anyhow",
3511
3509
  "approx",
3512
3510
  "derive-where",
3513
3511
  "derive_more",
@@ -3519,16 +3517,11 @@ dependencies = [
3519
3517
  "nom",
3520
3518
  "nom_locate",
3521
3519
  "num-complex",
3522
- "numpy",
3523
3520
  "once_cell",
3524
3521
  "optipy 0.1.4",
3525
3522
  "pastey",
3526
3523
  "petgraph 0.6.5",
3527
- "pyo3",
3528
- "pyo3-build-config",
3529
- "pyo3-stub-gen",
3530
3524
  "regex",
3531
- "rigetti-pyo3 0.7.1",
3532
3525
  "serde",
3533
3526
  "statrs",
3534
3527
  "strum",
@@ -3929,20 +3922,6 @@ dependencies = [
3929
3922
  "tower-service",
3930
3923
  ]
3931
3924
 
3932
- [[package]]
3933
- name = "rigetti-pyo3"
3934
- version = "0.7.1"
3935
- source = "registry+https://github.com/rust-lang/crates.io-index"
3936
- checksum = "213e90a6c913d2826aa2b14c0a267c0bd784e586f108319066fdd42834abf325"
3937
- dependencies = [
3938
- "indexmap 2.13.0",
3939
- "itertools 0.14.0",
3940
- "optipy 0.1.4",
3941
- "pastey",
3942
- "pyo3",
3943
- "pyo3-stub-gen",
3944
- ]
3945
-
3946
3925
  [[package]]
3947
3926
  name = "rigetti-pyo3"
3948
3927
  version = "0.8.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qcs-sdk-python
3
- Version: 0.29.0rc1
3
+ Version: 0.30.0
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -8,8 +8,7 @@ Classifier: Programming Language :: Python :: 3.11
8
8
  Classifier: Programming Language :: Python :: 3.12
9
9
  Classifier: Programming Language :: Python :: 3.13
10
10
  Classifier: Operating System :: OS Independent
11
- Requires-Dist: quil>=0.37.1,<0.38.0
12
- Requires-Dist: qcs-api-client-common>=0.19.0,<0.20.0
11
+ Requires-Dist: qcs-api-client-common>=0.19.0,<0.27.0
13
12
  Summary: Python interface for the QCS Rust SDK
14
13
  Author-email: Rigetti QPU Software <qpu-software@rigetti.com>
15
14
  License: Apache-2.0
@@ -1,3 +1,15 @@
1
+ ## 0.30.0 (2026-10-08)
2
+
3
+ ### Breaking Changes
4
+
5
+ - remove quil as a dependency of qcs-sdk-python (#601)
6
+
7
+ ## 0.29.0 (2026-09-25)
8
+
9
+ ### Breaking Changes
10
+
11
+ - ConnectionStrategy fields for more control over gateway use; use endpoint-ID for Gateway-bound jobs, when possible; remove now-superfluous endpoint_id methods and parameters (#597)
12
+
1
13
  ## 0.29.0-rc.1 (2026-09-24)
2
14
 
3
15
  ### 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.29.0-rc.1"
4
+ version = "0.30.0"
5
5
  edition = "2018"
6
6
  license = "Apache-2.0"
7
7
  repository = "https://github.com/rigetti/qcs-sdk-rust"
@@ -36,13 +36,11 @@ python = [
36
36
  "dep:rigetti-pyo3",
37
37
  "experimental",
38
38
  "tracing-opentelemetry",
39
- "quil-rs/python",
40
39
  "qcs-api-client-common/python",
41
40
  ]
42
41
  stubs = [
43
42
  "python",
44
43
  "dep:pyo3-stub-gen",
45
- "quil-rs/stubs",
46
44
  "qcs-api-client-common/stubs",
47
45
  "pyo3-tracing-subscriber-build",
48
46
  "rigetti-pyo3/stubs",
@@ -1,4 +1,5 @@
1
1
  use qcs_api_client_openapi::models::InstructionSetArchitecture;
2
+ use quil_rs::quil::Quil;
2
3
  use rigetti_pyo3::{create_init_submodule, impl_repr, py_function_sync_async};
3
4
  use std::convert::TryFrom;
4
5
 
@@ -78,6 +79,18 @@ impl CompilerOpts {
78
79
  }
79
80
  }
80
81
 
82
+ #[cfg_attr(feature = "stubs", gen_stub_pymethods)]
83
+ #[pymethods]
84
+ impl CompilationResult {
85
+ /// The compiled program, as a Quil string.
86
+ #[getter]
87
+ fn program(&self) -> PyResult<String> {
88
+ self.program
89
+ .to_quil()
90
+ .map_err(|err| errors::QuilcError::new_err(err.to_string()))
91
+ }
92
+ }
93
+
81
94
  #[cfg_attr(feature = "stubs", gen_stub_pymethods)]
82
95
  #[pymethods]
83
96
  impl TargetDevice {
@@ -60,12 +60,12 @@ pub trait Client {
60
60
 
61
61
  /// The result of compiling a Quil program to native quil with `quilc`
62
62
  #[derive(Clone, Debug, PartialEq)]
63
+ #[cfg_attr(not(feature = "python"), optipy::strip_pyo3)]
63
64
  #[cfg_attr(feature = "stubs", gen_stub_pyclass)]
64
65
  #[cfg_attr(
65
66
  feature = "python",
66
67
  pyo3::pyclass(
67
68
  module = "qcs_sdk._qcs_sdk.compiler.quilc",
68
- get_all,
69
69
  frozen,
70
70
  from_py_object
71
71
  )
@@ -74,6 +74,7 @@ pub struct CompilationResult {
74
74
  /// The compiled program
75
75
  pub program: Program,
76
76
  /// Metadata about the compiled program
77
+ #[pyo3(get)]
77
78
  pub native_quil_metadata: Option<NativeQuilMetadata>,
78
79
  }
79
80
 
@@ -110,7 +110,7 @@ fn init_module(m: &Bound<'_, PyModule>) -> PyResult<()> {
110
110
  mod stubs {
111
111
  use pyo3_stub_gen::{
112
112
  define_stub_info_gatherer, derive::gen_type_alias_from_python, exclude_from_all,
113
- export_verbatim, module_doc, reexport_module_members, Result, StubInfo,
113
+ export_verbatim, reexport_module_members, Result, StubInfo,
114
114
  };
115
115
  use std::path::Path;
116
116
 
@@ -166,9 +166,7 @@ mod stubs {
166
166
  reexport_module_members!("qcs_sdk.qvm.api" from "qcs_sdk._qcs_sdk.qvm.api");
167
167
 
168
168
  reexport_module_members!("qcs_sdk._qcs_sdk.client" from "qcs_api_client_common._qcs_api_client_common"; "configuration");
169
- reexport_module_members!("qcs_sdk._qcs_sdk.compiler.quilc" from "quil._quil"; "program");
170
169
  exclude_from_all!("qcs_sdk._qcs_sdk.client", "configuration");
171
- exclude_from_all!("qcs_sdk._qcs_sdk.compiler.quilc", "program");
172
170
 
173
171
  reexport_module_members!("qcs_sdk" from "qcs_sdk._qcs_sdk.client"; "QCSClient");
174
172
 
@@ -178,8 +176,6 @@ mod stubs {
178
176
  export_verbatim!("qcs_sdk._qcs_sdk", "_gather_diagnostics");
179
177
  export_verbatim!("qcs_sdk._qcs_sdk", "__version__");
180
178
 
181
- module_doc!("quil._quil.validation", "");
182
-
183
179
  define_stub_info_gatherer!(internal_stub_info);
184
180
 
185
181
  /// Gather stub information to generate stub files.
@@ -188,12 +184,11 @@ mod stubs {
188
184
  let mut stubs = StubInfo::from_pyproject_toml(manifest_dir.join("pyproject.toml"))?;
189
185
 
190
186
  // `pyo3_stub_gen` gathers declarations from every linked crate, so dependencies that
191
- // define their own Python packages (`quil-rs` and `qcs-api-client-common`) contribute
192
- // their modules here too. Generation rejects any non-empty module outside this
193
- // package's module path, and writing files for them would shadow the real, installed
194
- // packages, so drop them. The stubs refer to foreign types by their private paths
195
- // (`quil._quil.program.Program`), since resolving the public alias needs the foreign
196
- // module to still be present at generation time.
187
+ // define their own Python packages (`qcs-api-client-common`) contribute their modules
188
+ // here too. Generation rejects any non-empty module outside this package's module path,
189
+ // and writing files for them would shadow the real, installed packages, so drop them.
190
+ // The stubs refer to foreign types by their private paths, since resolving the public
191
+ // alias needs the foreign module to still be present at generation time.
197
192
  stubs
198
193
  .modules
199
194
  .retain(|name, _| name == "qcs_sdk" || name.starts_with("qcs_sdk."));
@@ -536,7 +536,7 @@ impl ExecutionOptions {
536
536
 
537
537
  /// Whether a [`ConnectionStrategy::Gateway`] connection should route to live hardware,
538
538
  /// simulated hardware, or either.
539
- #[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
539
+ #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
540
540
  #[cfg_attr(feature = "stubs", gen_stub_pyclass_enum)]
541
541
  #[cfg_attr(
542
542
  feature = "python",
@@ -544,18 +544,20 @@ impl ExecutionOptions {
544
544
  module = "qcs_sdk._qcs_sdk.qpu.api",
545
545
  rename_all = "SCREAMING_SNAKE_CASE",
546
546
  eq,
547
+ hash,
548
+ frozen,
547
549
  from_py_object
548
550
  )
549
551
  )]
550
552
  pub enum EndpointLiveness {
551
553
  /// Only connect to an accessor attached to live hardware.
552
554
  #[default]
553
- LiveOnly,
555
+ LiveOnly = 0,
554
556
  /// Connect to an accessor attached to either live or simulated hardware, with no preference
555
557
  /// between the two.
556
- LiveOrSimulated,
558
+ LiveOrSimulated = 1,
557
559
  /// Only connect to an accessor attached to simulated hardware.
558
- SimulatedOnly,
560
+ SimulatedOnly = 2,
559
561
  }
560
562
 
561
563
  /// The connection strategy to use when submitting and retrieving jobs from a QPU.
@@ -458,6 +458,29 @@ impl ConnectionStrategy {
458
458
  }
459
459
  }
460
460
 
461
+ #[cfg_attr(not(feature = "stubs"), optipy::strip_pyo3(only_stubs))]
462
+ #[cfg_attr(feature = "stubs", gen_stub_pymethods)]
463
+ #[pymethods]
464
+ impl EndpointLiveness {
465
+ // pyo3 enums have no by-value constructor, so pickle by discriminant,
466
+ // constructing via a `#[new]` that maps `isize` back to a variant.
467
+ #[new]
468
+ fn __new__(value: isize) -> PyResult<Self> {
469
+ match value {
470
+ val if val == Self::LiveOnly as isize => Ok(Self::LiveOnly),
471
+ val if val == Self::LiveOrSimulated as isize => Ok(Self::LiveOrSimulated),
472
+ val if val == Self::SimulatedOnly as isize => Ok(Self::SimulatedOnly),
473
+ _ => Err(errors::QpuApiError::new_err(format!(
474
+ "unknown EndpointLiveness discriminant: {value}"
475
+ ))),
476
+ }
477
+ }
478
+
479
+ fn __getnewargs__(&self) -> (isize,) {
480
+ (*self as isize,)
481
+ }
482
+ }
483
+
461
484
  #[cfg(feature = "stubs")]
462
485
  mod stubs {
463
486
  use super::{ApiExecutionOptionsBuilder, ExecutionOptionsBuilder, JobId};
@@ -1,9 +1,9 @@
1
1
  //! Python bindings for the experimental QPU module.
2
2
 
3
- use quil_rs::quil::{Quil, ToQuilError};
3
+ use quil_rs::quil::Quil;
4
4
  use rigetti_pyo3::create_init_submodule;
5
5
 
6
- use crate::qpu::experimental::random::ChooseRandomRealSubRegions;
6
+ use crate::qpu::experimental::random::{ChooseRandomRealSubRegions, Error as RandomError};
7
7
 
8
8
  create_init_submodule! {
9
9
  submodules: [ "random": random::init_submodule ],
@@ -40,7 +40,7 @@ impl ChooseRandomRealSubRegions {
40
40
  /// ```
41
41
  #[staticmethod]
42
42
  #[pyo3(name = "build_signature")]
43
- fn py_build_signature() -> Result<String, ToQuilError> {
44
- ChooseRandomRealSubRegions::build_signature().to_quil()
43
+ fn py_build_signature() -> Result<String, RandomError> {
44
+ Ok(ChooseRandomRealSubRegions::build_signature().to_quil()?)
45
45
  }
46
46
  }
@@ -59,7 +59,7 @@ def test_compile_program(
59
59
  result = compile_program(
60
60
  bell_program, target_device, client=quilc_rpcq_client, options=CompilerOpts(protoquil=True)
61
61
  )
62
- assert result.program.to_quil() == snapshot
62
+ assert result.program == snapshot
63
63
  assert result.native_quil_metadata == snapshot
64
64
 
65
65
 
@@ -0,0 +1,10 @@
1
+ from qcs_sdk.qpu.experimental.random import ChooseRandomRealSubRegions
2
+
3
+
4
+ def test_choose_random_real_subregions():
5
+ """Test the name and signature used to declare `ChooseRandomRealSubRegions` in a Quil program."""
6
+ assert ChooseRandomRealSubRegions.NAME == "choose_random_real_sub_regions"
7
+ assert (
8
+ ChooseRandomRealSubRegions.build_signature()
9
+ == "(destination : mut REAL[], source : REAL[], sub_region_size : INTEGER, seed : mut INTEGER)"
10
+ )
@@ -5,6 +5,7 @@ from qcs_sdk.qpu.translation import translate
5
5
 
6
6
  from qcs_sdk.qpu.api import (
7
7
  ConnectionStrategy,
8
+ EndpointLiveness,
8
9
  ExecutionOptions,
9
10
  retrieve_results,
10
11
  submit,
@@ -36,6 +37,7 @@ class TestPickle:
36
37
  "strategy",
37
38
  [
38
39
  ConnectionStrategy.Gateway(),
40
+ ConnectionStrategy.Gateway(EndpointLiveness.SIMULATED_ONLY, "endpoint_id"),
39
41
  ConnectionStrategy.DirectAccess(),
40
42
  ConnectionStrategy.EndpointId("endpoint_id"),
41
43
  ConnectionStrategy.EndpointAddress("http://localhost:8080"),
@@ -46,6 +48,19 @@ class TestPickle:
46
48
  unpickled = pickle.loads(pickled)
47
49
  assert unpickled == strategy
48
50
 
51
+ @pytest.mark.parametrize(
52
+ "liveness",
53
+ [
54
+ EndpointLiveness.LIVE_ONLY,
55
+ EndpointLiveness.LIVE_OR_SIMULATED,
56
+ EndpointLiveness.SIMULATED_ONLY,
57
+ ],
58
+ )
59
+ def test_endpoint_liveness(self, liveness: EndpointLiveness):
60
+ pickled = pickle.dumps(liveness)
61
+ unpickled = pickle.loads(pickled)
62
+ assert unpickled == liveness
63
+
49
64
  def test_execution_options(self):
50
65
  options = ExecutionOptions.default()
51
66
  pickled = pickle.dumps(options)
@@ -855,11 +855,10 @@ wheels = [
855
855
 
856
856
  [[package]]
857
857
  name = "qcs-sdk-python"
858
- version = "0.29.0rc0"
858
+ version = "0.29.0"
859
859
  source = { virtual = "." }
860
860
  dependencies = [
861
861
  { name = "qcs-api-client-common" },
862
- { name = "quil" },
863
862
  ]
864
863
 
865
864
  [package.dev-dependencies]
@@ -882,10 +881,7 @@ dev = [
882
881
  ]
883
882
 
884
883
  [package.metadata]
885
- requires-dist = [
886
- { name = "qcs-api-client-common", specifier = ">=0.19.0,<0.20.0" },
887
- { name = "quil", specifier = ">=0.37.1,<0.38.0" },
888
- ]
884
+ requires-dist = [{ name = "qcs-api-client-common", specifier = ">=0.19.0,<0.27.0" }]
889
885
 
890
886
  [package.metadata.requires-dev]
891
887
  dev = [
@@ -906,37 +902,6 @@ dev = [
906
902
  { name = "syrupy", specifier = ">=4.0.0" },
907
903
  ]
908
904
 
909
- [[package]]
910
- name = "quil"
911
- version = "0.37.1"
912
- source = { registry = "https://pypi.org/simple" }
913
- dependencies = [
914
- { name = "numpy" },
915
- ]
916
- sdist = { url = "https://files.pythonhosted.org/packages/bb/a8/632f13756ae9fe7431eb17390ae61eb99280421164fa29562aa4e891d4cf/quil-0.37.1.tar.gz", hash = "sha256:a86feea4f2a7fac4068ce37cc2c89948ac773fbdf2db86905a5d45d8ca7dd60b", size = 491319, upload-time = "2026-08-17T22:56:37.166Z" }
917
- wheels = [
918
- { url = "https://files.pythonhosted.org/packages/07/01/93a609c9a018b48200f1f50b975eedab9996343ff7e5d5d90f9dd718382c/quil-0.37.1-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f814c9d349b9bc543dbfcbef0308b0af61043f6c33dd5f3789e843b1f0acb0a5", size = 3852264, upload-time = "2026-08-17T22:56:09.049Z" },
919
- { url = "https://files.pythonhosted.org/packages/15/58/1eb8d5419aade81bf80eee2173ed261c81cf80e8425f8f8ca93303fa2bf4/quil-0.37.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c250e9fc20a8b607d0e6fc5fcf9fbe5ac0182f7573a257a1b150de82e686148", size = 2040184, upload-time = "2026-08-17T22:56:10.794Z" },
920
- { url = "https://files.pythonhosted.org/packages/cd/7c/1873c6cac23647cda83f2cbfdf4bca92be184a3312ae4d7e0ae34912977f/quil-0.37.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:331e4078eff3c1e5f1048126905c10cdb3997bd54544775d2f2a85b03642e523", size = 2236449, upload-time = "2026-08-17T22:56:12.064Z" },
921
- { url = "https://files.pythonhosted.org/packages/d3/1b/89ca4bb448790c565433f1df600615c9057b63e68e6784357c76f4cbe1c0/quil-0.37.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6414df52145be1960f7cc201b20fddd0d79076a1f082fd49580db2030a10e749", size = 2093368, upload-time = "2026-08-17T22:56:13.345Z" },
922
- { url = "https://files.pythonhosted.org/packages/cd/ea/e91f621fc191dab9ecc4734d1619c8f87a50323c91d3adb285f08ab74dd9/quil-0.37.1-cp310-cp310-win_amd64.whl", hash = "sha256:12a5e8272f8ca7b415f5e962605455731fafb71a9ee6786448104df1ac6757d1", size = 1947278, upload-time = "2026-08-17T22:56:14.561Z" },
923
- { url = "https://files.pythonhosted.org/packages/54/7c/92acf422785540ce26144ebba16f5537b1824f25f027975ffd746226935b/quil-0.37.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:d70c18b4c19e0b3a02fb053320912c9912bd45325e53e35aba829bc9585d3c9f", size = 3852406, upload-time = "2026-08-17T22:56:16.158Z" },
924
- { url = "https://files.pythonhosted.org/packages/3e/01/0d686ae2a211b1e76a247f686e95276d3afebac5d010f96b10ed938ce7a8/quil-0.37.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d35773c9b3b5588c42caa6b495b59197546bfafa5d8902847cc2d8ccbe12a53", size = 2039650, upload-time = "2026-08-17T22:56:17.438Z" },
925
- { url = "https://files.pythonhosted.org/packages/76/b5/3c6b082d8cb0c94a42d9436be0e3ca9dbb4939940b158483c5cafb0e487d/quil-0.37.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8569452d1337c6ec2198fd7fd41801cfcb40a9daf586b15a87b932c6f5d60b42", size = 2236365, upload-time = "2026-08-17T22:56:18.775Z" },
926
- { url = "https://files.pythonhosted.org/packages/85/76/235b9e72202a8d34a75bc29692c76c0098bee74b0c1418069282fc0acf5a/quil-0.37.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5794e713cb1285d034233c854124c1bdd5e17f85d6c6ef7413e0f288bcae4ed", size = 2092996, upload-time = "2026-08-17T22:56:20.587Z" },
927
- { url = "https://files.pythonhosted.org/packages/3e/2b/ffbaa779ee1be3fab5ca3bac324e19d3ca15d75570cd7e2b856ca47cc072/quil-0.37.1-cp311-cp311-win_amd64.whl", hash = "sha256:de000b97a80ec4a54a54ccdb4107cd0fd1d064ada98e57cea1046d2c1f8712d0", size = 1947526, upload-time = "2026-08-17T22:56:22.065Z" },
928
- { url = "https://files.pythonhosted.org/packages/d1/da/fef69b4182ac81944809226601f5996794cb21c9ebf5514a81f1f4284943/quil-0.37.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:09e305358c58c0adee7b8de824a2a83da7c6264c4d4f42d4fe8971a56d2139cc", size = 3885635, upload-time = "2026-08-17T22:56:23.363Z" },
929
- { url = "https://files.pythonhosted.org/packages/f3/fb/c94af6a6268d7ac03b44c5e23d00bf6740677537757486f426169fac38fe/quil-0.37.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dac96d2af093a28e147ecaf9ddf0e3bedff6ecf11933d75f727f42d80e20f000", size = 2033515, upload-time = "2026-08-17T22:56:24.603Z" },
930
- { url = "https://files.pythonhosted.org/packages/4c/29/91f7f932c5880c9c3f166f8bfb8ab66fbc11454d62aa5d829dc5be944033/quil-0.37.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:623bfa85d5d5edbf3329e0a335d53caf3891950ae4263a55628a71471f9adf6c", size = 2223674, upload-time = "2026-08-17T22:56:25.989Z" },
931
- { url = "https://files.pythonhosted.org/packages/30/cf/6067026ea21db0f96d70909e88969cc3e30124c80ca20faf99067ed7a5b1/quil-0.37.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e7db024b3e80cab3fb80452fe8e7ce21017268761d70f64db6391b31de7d4b9", size = 2087365, upload-time = "2026-08-17T22:56:27.235Z" },
932
- { url = "https://files.pythonhosted.org/packages/9f/b5/2ae0d601694dc557a1ec47df0a481478cc9059e8ff27f2d7450cad217d2d/quil-0.37.1-cp312-cp312-win_amd64.whl", hash = "sha256:d317a0be302fc584bf5661ccb8fac550dd7ea8b2766249a6ad33f53108b2a75f", size = 1939826, upload-time = "2026-08-17T22:56:28.731Z" },
933
- { url = "https://files.pythonhosted.org/packages/63/7a/465b89903bdad45d93a580821a50b95eee1c6fdeed0f444b57d16cbc5142/quil-0.37.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:8dc6959047657f08f42fb18910517006d7dc1bc181e6693876aeeba1aaa0fbfa", size = 3889840, upload-time = "2026-08-17T22:56:30.033Z" },
934
- { url = "https://files.pythonhosted.org/packages/c9/84/6ec6c8b9ed03299e977d1c90ec6b5600b63735f95af12406e5f5f97aba69/quil-0.37.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7196cfaf6dcfd7455d7be2d9653ef52f2d7fb381b4b1b9a81558abe9adc5f4ac", size = 2034564, upload-time = "2026-08-17T22:56:31.488Z" },
935
- { url = "https://files.pythonhosted.org/packages/95/eb/0a62f303f84b39b809a1b2274fff40218403bd42c7c8286fadd5c57715db/quil-0.37.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:40a65ebb2aa5c7263a9360be463a52d132b17923c73ecc4924cc75e89e24173a", size = 2224930, upload-time = "2026-08-17T22:56:32.809Z" },
936
- { url = "https://files.pythonhosted.org/packages/f8/17/b4265d8353909883be2b6ba4f5e9a738249b8d03a1ecb4935394fb7c6273/quil-0.37.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:731463db92d7a4ca8b89bab3a75e0726edb675d42539b26b2726fa936e435e88", size = 2089153, upload-time = "2026-08-17T22:56:34.196Z" },
937
- { url = "https://files.pythonhosted.org/packages/b4/f5/c8fff3e52b345308a7b608538e0918b757e48d7f505ec2724913d1ed839b/quil-0.37.1-cp313-cp313-win_amd64.whl", hash = "sha256:67d2adc00a34b6d154eb26d47a8b6504d786b5dc181f2af12d9c650640760675", size = 1941421, upload-time = "2026-08-17T22:56:35.838Z" },
938
- ]
939
-
940
905
  [[package]]
941
906
  name = "rich"
942
907
  version = "14.2.0"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qcs-sdk-python"
3
- version = "0.29.0-rc.1"
3
+ version = "0.30.0"
4
4
  description = "Python interface for the QCS Rust SDK"
5
5
  authors = [
6
6
  { name = "Rigetti QPU Software", email = "qpu-software@rigetti.com" },
@@ -18,8 +18,7 @@ classifiers = [
18
18
  "Operating System :: OS Independent",
19
19
  ]
20
20
  dependencies = [
21
- "quil>=0.37.1,<0.38.0",
22
- "qcs-api-client-common>=0.19.0,<0.20.0",
21
+ "qcs-api-client-common>=0.19.0,<0.27.0",
23
22
  ]
24
23
 
25
24
  [dependency-groups]
@@ -5,9 +5,7 @@ import builtins
5
5
  import collections.abc
6
6
  from qcs_sdk import _qcs_sdk
7
7
  from qcs_sdk._qcs_sdk.qpu import isa
8
- import quil._quil.program
9
8
  import typing
10
- from quil._quil import program
11
9
 
12
10
  __all__ = [
13
11
  "CompilationResult",
@@ -46,9 +44,9 @@ class CompilationResult:
46
44
  Metadata about the compiled program
47
45
  """
48
46
  @property
49
- def program(self) -> program.Program:
47
+ def program(self) -> builtins.str:
50
48
  r"""
51
- The compiled program
49
+ The compiled program, as a Quil string.
52
50
  """
53
51
 
54
52
  @typing.final
@@ -380,6 +380,9 @@ class EndpointLiveness(enum.Enum):
380
380
  Only connect to an accessor attached to simulated hardware.
381
381
  """
382
382
 
383
+ def __getnewargs__(self) -> tuple[builtins.int]: ...
384
+ def __new__(cls, value: builtins.int) -> EndpointLiveness: ...
385
+
383
386
  def cancel_job(
384
387
  job_id: builtins.str,
385
388
  quantum_processor_id: typing.Optional[builtins.str] = None,
@@ -1,50 +0,0 @@
1
- from quil.program import Program
2
- from quil.instructions import (
3
- Declaration,
4
- Instruction,
5
- Pragma,
6
- Call,
7
- CallArgument,
8
- MemoryReference,
9
- Vector,
10
- ScalarType,
11
- PragmaArgument,
12
- )
13
- from qcs_sdk.qpu.experimental.random import ChooseRandomRealSubRegions
14
-
15
-
16
- EXPECTED_QUIL = """
17
- PRAGMA EXTERN choose_random_real_sub_regions "(destination : mut REAL[], source : REAL[], sub_region_size : INTEGER, seed : mut INTEGER)"
18
- DECLARE destination REAL[3]
19
- DECLARE source REAL[12]
20
- DECLARE seed INTEGER[1]
21
- CALL choose_random_real_sub_regions destination source 3 seed[0]
22
- """
23
-
24
-
25
- def test_choose_random_real_subregions():
26
- """Test that `ChooseRandomRealSubRegions` is correctly added to a Quil progrram."""
27
- program = Program()
28
- destination = Declaration("destination", Vector(ScalarType.REAL, 3), None)
29
- program.add_instruction(Instruction.Declaration(destination))
30
- source = Declaration("source", Vector(ScalarType.REAL, 12), None)
31
- program.add_instruction(Instruction.Declaration(source))
32
- seed = Declaration("seed", Vector(ScalarType.INTEGER, 1), None)
33
- program.add_instruction(Instruction.Declaration(seed))
34
- pragma_extern = Pragma(
35
- "EXTERN",
36
- [PragmaArgument.Identifier(ChooseRandomRealSubRegions.NAME)],
37
- ChooseRandomRealSubRegions.build_signature(),
38
- )
39
- program.add_instruction(Instruction.Pragma(pragma_extern))
40
- call = Call(
41
- ChooseRandomRealSubRegions.NAME,
42
- [
43
- CallArgument.Identifier("destination"),
44
- CallArgument.Identifier("source"),
45
- CallArgument.Immediate(complex(3, 0)),
46
- CallArgument.MemoryReference(MemoryReference("seed", 0)),
47
- ],
48
- )
49
- program.add_instruction(Instruction.Call(call))
50
- assert program == Program.parse(EXPECTED_QUIL)