qcs-sdk-python 0.29.0rc0__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.0rc0 → qcs_sdk_python-0.30.0}/Cargo.lock +7 -28
  2. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/PKG-INFO +2 -3
  3. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/CHANGELOG.md +18 -0
  4. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/Cargo.toml +1 -3
  5. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/python/stubtest-allowlist +1 -0
  6. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/python.rs +13 -0
  7. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/quilc.rs +2 -1
  8. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/executable.rs +3 -72
  9. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/executable.rs +50 -102
  10. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/mod.rs +6 -11
  11. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/api/mod.rs +32 -13
  12. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/api/python.rs +29 -0
  13. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/execution.rs +2 -48
  14. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/python.rs +4 -4
  15. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/compiler/test_quilc.py +1 -1
  16. qcs_sdk_python-0.30.0/crates/lib/tests_py/qpu/experimental/test_random.py +10 -0
  17. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_api.py +15 -0
  18. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/uv.lock +2 -37
  19. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/pyproject.toml +2 -3
  20. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/__init__.pyi +8 -12
  21. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/compiler/quilc/__init__.pyi +2 -4
  22. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/api/__init__.pyi +7 -1
  23. qcs_sdk_python-0.29.0rc0/crates/lib/tests_py/qpu/experimental/test_random.py +0 -50
  24. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/Cargo.toml +0 -0
  25. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/README-py.md +0 -0
  26. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/THIRDPARTY.yaml +0 -0
  27. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/.flake8 +0 -0
  28. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/Makefile.toml +0 -0
  29. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/README-py.md +0 -0
  30. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/README.md +0 -0
  31. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/THIRDPARTY.yaml +0 -0
  32. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/build.rs +0 -0
  33. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/delayed_job_retrieval.rs +0 -0
  34. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/execute.rs +0 -0
  35. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/libquil.rs +0 -0
  36. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/local.rs +0 -0
  37. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/parametric_compilation.rs +0 -0
  38. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/examples/quil_t.rs +0 -0
  39. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/scripts/check-py-api.sh +0 -0
  40. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/scripts/lint-bindings.py +0 -0
  41. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/bin/diagnostics.rs +0 -0
  42. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/bin/stub_gen.rs +0 -0
  43. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/client.rs +0 -0
  44. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/edge.rs +0 -0
  45. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/mod.rs +0 -0
  46. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/operator.rs +0 -0
  47. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/isa/qubit.rs +0 -0
  48. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/libquil.rs +0 -0
  49. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/mod.rs +0 -0
  50. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/compiler/rpcq.rs +0 -0
  51. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/diagnostics/mod.rs +0 -0
  52. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/diagnostics/python.rs +0 -0
  53. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/execution_data.rs +0 -0
  54. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/lib.rs +0 -0
  55. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/client.rs +0 -0
  56. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/errors.rs +0 -0
  57. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/execution_data.rs +0 -0
  58. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/nonzero.rs +0 -0
  59. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/python/register_data.rs +0 -0
  60. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/mod.rs +0 -0
  61. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/experimental/random.rs +0 -0
  62. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/isa/mod.rs +0 -0
  63. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/isa/python.rs +0 -0
  64. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/mod.rs +0 -0
  65. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/python.rs +0 -0
  66. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/result_data.rs +0 -0
  67. {qcs_sdk_python-0.29.0rc0 → 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
  68. {qcs_sdk_python-0.29.0rc0 → 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
  69. {qcs_sdk_python-0.29.0rc0 → 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
  70. {qcs_sdk_python-0.29.0rc0 → 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
  71. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/snapshots/qcs__qpu__rewrite_arithmetic__describe_rewrite_arithmetic__it_converts_phases.snap +0 -0
  72. {qcs_sdk_python-0.29.0rc0 → 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
  73. {qcs_sdk_python-0.29.0rc0 → 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
  74. {qcs_sdk_python-0.29.0rc0 → 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
  75. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/translation/mod.rs +0 -0
  76. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qpu/translation/python.rs +0 -0
  77. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/execution.rs +0 -0
  78. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/http.rs +0 -0
  79. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/libquil.rs +0 -0
  80. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/mod.rs +0 -0
  81. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/python.rs +0 -0
  82. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/qvm/snapshots/qcs__qvm__test__apply_valid_parameters_to_program.snap +0 -0
  83. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/src/register_data.rs +0 -0
  84. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/aspen_9_isa.json +0 -0
  85. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/basic_qvm.rs +0 -0
  86. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/bell_state_response_data.hex +0 -0
  87. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/compiler-isa-Aspen-8.json +0 -0
  88. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/mocked_qpu.rs +0 -0
  89. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/parametric_compilation.rs +0 -0
  90. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/prng_test_cases.json +0 -0
  91. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/qcs-isa-Aspen-8.json +0 -0
  92. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/qvm_api.rs +0 -0
  93. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/qvm_isa.json +0 -0
  94. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests/settings.toml +0 -0
  95. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_fixtures/aspen-m-3.json +0 -0
  96. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_fixtures/device-2q.json +0 -0
  97. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_qcs_config/secrets.toml +0 -0
  98. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/_qcs_config/settings.toml +0 -0
  99. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/compiler/__snapshots__/test_quilc.ambr +0 -0
  100. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/conftest.py +0 -0
  101. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/execution_data/test_execution_data.py +0 -0
  102. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_isa.py +0 -0
  103. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_qpu.py +0 -0
  104. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qpu/test_translation.py +0 -0
  105. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/qvm/test_qvm.py +0 -0
  106. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_client.py +0 -0
  107. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_diagnostics.py +0 -0
  108. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_executable.py +0 -0
  109. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_logging.py +0 -0
  110. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/crates/lib/tests_py/test_tracing_subscriber.py +0 -0
  111. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/__init__.py +0 -0
  112. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/client/__init__.pyi +0 -0
  113. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/compiler/__init__.pyi +0 -0
  114. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/diagnostics/__init__.pyi +0 -0
  115. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/__init__.pyi +0 -0
  116. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/experimental/__init__.pyi +0 -0
  117. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/experimental/random/__init__.pyi +0 -0
  118. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/isa/__init__.pyi +0 -0
  119. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qpu/translation/__init__.pyi +0 -0
  120. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qvm/__init__.pyi +0 -0
  121. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_qcs_sdk/qvm/api/__init__.pyi +0 -0
  122. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/__init__.py +0 -0
  123. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/__init__.pyi +0 -0
  124. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/common/__init__.py +0 -0
  125. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/common/__init__.pyi +0 -0
  126. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.py +0 -0
  127. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/__init__.pyi +0 -0
  128. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.py +0 -0
  129. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +0 -0
  130. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +0 -0
  131. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +0 -0
  132. {qcs_sdk_python-0.29.0rc0 → 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.0rc0 → 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.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.py +0 -0
  135. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +0 -0
  136. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/client/__init__.py +0 -0
  137. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/compiler/__init__.py +0 -0
  138. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/compiler/quilc/__init__.py +0 -0
  139. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/diagnostics/__init__.py +0 -0
  140. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/__init__.py +0 -0
  141. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/api/__init__.py +0 -0
  142. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/experimental/__init__.py +0 -0
  143. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/experimental/random/__init__.py +0 -0
  144. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/isa/__init__.py +0 -0
  145. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qpu/translation/__init__.py +0 -0
  146. {qcs_sdk_python-0.29.0rc0 → qcs_sdk_python-0.30.0}/python/qcs_sdk/qvm/__init__.py +0 -0
  147. {qcs_sdk_python-0.29.0rc0 → 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.0"
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.0rc0
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,21 @@
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
+
13
+ ## 0.29.0-rc.1 (2026-09-24)
14
+
15
+ ### Breaking Changes
16
+
17
+ - put endpoint-ID in the connection-strategy itself; explicitly add the ability to connect to simulated endpoints via gateway; use endpoint-ID for Gateway-bound jobs, when possible
18
+
1
19
  ## 0.29.0-rc.0 (2026-09-23)
2
20
 
3
21
  ### 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.0"
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",
@@ -13,3 +13,4 @@ qcs_sdk\.(_qcs_sdk\.)?compiler\.quilc\.CompilerOpts\.__new__
13
13
  qcs_sdk\.(_qcs_sdk\.)?Service\.(QCS|QPU|QUILC|QVM)
14
14
  qcs_sdk\.(_qcs_sdk\.)?qpu\.isa\.Family\.(ANKAA|ASPEN|FULL|NONE)
15
15
  qcs_sdk\.(_qcs_sdk\.)?qpu\.translation\.TranslationBackend\.(V1|V2)
16
+ qcs_sdk\.(_qcs_sdk\.)?qpu\.api\.EndpointLiveness\.(LIVE_ONLY|LIVE_OR_SIMULATED|SIMULATED_ONLY)
@@ -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
 
@@ -420,47 +420,6 @@ impl<'execution> Executable<'_, 'execution> {
420
420
  .map_err(Error::from)
421
421
  }
422
422
 
423
- /// Compile the program and execute it on a QPU, waiting for results.
424
- ///
425
- /// # Arguments
426
- /// 1. `quantum_processor_id`: The name of the QPU to run on. This parameter affects the
427
- /// lifetime of the [`Executable`]. The [`Executable`] will only live as long as the last
428
- /// parameter passed into this function.
429
- ///
430
- /// # Warning
431
- ///
432
- /// This function uses [`tokio::task::spawn_blocking`] internally. See the docs for that function
433
- /// to avoid blocking shutdown of the runtime.
434
- ///
435
- /// # Returns
436
- ///
437
- /// An [`ExecutionResult`].
438
- ///
439
- /// # Errors
440
- /// All errors are human readable by way of [`mod@thiserror`]. Some common errors are:
441
- ///
442
- /// 1. You are not authenticated for QCS
443
- /// 1. Your credentials don't have an active reservation for the QPU you requested
444
- /// 1. [quilc] was not running.
445
- /// 1. The `quil` that this [`Executable`] was constructed with was invalid.
446
- /// 1. Missing parameters that should be filled with [`Executable::with_parameter`]
447
- ///
448
- /// [quilc]: https://github.com/quil-lang/quilc
449
- pub async fn execute_on_qpu_with_endpoint<S>(
450
- &mut self,
451
- quantum_processor_id: S,
452
- endpoint_id: S,
453
- translation_options: Option<TranslationOptions>,
454
- ) -> ExecutionResult
455
- where
456
- S: Into<Cow<'execution, str>>,
457
- {
458
- let job_handle = self
459
- .submit_to_qpu_with_endpoint(quantum_processor_id, endpoint_id, translation_options)
460
- .await?;
461
- self.retrieve_results(job_handle).await
462
- }
463
-
464
423
  /// Compile the program and execute it on a QCS endpoint, waiting for results.
465
424
  ///
466
425
  /// # Arguments
@@ -560,31 +519,6 @@ impl<'execution> Executable<'_, 'execution> {
560
519
  Ok(job_handle)
561
520
  }
562
521
 
563
- /// Compile and submit the program to a QCS endpoint, but do not wait for execution to complete.
564
- ///
565
- /// Call [`Executable::retrieve_results`] to wait for execution to complete and retrieve the
566
- /// results.
567
- ///
568
- /// # Errors
569
- ///
570
- /// See [`Executable::execute_on_qpu`].
571
- pub async fn submit_to_qpu_with_endpoint<S>(
572
- &mut self,
573
- quantum_processor_id: S,
574
- endpoint_id: S,
575
- translation_options: Option<TranslationOptions>,
576
- ) -> Result<JobHandle<'execution>, Error>
577
- where
578
- S: Into<Cow<'execution, str>>,
579
- {
580
- let job_handle = self
581
- .qpu_for_id(quantum_processor_id)
582
- .await?
583
- .submit_to_endpoint_id(&self.params, endpoint_id.into(), translation_options)
584
- .await?;
585
- Ok(job_handle)
586
- }
587
-
588
522
  /// Cancel a job that has yet to begin executing.
589
523
  ///
590
524
  /// This action is *not* atomic, and will attempt to cancel a job even if it cannot be cancelled. A
@@ -754,7 +688,6 @@ impl From<qvm::Error> for Error {
754
688
  pub struct JobHandle<'executable> {
755
689
  job_id: JobId,
756
690
  quantum_processor_id: Cow<'executable, str>,
757
- endpoint_id: Option<Cow<'executable, str>>,
758
691
  readout_map: HashMap<String, String>,
759
692
  execution_options: ExecutionOptions,
760
693
  }
@@ -764,7 +697,6 @@ impl<'a> JobHandle<'a> {
764
697
  pub(crate) fn new<S>(
765
698
  job_id: JobId,
766
699
  quantum_processor_id: S,
767
- endpoint_id: Option<S>,
768
700
  readout_map: HashMap<String, String>,
769
701
  execution_options: ExecutionOptions,
770
702
  ) -> Self
@@ -774,7 +706,6 @@ impl<'a> JobHandle<'a> {
774
706
  Self {
775
707
  job_id,
776
708
  quantum_processor_id: quantum_processor_id.into(),
777
- endpoint_id: endpoint_id.map(Into::into),
778
709
  readout_map,
779
710
  execution_options,
780
711
  }
@@ -792,11 +723,11 @@ impl<'a> JobHandle<'a> {
792
723
  &self.quantum_processor_id
793
724
  }
794
725
 
795
- /// The ID of the endpoint to which the job was submitted, if it was submitted to a specific
796
- /// endpoint (see [`Executable::submit_to_qpu_with_endpoint`]) rather than a quantum processor.
726
+ /// The ID of the endpoint to which the job was submitted, if the job's
727
+ /// [`ConnectionStrategy`](crate::qpu::api::ConnectionStrategy) specified one.
797
728
  #[must_use]
798
729
  pub fn endpoint_id(&self) -> Option<&str> {
799
- self.endpoint_id.as_deref()
730
+ self.execution_options.connection_strategy().endpoint_id()
800
731
  }
801
732
 
802
733
  /// The readout map from source readout memory locations to the
@@ -234,160 +234,108 @@ impl PyExecutable {
234
234
 
235
235
  /// Compile the program and execute it on a QPU, waiting for results.
236
236
  ///
237
- /// :param `endpoint_id`: execute the compiled program against an explicitly provided endpoint.
238
- /// If `None`, the default endpoint for the given `quantum_processor_id` is used.
237
+ /// :param `execution_options`: To target a specific endpoint, use a ``ConnectionStrategy``
238
+ /// that carries an endpoint ID, e.g. ``ConnectionStrategy.EndpointId(...)``.
239
239
  ///
240
240
  /// :raises `ExecutionError`: If the job fails to execute.
241
- #[pyo3(signature = (quantum_processor_id, endpoint_id = None, translation_options = None, execution_options = None))]
241
+ #[pyo3(signature = (quantum_processor_id, translation_options = None, execution_options = None))]
242
242
  pub fn execute_on_qpu(
243
243
  &self,
244
244
  py: Python<'_>,
245
245
  quantum_processor_id: String,
246
- endpoint_id: Option<String>,
247
246
  translation_options: Option<TranslationOptions>,
248
247
  execution_options: Option<ExecutionOptions>,
249
248
  ) -> PyResult<ExecutionData> {
250
- match endpoint_id {
251
- Some(endpoint_id) => py_sync!(
252
- py,
253
- py_executable_data!(
254
- self,
255
- execute_on_qpu_with_endpoint,
256
- quantum_processor_id,
257
- endpoint_id,
258
- translation_options,
259
- )
260
- ),
261
- None => py_sync!(
262
- py,
263
- py_executable_data!(
264
- self,
265
- execute_on_qpu,
266
- quantum_processor_id,
267
- translation_options,
268
- &execution_options.unwrap_or_default(),
269
- )
270
- ),
271
- }
249
+ py_sync!(
250
+ py,
251
+ py_executable_data!(
252
+ self,
253
+ execute_on_qpu,
254
+ quantum_processor_id,
255
+ translation_options,
256
+ &execution_options.unwrap_or_default(),
257
+ )
258
+ )
272
259
  }
273
260
  /// Compile the program and execute it on a QPU, waiting for results
274
261
  /// (async analog of `Executable.execute_on_qpu`).
275
262
  ///
276
- /// :param `endpoint_id`: execute the compiled program against an explicitly provided endpoint.
277
- /// If `None`, the default endpoint for the given `quantum_processor_id` is used.
263
+ /// :param `execution_options`: To target a specific endpoint, use a ``ConnectionStrategy``
264
+ /// that carries an endpoint ID, e.g. ``ConnectionStrategy.EndpointId(...)``.
278
265
  ///
279
266
  /// :raises `ExecutionError`: If the job fails to execute.
280
- #[pyo3(signature = (quantum_processor_id, endpoint_id = None, translation_options = None, execution_options = None))]
267
+ #[pyo3(signature = (quantum_processor_id, translation_options = None, execution_options = None))]
281
268
  pub fn execute_on_qpu_async<'py>(
282
269
  &self,
283
270
  py: Python<'py>,
284
271
  quantum_processor_id: String,
285
- endpoint_id: Option<String>,
286
272
  translation_options: Option<TranslationOptions>,
287
273
  execution_options: Option<ExecutionOptions>,
288
274
  ) -> PyResult<Awaitable<'py, ExecutionData>> {
289
- match endpoint_id {
290
- Some(endpoint_id) => pyo3_async_runtimes::tokio::future_into_py(
291
- py,
292
- py_executable_data!(
293
- self,
294
- execute_on_qpu_with_endpoint,
295
- quantum_processor_id,
296
- endpoint_id,
297
- translation_options,
298
- ),
299
- ),
300
- None => pyo3_async_runtimes::tokio::future_into_py(
301
- py,
302
- py_executable_data!(
303
- self,
304
- execute_on_qpu,
305
- quantum_processor_id,
306
- translation_options,
307
- &execution_options.unwrap_or_default(),
308
- ),
275
+ pyo3_async_runtimes::tokio::future_into_py(
276
+ py,
277
+ py_executable_data!(
278
+ self,
279
+ execute_on_qpu,
280
+ quantum_processor_id,
281
+ translation_options,
282
+ &execution_options.unwrap_or_default(),
309
283
  ),
310
- }
284
+ )
311
285
  .map(Into::into)
312
286
  }
313
287
 
314
288
  /// Compile the program and execute it on a QPU, without waiting for results.
315
289
  ///
316
- /// :param `endpoint_id`: execute the compiled program against an explicitly provided endpoint.
317
- /// If `None`, the default endpoint for the given `quantum_processor_id` is used.
290
+ /// :param `execution_options`: To target a specific endpoint, use a ``ConnectionStrategy``
291
+ /// that carries an endpoint ID, e.g. ``ConnectionStrategy.EndpointId(...)``.
318
292
  ///
319
293
  /// :raises `ExecutionError`: If the job fails to execute.
320
- #[pyo3(signature = (quantum_processor_id, endpoint_id = None, translation_options = None, execution_options = None))]
294
+ #[pyo3(signature = (quantum_processor_id, translation_options = None, execution_options = None))]
321
295
  pub fn submit_to_qpu(
322
296
  &self,
323
297
  py: Python<'_>,
324
298
  quantum_processor_id: String,
325
- endpoint_id: Option<String>,
326
299
  translation_options: Option<TranslationOptions>,
327
300
  execution_options: Option<ExecutionOptions>,
328
301
  ) -> PyResult<PyJobHandle> {
329
- match endpoint_id {
330
- Some(endpoint_id) => py_sync!(
331
- py,
332
- py_job_handle!(
333
- self,
334
- submit_to_qpu_with_endpoint,
335
- quantum_processor_id,
336
- endpoint_id,
337
- translation_options,
338
- )
339
- ),
340
- None => py_sync!(
341
- py,
342
- py_job_handle!(
343
- self,
344
- submit_to_qpu,
345
- quantum_processor_id,
346
- translation_options,
347
- &execution_options.unwrap_or_default(),
348
- )
349
- ),
350
- }
302
+ py_sync!(
303
+ py,
304
+ py_job_handle!(
305
+ self,
306
+ submit_to_qpu,
307
+ quantum_processor_id,
308
+ translation_options,
309
+ &execution_options.unwrap_or_default(),
310
+ )
311
+ )
351
312
  }
352
313
 
353
314
  /// Compile the program and execute it on a QPU, without waiting for results
354
315
  /// (async analog of `Executable.submit_to_qpu`).
355
316
  ///
356
- /// :param `endpoint_id`: execute the compiled program against an explicitly provided endpoint.
357
- /// If `None`, the default endpoint for the given `quantum_processor_id` is used.
317
+ /// :param `execution_options`: To target a specific endpoint, use a ``ConnectionStrategy``
318
+ /// that carries an endpoint ID, e.g. ``ConnectionStrategy.EndpointId(...)``.
358
319
  ///
359
320
  /// :raises `ExecutionError`: If the job fails to execute.
360
- #[pyo3(signature = (quantum_processor_id, endpoint_id = None, translation_options = None, execution_options = None))]
321
+ #[pyo3(signature = (quantum_processor_id, translation_options = None, execution_options = None))]
361
322
  pub fn submit_to_qpu_async<'py>(
362
323
  &self,
363
324
  py: Python<'py>,
364
325
  quantum_processor_id: String,
365
- endpoint_id: Option<String>,
366
326
  translation_options: Option<TranslationOptions>,
367
327
  execution_options: Option<ExecutionOptions>,
368
328
  ) -> PyResult<Awaitable<'py, PyJobHandle>> {
369
- match endpoint_id {
370
- Some(endpoint_id) => pyo3_async_runtimes::tokio::future_into_py(
371
- py,
372
- py_job_handle!(
373
- self,
374
- submit_to_qpu_with_endpoint,
375
- quantum_processor_id,
376
- endpoint_id,
377
- translation_options,
378
- ),
379
- ),
380
- None => pyo3_async_runtimes::tokio::future_into_py(
381
- py,
382
- py_job_handle!(
383
- self,
384
- submit_to_qpu,
385
- quantum_processor_id,
386
- translation_options,
387
- &execution_options.unwrap_or_default(),
388
- ),
329
+ pyo3_async_runtimes::tokio::future_into_py(
330
+ py,
331
+ py_job_handle!(
332
+ self,
333
+ submit_to_qpu,
334
+ quantum_processor_id,
335
+ translation_options,
336
+ &execution_options.unwrap_or_default(),
389
337
  ),
390
- }
338
+ )
391
339
  .map(Into::into)
392
340
  }
393
341
 
@@ -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."));