qcs-sdk-python 0.26.0__cp313-cp313-win_amd64.whl

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 (36) hide show
  1. README-py.md +111 -0
  2. THIRDPARTY.yaml +40894 -0
  3. qcs_sdk/__init__.py +23 -0
  4. qcs_sdk/__init__.pyi +441 -0
  5. qcs_sdk/_qcs_sdk.cp313-win_amd64.pyd +0 -0
  6. qcs_sdk/_tracing_subscriber/.stubtest-allowlist +7 -0
  7. qcs_sdk/_tracing_subscriber/__init__.py +17 -0
  8. qcs_sdk/_tracing_subscriber/__init__.pyi +131 -0
  9. qcs_sdk/_tracing_subscriber/common/__init__.py +18 -0
  10. qcs_sdk/_tracing_subscriber/common/__init__.pyi +46 -0
  11. qcs_sdk/_tracing_subscriber/layers/__init__.py +18 -0
  12. qcs_sdk/_tracing_subscriber/layers/__init__.pyi +30 -0
  13. qcs_sdk/_tracing_subscriber/layers/file/__init__.py +19 -0
  14. qcs_sdk/_tracing_subscriber/layers/file/__init__.pyi +42 -0
  15. qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.py +18 -0
  16. qcs_sdk/_tracing_subscriber/layers/otel_otlp/__init__.pyi +118 -0
  17. qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.py +18 -0
  18. qcs_sdk/_tracing_subscriber/layers/otel_otlp_file/__init__.pyi +38 -0
  19. qcs_sdk/_tracing_subscriber/subscriber/__init__.py +18 -0
  20. qcs_sdk/_tracing_subscriber/subscriber/__init__.pyi +25 -0
  21. qcs_sdk/client.pyi +124 -0
  22. qcs_sdk/compiler/__init__.pyi +5 -0
  23. qcs_sdk/compiler/quilc.pyi +316 -0
  24. qcs_sdk/diagnostics.pyi +36 -0
  25. qcs_sdk/qpu/__init__.pyi +216 -0
  26. qcs_sdk/qpu/api.pyi +484 -0
  27. qcs_sdk/qpu/experimental/__init__.pyi +5 -0
  28. qcs_sdk/qpu/experimental/random.pyi +98 -0
  29. qcs_sdk/qpu/isa.pyi +472 -0
  30. qcs_sdk/qpu/translation.pyi +180 -0
  31. qcs_sdk/qvm/__init__.pyi +162 -0
  32. qcs_sdk/qvm/api.pyi +236 -0
  33. qcs_sdk_python-0.26.0.dist-info/METADATA +130 -0
  34. qcs_sdk_python-0.26.0.dist-info/RECORD +36 -0
  35. qcs_sdk_python-0.26.0.dist-info/WHEEL +4 -0
  36. qcs_sdk_python-0.26.0.dist-info/sboms/qcs.cyclonedx.json +19204 -0
