iqm-station-control-client 11.3.1__py3-none-any.whl → 12.0.1__py3-none-any.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 (44) hide show
  1. iqm/station_control/client/authentication.py +239 -0
  2. iqm/station_control/client/iqm_server/error.py +0 -30
  3. iqm/station_control/client/iqm_server/grpc_utils.py +0 -156
  4. iqm/station_control/client/iqm_server/iqm_server_client.py +0 -489
  5. iqm/station_control/client/list_models.py +16 -11
  6. iqm/station_control/client/qon.py +1 -1
  7. iqm/station_control/client/serializers/run_serializers.py +5 -4
  8. iqm/station_control/client/serializers/struct_serializer.py +1 -1
  9. iqm/station_control/client/station_control.py +140 -154
  10. iqm/station_control/client/utils.py +4 -42
  11. iqm/station_control/interface/models/__init__.py +21 -2
  12. iqm/station_control/interface/models/circuit.py +348 -0
  13. iqm/station_control/interface/models/dynamic_quantum_architecture.py +61 -3
  14. iqm/station_control/interface/models/jobs.py +41 -12
  15. iqm/station_control/interface/models/observation_set.py +28 -4
  16. iqm/station_control/interface/models/run.py +8 -8
  17. iqm/station_control/interface/models/sweep.py +7 -1
  18. iqm/station_control/interface/models/type_aliases.py +1 -2
  19. iqm/station_control/interface/station_control.py +1 -1
  20. {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.1.dist-info}/METADATA +3 -3
  21. iqm_station_control_client-12.0.1.dist-info/RECORD +42 -0
  22. iqm/station_control/client/iqm_server/__init__.py +0 -14
  23. iqm/station_control/client/iqm_server/proto/__init__.py +0 -43
  24. iqm/station_control/client/iqm_server/proto/calibration_pb2.py +0 -48
  25. iqm/station_control/client/iqm_server/proto/calibration_pb2.pyi +0 -45
  26. iqm/station_control/client/iqm_server/proto/calibration_pb2_grpc.py +0 -152
  27. iqm/station_control/client/iqm_server/proto/common_pb2.py +0 -43
  28. iqm/station_control/client/iqm_server/proto/common_pb2.pyi +0 -32
  29. iqm/station_control/client/iqm_server/proto/common_pb2_grpc.py +0 -17
  30. iqm/station_control/client/iqm_server/proto/job_pb2.py +0 -57
  31. iqm/station_control/client/iqm_server/proto/job_pb2.pyi +0 -107
  32. iqm/station_control/client/iqm_server/proto/job_pb2_grpc.py +0 -436
  33. iqm/station_control/client/iqm_server/proto/qc_pb2.py +0 -51
  34. iqm/station_control/client/iqm_server/proto/qc_pb2.pyi +0 -57
  35. iqm/station_control/client/iqm_server/proto/qc_pb2_grpc.py +0 -163
  36. iqm/station_control/client/iqm_server/proto/uuid_pb2.py +0 -39
  37. iqm/station_control/client/iqm_server/proto/uuid_pb2.pyi +0 -26
  38. iqm/station_control/client/iqm_server/proto/uuid_pb2_grpc.py +0 -17
  39. iqm/station_control/client/iqm_server/testing/__init__.py +0 -13
  40. iqm/station_control/client/iqm_server/testing/iqm_server_mock.py +0 -102
  41. iqm_station_control_client-11.3.1.dist-info/RECORD +0 -59
  42. {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.1.dist-info}/LICENSE.txt +0 -0
  43. {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.1.dist-info}/WHEEL +0 -0
  44. {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.1.dist-info}/top_level.txt +0 -0
@@ -21,10 +21,9 @@ import numpy as np
21
21
  # Allow using string UUIDs in API calls directly for convenience.
22
22
  # StrUUID works if UUIDs will be serialized to strings by the client anyway,
23
23
  # and then deserialized back to UUID on the server side.
24
- StrUUID = str | UUID
24
+ StrUUID: TypeAlias = str | UUID
25
25
 
26
26
  DutType: TypeAlias = Literal["chip", "twpa"]
27
27
  GetObservationsMode: TypeAlias = Literal["all_latest", "tags_and", "tags_or", "sequence"]