@@ -0,0 +1,316 @@
1
+ # This file is automatically generated by pyo3_stub_gen
2
+ # ruff: noqa: E501, F401
3
+
4
+ import builtins
5
+ import collections.abc
6
+ import typing
7
+ from qcs_sdk import QcsSdkError
8
+ from qcs_sdk.qpu.isa import InstructionSetArchitecture
9
+ from quil.program import Program
10
+
11
+ @typing.final
12
+ class CompilationResult:
13
+ r"""
14
+ The result of compiling a Quil program to native quil with `quilc`
15
+ """
16
+ @property
17
+ def native_quil_metadata(self) -> typing.Optional[NativeQuilMetadata]:
18
+ r"""
19
+ Metadata about the compiled program
20
+ """
21
+ @property
22
+ def program(self) -> Program:
23
+ r"""
24
+ The compiled program
25
+ """
26
+
27
+ @typing.final
28
+ class CompilerOpts:
29
+ r"""
30
+ A set of options that determine the behavior of compiling programs with quilc
31
+ """
32
+ def __new__(cls, timeout: typing.Optional[builtins.float] = 30.0, protoquil: typing.Optional[builtins.bool] = None) -> CompilerOpts:
33
+ r"""
34
+ Create a new instance of `CompilerOpts`.
35
+ """
36
+ @staticmethod
37
+ def default() -> CompilerOpts:
38
+ r"""
39
+ Create a new instance of `CompilerOpts` with default values.
40
+ """
41
+
42
+ @typing.final
43
+ class ConjugateByCliffordRequest:
44
+ r"""
45
+ Request to conjugate a Pauli Term by a Clifford element.
46
+ """
47
+ @property
48
+ def clifford(self) -> builtins.str:
49
+ r"""
50
+ Clifford element.
51
+ """
52
+ @property
53
+ def pauli(self) -> PauliTerm:
54
+ r"""
55
+ Pauli Term to conjugate.
56
+ """
57
+ def __new__(cls, pauli: PauliTerm, clifford: builtins.str) -> ConjugateByCliffordRequest: ...
58
+
59
+ @typing.final
60
+ class ConjugatePauliByCliffordRequest:
61
+ r"""
62
+ The "outer" request shape for a `conjugate_pauli_by_clifford` request.
63
+ """
64
+ @property
65
+ def args(self) -> builtins.list[ConjugateByCliffordRequest]: ...
66
+
67
+ @typing.final
68
+ class ConjugatePauliByCliffordResponse:
69
+ r"""
70
+ Conjugate Pauli by Clifford response.
71
+ """
72
+ @property
73
+ def pauli(self) -> builtins.str:
74
+ r"""
75
+ Description of the encoded Pauli.
76
+ """
77
+ @property
78
+ def phase(self) -> builtins.int:
79
+ r"""
80
+ Encoded global phase factor on the emitted Pauli.
81
+ """
82
+
83
+ @typing.final
84
+ class GenerateRandomizedBenchmarkingSequenceResponse:
85
+ r"""
86
+ Randomly generated benchmarking sequence response.
87
+ """
88
+ @property
89
+ def sequence(self) -> builtins.list[builtins.list[builtins.int]]:
90
+ r"""
91
+ List of Cliffords, each expressed as a list of generator indices.
92
+ """
93
+
94
+ @typing.final
95
+ class NativeQuilMetadata:
96
+ r"""
97
+ Metadata about a program compiled to native quil.
98
+ """
99
+ def __eq__(self, other: builtins.object) -> builtins.bool: ...
100
+ def __getnewargs__(self) -> tuple[typing.Optional[builtins.list[builtins.int]], typing.Optional[builtins.int], typing.Optional[builtins.int], typing.Optional[builtins.int], typing.Optional[builtins.float], typing.Optional[builtins.float], typing.Optional[builtins.int], typing.Optional[builtins.float]]: ...
101
+ def __new__(cls, final_rewiring: typing.Optional[typing.Sequence[builtins.int]], gate_depth: typing.Optional[builtins.int], gate_volume: typing.Optional[builtins.int], multiqubit_gate_depth: typing.Optional[builtins.int], program_duration: typing.Optional[builtins.float], program_fidelity: typing.Optional[builtins.float], topological_swaps: typing.Optional[builtins.int], qpu_runtime_estimation: typing.Optional[builtins.float]) -> NativeQuilMetadata:
102
+ r"""
103
+ Construct a new `NativeQuilMetadata` from arguments.
104
+ """
105
+ def __repr__(self) -> builtins.str:
106
+ r"""
107
+ Implements `__repr__` for Python in terms of the Rust
108
+ [`Debug`](std::fmt::Debug) implementation.
109
+ """
110
+
111
+ @typing.final
112
+ class PauliTerm:
113
+ r"""
114
+ Pauli Term
115
+ """
116
+ @property
117
+ def indices(self) -> builtins.list[builtins.int]:
118
+ r"""
119
+ Qubit indices onto which the factors of the Pauli term are applied.
120
+ """
121
+ @property
122
+ def symbols(self) -> builtins.list[builtins.str]:
123
+ r"""
124
+ Ordered factors of the Pauli term.
125
+ """
126
+ def __new__(cls, indices: typing.Sequence[builtins.int], symbols: typing.Sequence[builtins.str]) -> PauliTerm: ...
127
+
128
+ @typing.final
129
+ class QuilcClient:
130
+ r"""
131
+ Client used to communicate with Quilc.
132
+ """
133
+ def __new__(cls) -> QuilcClient: ...
134
+ @staticmethod
135
+ def new_libquil() -> QuilcClient: ...
136
+ @staticmethod
137
+ def new_rpcq(endpoint: builtins.str) -> QuilcClient:
138
+ r"""
139
+ Construct a `QuilcClient` that uses RPCQ to communicate with Quilc.
140
+ """
141
+
142
+ class QuilcError(QcsSdkError):
143
+ r"""
144
+ Errors encountered compiling a Quil program.
145
+ """
146
+ ...
147
+
148
+ @typing.final
149
+ class RandomizedBenchmarkingRequest:
150
+ r"""
151
+ Request to generate a randomized benchmarking sequence.
152
+ """
153
+ @property
154
+ def depth(self) -> builtins.int:
155
+ r"""
156
+ Depth of the benchmarking sequence.
157
+ """
158
+ @property
159
+ def gateset(self) -> builtins.list[builtins.str]:
160
+ r"""
161
+ List of Quil programs, each describing a Clifford.
162
+ """
163
+ @property
164
+ def interleaver(self) -> typing.Optional[builtins.str]:
165
+ r"""
166
+ Fixed Clifford, specified as a Quil string, to interleave through an RB sequence.
167
+ """
168
+ @property
169
+ def qubits(self) -> builtins.int:
170
+ r"""
171
+ Number of qubits involved in the benchmarking sequence.
172
+ """
173
+ @property
174
+ def seed(self) -> typing.Optional[builtins.int]:
175
+ r"""
176
+ PRNG seed. Set this to guarantee repeatable results.
177
+ """
178
+ def __new__(cls, depth: builtins.int, qubits: builtins.int, gateset: typing.Sequence[builtins.str], seed: typing.Optional[builtins.int], interleaver: typing.Optional[builtins.str]) -> RandomizedBenchmarkingRequest: ...
179
+
180
+ @typing.final
181
+ class TargetDevice:
182
+ r"""
183
+ Description of a device to compile for.
184
+ """
185
+ @staticmethod
186
+ def from_isa(isa: InstructionSetArchitecture) -> TargetDevice:
187
+ r"""
188
+ Create a [`TargetDevice`] based on an [`InstructionSetArchitecture`].
189
+
190
+ # Errors
191
+
192
+ Returns a [`QuilcError`] if the [`InstructionSetArchitecture`]
193
+ cannot be converted into a format that Quilc understands.
194
+ """
195
+ @staticmethod
196
+ def from_json(value: builtins.str) -> TargetDevice:
197
+ r"""
198
+ Create a [`TargetDevice`] from a JSON string.
199
+
200
+ # Errors
201
+
202
+ Returns a [`QuilcError`] if the JSON is malformed.
203
+ """
204
+
205
+ def compile_program(quil: builtins.str, target: TargetDevice, client: QuilcClient, options: typing.Optional[CompilerOpts] = None) -> CompilationResult:
206
+ r"""
207
+ Compile a quil program for a target device.
208
+
209
+ :param quil: The Quil program to compile.
210
+ :param target: Architectural description of device to compile for.
211
+ :param client: Client used to send compilation requests to Quilc.
212
+ :param options: Optional compiler options. If ``None``, default values are used.
213
+
214
+ :raises QuilcError: If compilation fails.
215
+ """
216
+
217
+ def compile_program_async(quil: builtins.str, target: TargetDevice, client: QuilcClient, options: typing.Optional[CompilerOpts] = None) -> collections.abc.Awaitable[CompilationResult]:
218
+ r"""
219
+ Compile a quil program for a target device.
220
+
221
+ :param quil: The Quil program to compile.
222
+ :param target: Architectural description of device to compile for.
223
+ :param client: Client used to send compilation requests to Quilc.
224
+ :param options: Optional compiler options. If ``None``, default values are used.
225
+
226
+ :raises QuilcError: If compilation fails.
227
+ """
228
+
229
+ def conjugate_pauli_by_clifford(request: ConjugateByCliffordRequest, client: QuilcClient) -> ConjugatePauliByCliffordResponse:
230
+ r"""
231
+ Given a circuit that consists only of elements of the Clifford group, return its action on a PauliTerm.
232
+ In particular, for Clifford C, and Pauli P, this returns the PauliTerm representing CPC^{\dagger}.
233
+
234
+ :param request: Pauli Term conjugation request.
235
+ :param client: Client used to send compilation requests to Quilc.
236
+
237
+ :raises QuilcError: If there is a failure connecting to Quilc or if the request is malformed.
238
+ """
239
+
240
+ def conjugate_pauli_by_clifford_async(request: ConjugateByCliffordRequest, client: QuilcClient) -> collections.abc.Awaitable[ConjugatePauliByCliffordResponse]:
241
+ r"""
242
+ Given a circuit that consists only of elements of the Clifford group, return its action on a PauliTerm.
243
+ In particular, for Clifford C, and Pauli P, this returns the PauliTerm representing CPC^{\dagger}.
244
+
245
+ :param request: Pauli Term conjugation request.
246
+ :param client: Client used to send compilation requests to Quilc.
247
+
248
+ :raises QuilcError: If there is a failure connecting to Quilc or if the request is malformed.
249
+ """
250
+
251
+ def generate_randomized_benchmarking_sequence(request: RandomizedBenchmarkingRequest, client: QuilcClient) -> GenerateRandomizedBenchmarkingSequenceResponse:
252
+ r"""
253
+ Construct a randomized benchmarking experiment on the given qubits, decomposing into
254
+ gateset. If interleaver is not provided, the returned sequence will have the form
255
+
256
+ ```ignore
257
+ C_1 C_2 ... C_(depth-1) C_inv ,
258
+ ```
259
+
260
+ where each C is a Clifford element drawn from gateset, C_{< depth} are randomly selected,
261
+ and C_inv is selected so that the entire sequence composes to the identity. If an
262
+ interleaver G (which must be a Clifford, and which will be decomposed into the native
263
+ gateset) is provided, then the sequence instead takes the form
264
+
265
+ ```ignore
266
+ C_1 G C_2 G ... C_(depth-1) G C_inv .
267
+ ```
268
+
269
+ :param request: Randomized benchmarking request.
270
+ :param client: Client used to send compilation requests to Quilc.
271
+
272
+ :raises QuilcError: If there is a failure connecting to Quilc or if the request is malformed.
273
+ """
274
+
275
+ def generate_randomized_benchmarking_sequence_async(request: RandomizedBenchmarkingRequest, client: QuilcClient) -> collections.abc.Awaitable[GenerateRandomizedBenchmarkingSequenceResponse]:
276
+ r"""
277
+ Construct a randomized benchmarking experiment on the given qubits, decomposing into
278
+ gateset. If interleaver is not provided, the returned sequence will have the form
279
+
280
+ ```ignore
281
+ C_1 C_2 ... C_(depth-1) C_inv ,
282
+ ```
283
+
284
+ where each C is a Clifford element drawn from gateset, C_{< depth} are randomly selected,
285
+ and C_inv is selected so that the entire sequence composes to the identity. If an
286
+ interleaver G (which must be a Clifford, and which will be decomposed into the native
287
+ gateset) is provided, then the sequence instead takes the form
288
+
289
+ ```ignore
290
+ C_1 G C_2 G ... C_(depth-1) G C_inv .
291
+ ```
292
+
293
+ :param request: Randomized benchmarking request.
294
+ :param client: Client used to send compilation requests to Quilc.
295
+
296
+ :raises QuilcError: If there is a failure connecting to Quilc or if the request is malformed.
297
+ """
298
+
299
+ def get_version_info(client: QuilcClient) -> builtins.str:
300
+ r"""
301
+ Fetch the version information from the running Quilc service.
302
+
303
+ :param client: Client used to send compilation requests to Quilc.
304
+
305
+ :raises QuilcError: If there is a failure connecting to Quilc.
306
+ """
307
+
308
+ def get_version_info_async(client: QuilcClient) -> collections.abc.Awaitable[builtins.str]:
309
+ r"""
310
+ Fetch the version information from the running Quilc service.
311
+
312
+ :param client: Client used to send compilation requests to Quilc.
313
+
314
+ :raises QuilcError: If there is a failure connecting to Quilc.
315
+ """
316
+
@@ -0,0 +1,36 @@
1
+ # This file is automatically generated by pyo3_stub_gen
2
+ # ruff: noqa: E501, F401
3
+
4
+ import builtins
5
+ import collections.abc
6
+
7
+ def get_report() -> builtins.str:
8
+ r"""
9
+ Return a string describing the package and its environment for use in bug reporting and diagnosis.
10
+
11
+ This is a synchronous wrapper around `get_report_async`.
12
+ Use that version in async environments.
13
+
14
+ Note: this format is not stable and its content may change between versions.
15
+ """
16
+
17
+ def get_report_async() -> collections.abc.Awaitable[builtins.str]:
18
+ r"""
19
+ Return a string describing the package and its environment for use in bug reporting and diagnosis.
20
+
21
+ Note: this format is not stable and its content may change between versions.
22
+
23
+ # Python Usage
24
+
25
+ ```python
26
+ import asyncio
27
+ from qcs_sdk import diagnostics
28
+
29
+ async def main():
30
+ return await diagnostics.get_report_async()
31
+
32
+ report = asyncio.run(main())
33
+ print(report)
34
+ ```
35
+ """
36
+
@@ -0,0 +1,216 @@
1
+ # This file is automatically generated by pyo3_stub_gen
2
+ # ruff: noqa: E501, F401
3
+
4
+ import builtins
5
+ import collections.abc
6
+ import typing
7
+ from qcs_sdk import QcsSdkError, RegisterMap
8
+ from qcs_sdk.client import QCSClient
9
+ from . import api
10
+ from . import experimental
11
+ from . import isa
12
+ from . import translation
13
+
14
+ class ListQuantumProcessorsError(QcsSdkError):
15
+ r"""
16
+ API Errors encountered when trying to list available quantum processors.
17
+ """
18
+ ...
19
+
20
+ class MemoryValues:
21
+ r"""
22
+ A row of data containing the contents of a memory region at the end of a job.
23
+
24
+ There is a variant for each possible type the memory region could be.
25
+ """
26
+ def __getnewargs__(self) -> tuple[builtins.list[builtins.int] | builtins.list[builtins.float]]: ...
27
+ def __new__(cls, values: typing.Sequence[builtins.int] | typing.Sequence[builtins.float]) -> MemoryValues: ...
28
+ def inner(self) -> builtins.list[builtins.int] | builtins.list[builtins.float]: ...
29
+ @typing.final
30
+ class Binary(MemoryValues):
31
+ r"""
32
+ Values that correspond to a memory region declared with the BIT or OCTET data type.
33
+ """
34
+ __match_args__ = ("_0",)
35
+ @property
36
+ def _0(self) -> builtins.list[builtins.int]: ...
37
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
38
+ def __len__(self) -> builtins.int: ...
39
+ def __new__(cls, _0: typing.Sequence[builtins.int]) -> MemoryValues.Binary: ...
40
+
41
+ @typing.final
42
+ class Integer(MemoryValues):
43
+ r"""
44
+ Values that correspond to a memory region declared with the INTEGER data type.
45
+ """
46
+ __match_args__ = ("_0",)
47
+ @property
48
+ def _0(self) -> builtins.list[builtins.int]: ...
49
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
50
+ def __len__(self) -> builtins.int: ...
51
+ def __new__(cls, _0: typing.Sequence[builtins.int]) -> MemoryValues.Integer: ...
52
+
53
+ @typing.final
54
+ class Real(MemoryValues):
55
+ r"""
56
+ Values that correspond to a memory region declared with the REAL data type.
57
+ """
58
+ __match_args__ = ("_0",)
59
+ @property
60
+ def _0(self) -> builtins.list[builtins.float]: ...
61
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
62
+ def __len__(self) -> builtins.int: ...
63
+ def __new__(cls, _0: typing.Sequence[builtins.float]) -> MemoryValues.Real: ...
64
+
65
+
66
+ @typing.final
67
+ class QPUResultData:
68
+ r"""
69
+ Encapsulates data returned from the QPU after executing a job.
70
+
71
+ `QpuResultData` contains "mappings", which map declared memory regions
72
+ in a program (ie. "ro[0]") to that region's readout key in `QpuResultData.readout_values`.
73
+ `readout_values` maps those readout keys to the values emitted for that region
74
+ across all shots.
75
+
76
+ Read more about QPU readout data in the
77
+ [QCS Documentation](https://docs.rigetti.com/qcs/guides/qpus-vs-qvms#qpu-readout-data)
78
+ """
79
+ @property
80
+ def mappings(self) -> builtins.dict[builtins.str, builtins.str]:
81
+ r"""
82
+ Mappings of a memory region (ie. "ro[0]") to its key name in `readout_values` (ie. "q0").
83
+ """
84
+ @property
85
+ def memory_values(self) -> builtins.dict[builtins.str, MemoryValues]:
86
+ r"""
87
+ The final contents of each memory region, keyed on region name.
88
+ """
89
+ @property
90
+ def readout_values(self) -> builtins.dict[builtins.str, ReadoutValues]:
91
+ r"""
92
+ Mapping of a readout values identifier (ie. "q0") to a set of `ReadoutValues`.
93
+ """
94
+ def __getnewargs__(self) -> tuple[builtins.dict[builtins.str, builtins.str], builtins.dict[builtins.str, ReadoutValues], builtins.dict[builtins.str, MemoryValues]]: ...
95
+ def __new__(cls, mappings: typing.Mapping[builtins.str, builtins.str], readout_values: typing.Mapping[builtins.str, ReadoutValues], memory_values: typing.Mapping[builtins.str, MemoryValues]) -> QPUResultData:
96
+ r"""
97
+ Construct a new `QPUResultData` from mappings and values.
98
+ """
99
+ def __repr__(self) -> builtins.str:
100
+ r"""
101
+ Implements `__repr__` for Python in terms of the Rust
102
+ [`Debug`](std::fmt::Debug) implementation.
103
+ """
104
+ def to_raw_readout_data(self) -> RawQPUReadoutData:
105
+ r"""
106
+ Get the raw readout data as a flattened structure.
107
+ """
108
+ def to_register_map(self) -> RegisterMap:
109
+ r"""
110
+ Convert into a [`RegisterMap`].
111
+
112
+ The [`RegisterMatrix`] for each register will be
113
+ constructed such that each row contains all the final values in the register for a single shot.
114
+
115
+ # Errors
116
+
117
+ Returns a [`RegisterMatrixConversionError`] if the execution data for any of the
118
+ registers would result in a jagged matrix.
119
+ [`QpuResultData`] data is captured per measure,
120
+ meaning a value is returned for every measure to a memory reference, not just once per shot.
121
+
122
+ This is often the case in programs that use mid-circuit measurement or dynamic control flow,
123
+ where measurements to the same memory reference might occur multiple times in a shot, or be
124
+ skipped conditionally. In these cases, building a rectangular [`RegisterMatrix`] would
125
+ necessitate making assumptions about the data that could skew the data in undesirable ways.
126
+ Instead, it's recommended to manually build a matrix from [`QpuResultData`] that accurately
127
+ selects the last value per-shot based on the program that was run.
128
+ """
129
+
130
+ @typing.final
131
+ class RawQPUReadoutData:
132
+ r"""
133
+ A wrapper type for data returned by the QPU in a more flat structure than
134
+ [`QpuResultData`] offers. This makes it more convenient to work with
135
+ the data if you don't care what type of number the readout values for
136
+ each register contains.
137
+ """
138
+ @property
139
+ def mappings(self) -> builtins.dict[builtins.str, builtins.str]: ...
140
+ @property
141
+ def memory_values(self) -> builtins.dict[builtins.str, list]: ...
142
+ @property
143
+ def readout_values(self) -> builtins.dict[builtins.str, list]: ...
144
+ def __repr__(self) -> builtins.str:
145
+ r"""
146
+ Implements `__repr__` for Python in terms of the Rust
147
+ [`Debug`](std::fmt::Debug) implementation.
148
+ """
149
+
150
+ class ReadoutValues:
151
+ r"""
152
+ A row of readout values from the QPU.
153
+
154
+ Each row contains all the values emitted to a memory reference across all shots.
155
+ There is a variant for each possible type the list of readout values could be.
156
+ """
157
+ def __getnewargs__(self) -> tuple[builtins.list[builtins.int] | builtins.list[builtins.float] | builtins.list[builtins.complex]]: ...
158
+ def __new__(cls, values: typing.Sequence[builtins.int] | typing.Sequence[builtins.float] | typing.Sequence[builtins.complex]) -> ReadoutValues: ...
159
+ def inner(self) -> builtins.list[builtins.int] | builtins.list[builtins.float] | builtins.list[builtins.complex]: ...
160
+ @typing.final
161
+ class Complex(ReadoutValues):
162
+ r"""
163
+ Complex readout values
164
+ """
165
+ __match_args__ = ("_0",)
166
+ @property
167
+ def _0(self) -> builtins.list[builtins.complex]: ...
168
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
169
+ def __len__(self) -> builtins.int: ...
170
+ def __new__(cls, _0: typing.Sequence[builtins.complex]) -> ReadoutValues.Complex: ...
171
+
172
+ @typing.final
173
+ class Integer(ReadoutValues):
174
+ r"""
175
+ Integer readout values
176
+ """
177
+ __match_args__ = ("_0",)
178
+ @property
179
+ def _0(self) -> builtins.list[builtins.int]: ...
180
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
181
+ def __len__(self) -> builtins.int: ...
182
+ def __new__(cls, _0: typing.Sequence[builtins.int]) -> ReadoutValues.Integer: ...
183
+
184
+ @typing.final
185
+ class Real(ReadoutValues):
186
+ r"""
187
+ Real numbered readout values
188
+ """
189
+ __match_args__ = ("_0",)
190
+ @property
191
+ def _0(self) -> builtins.list[builtins.float]: ...
192
+ def __getitem__(self, key: builtins.int) -> typing.Any: ...
193
+ def __len__(self) -> builtins.int: ...
194
+ def __new__(cls, _0: typing.Sequence[builtins.float]) -> ReadoutValues.Real: ...
195
+
196
+
197
+ def list_quantum_processors(client: typing.Optional[QCSClient] = None, timeout: typing.Optional[builtins.float] = None) -> builtins.list[builtins.str]:
198
+ r"""
199
+ Returns all available Quantum Processor (QPU) IDs.
200
+
201
+ :param client: The ``Qcs`` client to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
202
+ :param timeout: Maximum duration to wait for API calls to complete, in seconds.
203
+
204
+ :raises ListQuantumProcessorsError: If the request to list available QPU IDs failed.
205
+ """
206
+
207
+ def list_quantum_processors_async(client: typing.Optional[QCSClient] = None, timeout: typing.Optional[builtins.float] = None) -> collections.abc.Awaitable[builtins.list[builtins.str]]:
208
+ r"""
209
+ Returns all available Quantum Processor (QPU) IDs.
210
+
211
+ :param client: The ``Qcs`` client to use. Creates one using environment configuration if unset - see https://docs.rigetti.com/qcs/references/qcs-client-configuration
212
+ :param timeout: Maximum duration to wait for API calls to complete, in seconds.
213
+
214
+ :raises ListQuantumProcessorsError: If the request to list available QPU IDs failed.
215
+ """
216
+