28
28
  SoftwareVersionSet: TypeAlias = dict[str, str]
29
- Statuses: TypeAlias = list[tuple[str, int, int]]
30
29
  SweepResults: TypeAlias = dict[str, list[np.ndarray]]
@@ -506,6 +506,6 @@ class StationControlInterface(ABC):
506
506
  def abort_job(self, job_id: UUID) -> None:
507
507
  """Either remove a job from the queue, or abort it gracefully if it's already executing.
508
508
 
509
- The status of the job will be set to ``JobStatus.ABORTED``.
509
+ The status of the job will be set to ``JobExecutorStatus.ABORTED``.
510
510
  If the job is not found or is already finished nothing happens.
511
511
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-station-control-client
3
- Version: 11.3.1
3
+ Version: 12.0.1
4
4
  Summary: Python client for communicating with Station Control Service
5
5
  Author-email: IQM Finland Oy <info@meetiqm.com>
6
6
  License: Apache License
@@ -204,7 +204,7 @@ License: Apache License
204
204
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
205
205
  See the License for the specific language governing permissions and
206
206
  limitations under the License.
207
- Project-URL: Documentation, https://iqm-finland.github.io/docs/iqm-station-control-client/
207
+ Project-URL: Documentation, https://docs.meetiqm.com/iqm-station-control-client/
208
208
  Project-URL: Homepage, https://pypi.org/project/iqm-station-control-client/
209
209
  Classifier: Development Status :: 4 - Beta
210
210
  Classifier: Programming Language :: Python :: 3 :: Only
@@ -213,7 +213,6 @@ Classifier: Intended Audience :: Science/Research
213
213
  Requires-Python: >=3.11
214
214
  Description-Content-Type: text/x-rst
215
215
  License-File: LICENSE.txt
216
- Requires-Dist: iqm-exa-common <28,>=27
217
216
  Requires-Dist: iqm-data-definitions <3.0,>=2.18
218
217
  Requires-Dist: opentelemetry-exporter-otlp <2.0,>=1.25.0
219
218
  Requires-Dist: protobuf <5.0,>=4.25.3
@@ -225,6 +224,7 @@ Requires-Dist: requests ==2.32.3
225
224
  Requires-Dist: types-requests
226
225
  Requires-Dist: tqdm >=4.59.0
227
226
  Requires-Dist: types-tqdm
227
+ Requires-Dist: iqm-exa-common <28,>=27.4.1
228
228
 
229
229
  Station control client library
230
230
  ==============================
@@ -0,0 +1,42 @@
1
+ iqm/station_control/client/__init__.py,sha256=1ND-AkIE9xLGIscH3WN44eyll9nlFhXeyCm-8EDFGQ4,942
2
+ iqm/station_control/client/authentication.py,sha256=iZsAl5eqvaXlimeYwzcfWaUpXXrG9AeTQgJtScV_83o,8796
3
+ iqm/station_control/client/list_models.py,sha256=Iow8md80k7eBT83oDGJOwAKqc1IziGG0cL2uwYYoA8o,3097
4
+ iqm/station_control/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ iqm/station_control/client/qon.py,sha256=rzp4ZAM9kSi5vzVdGO69Ct7mDWT_xVjUQ0Z_8pr2OCg,27756
6
+ iqm/station_control/client/station_control.py,sha256=dZ4pUGxywQOtkgPGBi02Kn9jDlNNlx524Pq0hwuSE30,28674
7
+ iqm/station_control/client/utils.py,sha256=3UeYmTXai-R7Heu8LySRMfkhcesF-XxlemW_SKkkc3A,1335
8
+ iqm/station_control/client/iqm_server/error.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ iqm/station_control/client/iqm_server/grpc_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ iqm/station_control/client/iqm_server/iqm_server_client.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ iqm/station_control/client/serializers/__init__.py,sha256=eSAjgO5DME9jR1VmtA5-ewJG7rZ6AiWgAc-gs640_20,1436
12
+ iqm/station_control/client/serializers/channel_property_serializer.py,sha256=VuWRqyPTeKK0gPHgE2r29k5JcdkTzDOOAdcC5hd7Nok,7283
13
+ iqm/station_control/client/serializers/datetime_serializers.py,sha256=PzSDJFc81BtfTfBDJdeh98pfpwIhloxko-I4HjvjAEM,1122
14
+ iqm/station_control/client/serializers/playlist_serializers.py,sha256=ueB6IzeNx9Ube3phV9vqPY6NaSnO92p5wOdHqOtYUaI,18086
15
+ iqm/station_control/client/serializers/run_serializers.py,sha256=ZZgTDkIHOjfPE24muPop4rquYjAGnR_EV6jOutPQ7fY,6777
16
+ iqm/station_control/client/serializers/setting_node_serializer.py,sha256=ghqgINjEH0-rn_q8A8GFP9wOk4RVqC97HeAkFB4vwrk,1197
17
+ iqm/station_control/client/serializers/struct_serializer.py,sha256=gPrRx4eG9g9UAxSqlEYtuuXV7e0H36whxW7Dt4fczYQ,3264
18
+ iqm/station_control/client/serializers/sweep_serializers.py,sha256=iFeBb4RFbHpVZifyduUypACSvulhkzdQIyG0gDoXOwM,5807
19
+ iqm/station_control/client/serializers/task_serializers.py,sha256=mj5HWOolXLsqGaky7OYAWCW-BVp1RKN7vPtyiYpMaO8,3700
20
+ iqm/station_control/interface/__init__.py,sha256=bBjhkiUSdwmx-CoNrT8pI4eGStI9RFUcW5CdpIRrd5k,785
21
+ iqm/station_control/interface/list_with_meta.py,sha256=P8T83qIQvCssY-aWrvf3aT827PAw1f57oEasgZPyXKY,1294
22
+ iqm/station_control/interface/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ iqm/station_control/interface/pydantic_base.py,sha256=IfGW2fErFYRmhC5gjT26ueSwtW2S4eBW5xZDe7lutDg,1304
24
+ iqm/station_control/interface/station_control.py,sha256=-Z2Eg-gEInNgCsRYCG2ZV9AT28i7NPrOjRs0KxU6dqw,20441
25
+ iqm/station_control/interface/models/__init__.py,sha256=-iwI9Vmy9yvChVZf0m9Y8wpmd_wbI3p352ayVtX5zaQ,2430
26
+ iqm/station_control/interface/models/circuit.py,sha256=4Q9DwKsngla1bgsaDbZHakE9ngxJVwzV1y8XBlcF7Tw,15357
27
+ iqm/station_control/interface/models/dut.py,sha256=Jp8rgi5e6ecDbU0fw9cgxn_9JczeTPkxYb7oIBv31ko,1155
28
+ iqm/station_control/interface/models/dynamic_quantum_architecture.py,sha256=a0PvFlw-xaq2jUcjiSN4FE7UHnVlCFaxOBxMpZVOkjE,7030
29
+ iqm/station_control/interface/models/jobs.py,sha256=9cKocjoonUBFotDLNG2-jIU3zVUaNu7qcdNKlO4NfiQ,8281
30
+ iqm/station_control/interface/models/monitor.py,sha256=ItlgxtBup1hHg64uKeMKiFE7MaRRqSYdVRttsFD_XeU,1352
31
+ iqm/station_control/interface/models/observation.py,sha256=IblYdzJN88BNlyxUVR_dIx7BgD_GHGLhHUwy89Fib-I,3281
32
+ iqm/station_control/interface/models/observation_set.py,sha256=1sGvWA19jW2CcSkeelLOQ6X-U_5i23XHy8SjOmJnw0w,5187
33
+ iqm/station_control/interface/models/run.py,sha256=UzL8abHzVku6KJZMhG0z5s5Z0l-fHDyX5nLfOmliLos,4260
34
+ iqm/station_control/interface/models/sequence.py,sha256=boWlMfP3woVgVObW3OaNbxsUV_qHYP1DA-oIBWj6XIo,2723
35
+ iqm/station_control/interface/models/static_quantum_architecture.py,sha256=kt_rCExRd6zyatWVJCmCSf-gYdbEFfij3DfM0wBrPHI,2103
36
+ iqm/station_control/interface/models/sweep.py,sha256=8b3dT-Q1uwFZNRNYcXPCje60DCge_liVbKgyKx7ZNNc,2787
37
+ iqm/station_control/interface/models/type_aliases.py,sha256=QYmy8Pfs34b45Y0RZzCWfRY52Qg_zNcLoL_x1PWVmBw,1181
38
+ iqm_station_control_client-12.0.1.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
39
+ iqm_station_control_client-12.0.1.dist-info/METADATA,sha256=eM2nlTXiCQNh3PmjWprYr4j7KyzhR2KuLE8DfbG73x0,14101
40
+ iqm_station_control_client-12.0.1.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
41
+ iqm_station_control_client-12.0.1.dist-info/top_level.txt,sha256=NB4XRfyDS6_wG9gMsyX-9LTU7kWnTQxNvkbzIxGv3-c,4
42
+ iqm_station_control_client-12.0.1.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- """StationControlClient implementation for IQM Server"""
@@ -1,43 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- from .calibration_pb2 import (
15
- CalibrationLookupV1,
16
- CalibrationMetadataV1,
17
- LatestQuantumComputerCalibrationLookupV1,
18
- )
19
- from .calibration_pb2_grpc import CalibrationsStub, CalibrationsServicer, Calibrations
20
- from .common_pb2 import Empty, DataChunk, Keepalive
21
- from .job_pb2 import (
22
- JobType,
23
- JobStatus,
24
- JobInputSummaryV1,
25
- JobV1,
26
- JobLookupV1,
27
- SubmitJobRequestV1,
28
- JobEventV1,
29
- )
30
- from .job_pb2_grpc import JobsStub, JobsServicer, Jobs
31
- from .qc_pb2 import (
32
- QuantumComputerLookupV1,
33
- QuantumComputerResourceLookupV1,
34
- ListQuantumComputerFiltersV1,
35
- QuantumComputerV1,
36
- QuantumComputersListV1,
37
- )
38
- from .qc_pb2_grpc import (
39
- QuantumComputersStub,
40
- QuantumComputersServicer,
41
- QuantumComputers,
42
- )
43
- from .uuid_pb2 import Uuid
@@ -1,48 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # -*- coding: utf-8 -*-
15
- # Generated by the protocol buffer compiler. DO NOT EDIT!
16
- # source: calibration.proto
17
- # Protobuf Python Version: 4.25.1
18
- """Generated protocol buffer code."""
19
- from google.protobuf import descriptor as _descriptor
20
- from google.protobuf import descriptor_pool as _descriptor_pool
21
- from google.protobuf import symbol_database as _symbol_database
22
- from google.protobuf.internal import builder as _builder
23
- # @@protoc_insertion_point(imports)
24
-
25
- _sym_db = _symbol_database.Default()
26
-
27
-
28
- from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
29
- from . import common_pb2 as common__pb2
30
- from . import uuid_pb2 as uuid__pb2
31
-
32
-
33
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x63\x61libration.proto\x12\niqm.server\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0c\x63ommon.proto\x1a\nuuid.proto\"K\n(LatestQuantumComputerCalibrationLookupV1\x12\x1f\n\x05qc_id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\"3\n\x13\x43\x61librationLookupV1\x12\x1c\n\x02id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\"\x8a\x01\n\x15\x43\x61librationMetadataV1\x12\x1c\n\x02id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\x12.\n\ncreated_at\x18\x02 \x02(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tdut_label\x18\x03 \x02(\t\x12\x10\n\x08is_valid\x18\x04 \x02(\x08\x32\xbf\x02\n\x0c\x43\x61librations\x12\x80\x01\n%GetLatestQuantumComputerCalibrationV1\x12\x34.iqm.server.LatestQuantumComputerCalibrationLookupV1\x1a!.iqm.server.CalibrationMetadataV1\x12V\n\x10GetCalibrationV1\x12\x1f.iqm.server.CalibrationLookupV1\x1a!.iqm.server.CalibrationMetadataV1\x12T\n\x18GetFullCalibrationDataV1\x12\x1f.iqm.server.CalibrationLookupV1\x1a\x15.iqm.server.DataChunk0\x01')
34
-
35
- _globals = globals()
36
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
37
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'calibration_pb2', _globals)
38
- if _descriptor._USE_C_DESCRIPTORS == False:
39
- DESCRIPTOR._options = None
40
- _globals['_LATESTQUANTUMCOMPUTERCALIBRATIONLOOKUPV1']._serialized_start=92
41
- _globals['_LATESTQUANTUMCOMPUTERCALIBRATIONLOOKUPV1']._serialized_end=167
42
- _globals['_CALIBRATIONLOOKUPV1']._serialized_start=169
43
- _globals['_CALIBRATIONLOOKUPV1']._serialized_end=220
44
- _globals['_CALIBRATIONMETADATAV1']._serialized_start=223
45
- _globals['_CALIBRATIONMETADATAV1']._serialized_end=361
46
- _globals['_CALIBRATIONS']._serialized_start=364
47
- _globals['_CALIBRATIONS']._serialized_end=683
48
- # @@protoc_insertion_point(module_scope)
@@ -1,45 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- from google.protobuf import timestamp_pb2 as _timestamp_pb2
15
- from . import common_pb2 as _common_pb2
16
- from . import uuid_pb2 as _uuid_pb2
17
- from google.protobuf import descriptor as _descriptor
18
- from google.protobuf import message as _message
19
- from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
20
-
21
- DESCRIPTOR: _descriptor.FileDescriptor
22
-
23
- class LatestQuantumComputerCalibrationLookupV1(_message.Message):
24
- __slots__ = ("qc_id",)
25
- QC_ID_FIELD_NUMBER: _ClassVar[int]
26
- qc_id: _uuid_pb2.Uuid
27
- def __init__(self, qc_id: _Optional[_Union[_uuid_pb2.Uuid, _Mapping]] = ...) -> None: ...
28
-
29
- class CalibrationLookupV1(_message.Message):
30
- __slots__ = ("id",)
31
- ID_FIELD_NUMBER: _ClassVar[int]
32
- id: _uuid_pb2.Uuid
33
- def __init__(self, id: _Optional[_Union[_uuid_pb2.Uuid, _Mapping]] = ...) -> None: ...
34
-
35
- class CalibrationMetadataV1(_message.Message):
36
- __slots__ = ("id", "created_at", "dut_label", "is_valid")
37
- ID_FIELD_NUMBER: _ClassVar[int]
38
- CREATED_AT_FIELD_NUMBER: _ClassVar[int]
39
- DUT_LABEL_FIELD_NUMBER: _ClassVar[int]
40
- IS_VALID_FIELD_NUMBER: _ClassVar[int]
41
- id: _uuid_pb2.Uuid
42
- created_at: _timestamp_pb2.Timestamp
43
- dut_label: str
44
- is_valid: bool
45
- def __init__(self, id: _Optional[_Union[_uuid_pb2.Uuid, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., dut_label: _Optional[str] = ..., is_valid: bool = ...) -> None: ...
@@ -1,152 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
15
- """Client and server classes corresponding to protobuf-defined services."""
16
- import grpc
17
-
18
- from . import calibration_pb2 as calibration__pb2
19
- from . import common_pb2 as common__pb2
20
-
21
-
22
- class CalibrationsStub(object):
23
- """Missing associated documentation comment in .proto file."""
24
-
25
- def __init__(self, channel):
26
- """Constructor.
27
-
28
- Args:
29
- channel: A grpc.Channel.
30
- """
31
- self.GetLatestQuantumComputerCalibrationV1 = channel.unary_unary(
32
- '/iqm.server.Calibrations/GetLatestQuantumComputerCalibrationV1',
33
- request_serializer=calibration__pb2.LatestQuantumComputerCalibrationLookupV1.SerializeToString,
34
- response_deserializer=calibration__pb2.CalibrationMetadataV1.FromString,
35
- )
36
- self.GetCalibrationV1 = channel.unary_unary(
37
- '/iqm.server.Calibrations/GetCalibrationV1',
38
- request_serializer=calibration__pb2.CalibrationLookupV1.SerializeToString,
39
- response_deserializer=calibration__pb2.CalibrationMetadataV1.FromString,
40
- )
41
- self.GetFullCalibrationDataV1 = channel.unary_stream(
42
- '/iqm.server.Calibrations/GetFullCalibrationDataV1',
43
- request_serializer=calibration__pb2.CalibrationLookupV1.SerializeToString,
44
- response_deserializer=common__pb2.DataChunk.FromString,
45
- )
46
-
47
-
48
- class CalibrationsServicer(object):
49
- """Missing associated documentation comment in .proto file."""
50
-
51
- def GetLatestQuantumComputerCalibrationV1(self, request, context):
52
- """Missing associated documentation comment in .proto file."""
53
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
54
- context.set_details('Method not implemented!')
55
- raise NotImplementedError('Method not implemented!')
56
-
57
- def GetCalibrationV1(self, request, context):
58
- """Missing associated documentation comment in .proto file."""
59
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
60
- context.set_details('Method not implemented!')
61
- raise NotImplementedError('Method not implemented!')
62
-
63
- def GetFullCalibrationDataV1(self, request, context):
64
- """*
65
- Get the calibration set for a given QC.
66
-
67
- The calibration set is returned as bytes data that contains the JSON
68
- representation of the calibration set data. If the calibration set is
69
- not found, a `NOT_FOUND` error status is returned.
70
- """
71
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
72
- context.set_details('Method not implemented!')
73
- raise NotImplementedError('Method not implemented!')
74
-
75
-
76
- def add_CalibrationsServicer_to_server(servicer, server):
77
- rpc_method_handlers = {
78
- 'GetLatestQuantumComputerCalibrationV1': grpc.unary_unary_rpc_method_handler(
79
- servicer.GetLatestQuantumComputerCalibrationV1,
80
- request_deserializer=calibration__pb2.LatestQuantumComputerCalibrationLookupV1.FromString,
81
- response_serializer=calibration__pb2.CalibrationMetadataV1.SerializeToString,
82
- ),
83
- 'GetCalibrationV1': grpc.unary_unary_rpc_method_handler(
84
- servicer.GetCalibrationV1,
85
- request_deserializer=calibration__pb2.CalibrationLookupV1.FromString,
86
- response_serializer=calibration__pb2.CalibrationMetadataV1.SerializeToString,
87
- ),
88
- 'GetFullCalibrationDataV1': grpc.unary_stream_rpc_method_handler(
89
- servicer.GetFullCalibrationDataV1,
90
- request_deserializer=calibration__pb2.CalibrationLookupV1.FromString,
91
- response_serializer=common__pb2.DataChunk.SerializeToString,
92
- ),
93
- }
94
- generic_handler = grpc.method_handlers_generic_handler(
95
- 'iqm.server.Calibrations', rpc_method_handlers)
96
- server.add_generic_rpc_handlers((generic_handler,))
97
-
98
-
99
- # This class is part of an EXPERIMENTAL API.
100
- class Calibrations(object):
101
- """Missing associated documentation comment in .proto file."""
102
-
103
- @staticmethod
104
- def GetLatestQuantumComputerCalibrationV1(request,
105
- target,
106
- options=(),
107
- channel_credentials=None,
108
- call_credentials=None,
109
- insecure=False,
110
- compression=None,
111
- wait_for_ready=None,
112
- timeout=None,
113
- metadata=None):
114
- return grpc.experimental.unary_unary(request, target, '/iqm.server.Calibrations/GetLatestQuantumComputerCalibrationV1',
115
- calibration__pb2.LatestQuantumComputerCalibrationLookupV1.SerializeToString,
116
- calibration__pb2.CalibrationMetadataV1.FromString,
117
- options, channel_credentials,
118
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
119
-
120
- @staticmethod
121
- def GetCalibrationV1(request,
122
- target,
123
- options=(),
124
- channel_credentials=None,
125
- call_credentials=None,
126
- insecure=False,
127
- compression=None,
128
- wait_for_ready=None,
129
- timeout=None,
130
- metadata=None):
131
- return grpc.experimental.unary_unary(request, target, '/iqm.server.Calibrations/GetCalibrationV1',
132
- calibration__pb2.CalibrationLookupV1.SerializeToString,
133
- calibration__pb2.CalibrationMetadataV1.FromString,
134
- options, channel_credentials,
135
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
136
-
137
- @staticmethod
138
- def GetFullCalibrationDataV1(request,
139
- target,
140
- options=(),
141
- channel_credentials=None,
142
- call_credentials=None,
143
- insecure=False,
144
- compression=None,
145
- wait_for_ready=None,
146
- timeout=None,
147
- metadata=None):
148
- return grpc.experimental.unary_stream(request, target, '/iqm.server.Calibrations/GetFullCalibrationDataV1',
149
- calibration__pb2.CalibrationLookupV1.SerializeToString,
150
- common__pb2.DataChunk.FromString,
151
- options, channel_credentials,
152
- insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -1,43 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # -*- coding: utf-8 -*-
15
- # Generated by the protocol buffer compiler. DO NOT EDIT!
16
- # source: common.proto
17
- # Protobuf Python Version: 4.25.1
18
- """Generated protocol buffer code."""
19
- from google.protobuf import descriptor as _descriptor
20
- from google.protobuf import descriptor_pool as _descriptor_pool
21
- from google.protobuf import symbol_database as _symbol_database
22
- from google.protobuf.internal import builder as _builder
23
- # @@protoc_insertion_point(imports)
24
-
25
- _sym_db = _symbol_database.Default()
26
-
27
-
28
-
29
-
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\niqm.server\"\x07\n\x05\x45mpty\"\x0b\n\tKeepalive\"\x19\n\tDataChunk\x12\x0c\n\x04\x64\x61ta\x18\x01 \x02(\x0c')
31
-
32
- _globals = globals()
33
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'common_pb2', _globals)
35
- if _descriptor._USE_C_DESCRIPTORS == False:
36
- DESCRIPTOR._options = None
37
- _globals['_EMPTY']._serialized_start=28
38
- _globals['_EMPTY']._serialized_end=35
39
- _globals['_KEEPALIVE']._serialized_start=37
40
- _globals['_KEEPALIVE']._serialized_end=48
41
- _globals['_DATACHUNK']._serialized_start=50
42
- _globals['_DATACHUNK']._serialized_end=75
43
- # @@protoc_insertion_point(module_scope)
@@ -1,32 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- from google.protobuf import descriptor as _descriptor
15
- from google.protobuf import message as _message
16
- from typing import ClassVar as _ClassVar, Optional as _Optional
17
-
18
- DESCRIPTOR: _descriptor.FileDescriptor
19
-
20
- class Empty(_message.Message):
21
- __slots__ = ()
22
- def __init__(self) -> None: ...
23
-
24
- class Keepalive(_message.Message):
25
- __slots__ = ()
26
- def __init__(self) -> None: ...
27
-
28
- class DataChunk(_message.Message):
29
- __slots__ = ("data",)
30
- DATA_FIELD_NUMBER: _ClassVar[int]
31
- data: bytes
32
- def __init__(self, data: _Optional[bytes] = ...) -> None: ...
@@ -1,17 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
15
- """Client and server classes corresponding to protobuf-defined services."""
16
- import grpc
17
-
@@ -1,57 +0,0 @@
1
- # Copyright 2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # -*- coding: utf-8 -*-
15
- # Generated by the protocol buffer compiler. DO NOT EDIT!
16
- # source: job.proto
17
- # Protobuf Python Version: 4.25.1
18
- """Generated protocol buffer code."""
19
- from google.protobuf import descriptor as _descriptor
20
- from google.protobuf import descriptor_pool as _descriptor_pool
21
- from google.protobuf import symbol_database as _symbol_database
22
- from google.protobuf.internal import builder as _builder
23
- # @@protoc_insertion_point(imports)
24
-
25
- _sym_db = _symbol_database.Default()
26
-
27
-
28
- from . import common_pb2 as common__pb2
29
- from . import uuid_pb2 as uuid__pb2
30
- from . import qc_pb2 as qc__pb2
31
- from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
32
-
33
-
34
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tjob.proto\x12\niqm.server\x1a\x0c\x63ommon.proto\x1a\nuuid.proto\x1a\x08qc.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcf\x03\n\x05JobV1\x12\x1c\n\x02id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\x12!\n\x04type\x18\x02 \x02(\x0e\x32\x13.iqm.server.JobType\x12\x37\n\x10quantum_computer\x18\x03 \x02(\x0b\x32\x1d.iqm.server.QuantumComputerV1\x12,\n\x05input\x18\x05 \x02(\x0b\x32\x1d.iqm.server.JobInputSummaryV1\x12%\n\x06status\x18\x06 \x02(\x0e\x32\x15.iqm.server.JobStatus\x12\x16\n\x0equeue_position\x18\x07 \x01(\r\x12\r\n\x05\x65rror\x18\x08 \x01(\t\x12.\n\ncreated_at\x18\t \x02(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\n \x02(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14\x65xecution_started_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12\x65xecution_ended_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"[\n\x11JobInputSummaryV1\x12%\n\x08job_type\x18\x01 \x02(\x0e\x32\x13.iqm.server.JobType\x12\r\n\x05shots\x18\x02 \x02(\x05\x12\x10\n\x08\x63ircuits\x18\x03 \x02(\x05\"f\n\nJobEventV1\x12*\n\tkeepalive\x18\x01 \x01(\x0b\x32\x15.iqm.server.KeepaliveH\x00\x12#\n\x06update\x18\x02 \x01(\x0b\x32\x11.iqm.server.JobV1H\x00\x42\x07\n\x05value\"+\n\x0bJobLookupV1\x12\x1c\n\x02id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\"\x7f\n\x12SubmitJobRequestV1\x12\x1f\n\x05qc_id\x18\x01 \x02(\x0b\x32\x10.iqm.server.Uuid\x12!\n\x04type\x18\x02 \x02(\x0e\x32\x13.iqm.server.JobType\x12\x0f\n\x07payload\x18\x03 \x02(\x0c\x12\x14\n\x0cuse_timeslot\x18\x04 \x01(\x08*!\n\x07JobType\x12\x0b\n\x07\x43IRCUIT\x10\x00\x12\t\n\x05PULSE\x10\x01*c\n\tJobStatus\x12\x0c\n\x08IN_QUEUE\x10\x00\x12\r\n\tEXECUTING\x10\x01\x12\r\n\tCOMPLETED\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0f\n\x0bINTERRUPTED\x10\x05\x32\x8c\x03\n\x04Jobs\x12@\n\x0bSubmitJobV1\x12\x1e.iqm.server.SubmitJobRequestV1\x1a\x11.iqm.server.JobV1\x12\x36\n\x08GetJobV1\x12\x17.iqm.server.JobLookupV1\x1a\x11.iqm.server.JobV1\x12\x45\n\x10SubscribeToJobV1\x12\x17.iqm.server.JobLookupV1\x1a\x16.iqm.server.JobEventV10\x01\x12\x43\n\x0fGetJobPayloadV1\x12\x17.iqm.server.JobLookupV1\x1a\x15.iqm.server.DataChunk0\x01\x12\x43\n\x0fGetJobResultsV1\x12\x17.iqm.server.JobLookupV1\x1a\x15.iqm.server.DataChunk0\x01\x12\x39\n\x0b\x43\x61ncelJobV1\x12\x17.iqm.server.JobLookupV1\x1a\x11.iqm.server.JobV1')
35
-
36
- _globals = globals()
37
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
38
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'job_pb2', _globals)
39
- if _descriptor._USE_C_DESCRIPTORS == False:
40
- DESCRIPTOR._options = None
41
- _globals['_JOBTYPE']._serialized_start=931
42
- _globals['_JOBTYPE']._serialized_end=964
43
- _globals['_JOBSTATUS']._serialized_start=966
44
- _globals['_JOBSTATUS']._serialized_end=1065
45
- _globals['_JOBV1']._serialized_start=95
46
- _globals['_JOBV1']._serialized_end=558
47
- _globals['_JOBINPUTSUMMARYV1']._serialized_start=560
48
- _globals['_JOBINPUTSUMMARYV1']._serialized_end=651
49
- _globals['_JOBEVENTV1']._serialized_start=653
50
- _globals['_JOBEVENTV1']._serialized_end=755
51
- _globals['_JOBLOOKUPV1']._serialized_start=757
52
- _globals['_JOBLOOKUPV1']._serialized_end=800
53
- _globals['_SUBMITJOBREQUESTV1']._serialized_start=802
54
- _globals['_SUBMITJOBREQUESTV1']._serialized_end=929
55
- _globals['_JOBS']._serialized_start=1068
56
- _globals['_JOBS']._serialized_end=1464
57
- # @@protoc_insertion_point(module_scope)