iqm-station-control-client 11.2.1__py3-none-any.whl → 12.0.0__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 (50) 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 -503
  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 +42 -13
  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.2.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/METADATA +35 -36
  21. iqm_station_control_client-12.0.0.dist-info/RECORD +42 -0
  22. .DS_Store +0 -0
  23. iqm/.DS_Store +0 -0
  24. iqm/station_control/.DS_Store +0 -0
  25. iqm/station_control/client/.DS_Store +0 -0
  26. iqm/station_control/client/iqm_server/.DS_Store +0 -0
  27. iqm/station_control/client/iqm_server/__init__.py +0 -14
  28. iqm/station_control/client/iqm_server/proto/__init__.py +0 -43
  29. iqm/station_control/client/iqm_server/proto/calibration_pb2.py +0 -48
  30. iqm/station_control/client/iqm_server/proto/calibration_pb2.pyi +0 -45
  31. iqm/station_control/client/iqm_server/proto/calibration_pb2_grpc.py +0 -152
  32. iqm/station_control/client/iqm_server/proto/common_pb2.py +0 -43
  33. iqm/station_control/client/iqm_server/proto/common_pb2.pyi +0 -32
  34. iqm/station_control/client/iqm_server/proto/common_pb2_grpc.py +0 -17
  35. iqm/station_control/client/iqm_server/proto/job_pb2.py +0 -57
  36. iqm/station_control/client/iqm_server/proto/job_pb2.pyi +0 -107
  37. iqm/station_control/client/iqm_server/proto/job_pb2_grpc.py +0 -436
  38. iqm/station_control/client/iqm_server/proto/qc_pb2.py +0 -51
  39. iqm/station_control/client/iqm_server/proto/qc_pb2.pyi +0 -57
  40. iqm/station_control/client/iqm_server/proto/qc_pb2_grpc.py +0 -163
  41. iqm/station_control/client/iqm_server/proto/uuid_pb2.py +0 -39
  42. iqm/station_control/client/iqm_server/proto/uuid_pb2.pyi +0 -26
  43. iqm/station_control/client/iqm_server/proto/uuid_pb2_grpc.py +0 -17
  44. iqm/station_control/client/iqm_server/testing/__init__.py +0 -13
  45. iqm/station_control/client/iqm_server/testing/iqm_server_mock.py +0 -102
  46. iqm_station_control_client-11.2.1-py3-none-any.whl +0 -0
  47. iqm_station_control_client-11.2.1.dist-info/RECORD +0 -65
  48. {iqm_station_control_client-11.2.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/LICENSE.txt +0 -0
  49. {iqm_station_control_client-11.2.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/WHEEL +0 -0
  50. {iqm_station_control_client-11.2.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/top_level.txt +0 -0
@@ -52,7 +52,13 @@ class SweepDefinition(SweepBase):
52
52
 
53
53
  @dataclass(kw_only=True)
54
54
  class SweepData(SweepBase):
55
- """The content of the sweep stored in the database."""
55
+ """The content of the sweep stored in the database.
56
+
57
+ The raw data for each spot in the sweep is saved as NumPy arrays,
58
+ and the complete data for the whole sweep is saved as an ``xarray.Dataset``
59
+ which has ``SweepBase.sweeps`` as coordinates and
60
+ ``SweepBase.return_parameters`` data as ``xarray.DataArray`` s.
61
+ """
56
62
 
57
63
  created_timestamp: datetime
58
64
  """Time when the object was created in the database."""
@@ -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,22 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-station-control-client
3
- Version: 11.2.1
3
+ Version: 12.0.0
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
7
7
  Version 2.0, January 2004
8
8
  http://www.apache.org/licenses/
9
-
9
+
10
10
  TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
11
-
11
+
12
12
  1. Definitions.
13
-
13
+
14
14
  "License" shall mean the terms and conditions for use, reproduction,
15
15
  and distribution as defined by Sections 1 through 9 of this document.
16
-
16
+
17
17
  "Licensor" shall mean the copyright owner or entity authorized by
18
18
  the copyright owner that is granting the License.
19
-
19
+
20
20
  "Legal Entity" shall mean the union of the acting entity and all
21
21
  other entities that control, are controlled by, or are under common
22
22
  control with that entity. For the purposes of this definition,
@@ -24,24 +24,24 @@ License: Apache License
24
24
  direction or management of such entity, whether by contract or
25
25
  otherwise, or (ii) ownership of fifty percent (50%) or more of the
26
26
  outstanding shares, or (iii) beneficial ownership of such entity.
27
-
27
+
28
28
  "You" (or "Your") shall mean an individual or Legal Entity
29
29
  exercising permissions granted by this License.
30
-
30
+
31
31
  "Source" form shall mean the preferred form for making modifications,
32
32
  including but not limited to software source code, documentation
33
33
  source, and configuration files.
34
-
34
+
35
35
  "Object" form shall mean any form resulting from mechanical
36
36
  transformation or translation of a Source form, including but
37
37
  not limited to compiled object code, generated documentation,
38
38
  and conversions to other media types.
39
-
39
+
40
40
  "Work" shall mean the work of authorship, whether in Source or
41
41
  Object form, made available under the License, as indicated by a
42
42
  copyright notice that is included in or attached to the work
43
43
  (an example is provided in the Appendix below).
44
-
44
+
45
45
  "Derivative Works" shall mean any work, whether in Source or Object
46
46
  form, that is based on (or derived from) the Work and for which the
47
47
  editorial revisions, annotations, elaborations, or other modifications
@@ -49,7 +49,7 @@ License: Apache License
49
49
  of this License, Derivative Works shall not include works that remain
50
50
  separable from, or merely link (or bind by name) to the interfaces of,
51
51
  the Work and Derivative Works thereof.
52
-
52
+
53
53
  "Contribution" shall mean any work of authorship, including
54
54
  the original version of the Work and any modifications or additions
55
55
  to that Work or Derivative Works thereof, that is intentionally
@@ -63,18 +63,18 @@ License: Apache License
63
63
  Licensor for the purpose of discussing and improving the Work, but
64
64
  excluding communication that is conspicuously marked or otherwise
65
65
  designated in writing by the copyright owner as "Not a Contribution."
66
-
66
+
67
67
  "Contributor" shall mean Licensor and any individual or Legal Entity
68
68
  on behalf of whom a Contribution has been received by Licensor and
69
69
  subsequently incorporated within the Work.
70
-
70
+
71
71
  2. Grant of Copyright License. Subject to the terms and conditions of
72
72
  this License, each Contributor hereby grants to You a perpetual,
73
73
  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
74
74
  copyright license to reproduce, prepare Derivative Works of,
75
75
  publicly display, publicly perform, sublicense, and distribute the
76
76
  Work and such Derivative Works in Source or Object form.
77
-
77
+
78
78
  3. Grant of Patent License. Subject to the terms and conditions of
79
79
  this License, each Contributor hereby grants to You a perpetual,
80
80
  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
@@ -90,24 +90,24 @@ License: Apache License
90
90
  or contributory patent infringement, then any patent licenses
91
91
  granted to You under this License for that Work shall terminate
92
92
  as of the date such litigation is filed.
93
-
93
+
94
94
  4. Redistribution. You may reproduce and distribute copies of the
95
95
  Work or Derivative Works thereof in any medium, with or without
96
96
  modifications, and in Source or Object form, provided that You
97
97
  meet the following conditions:
98
-
98
+
99
99
  (a) You must give any other recipients of the Work or
100
100
  Derivative Works a copy of this License; and
101
-
101
+
102
102
  (b) You must cause any modified files to carry prominent notices
103
103
  stating that You changed the files; and
104
-
104
+
105
105
  (c) You must retain, in the Source form of any Derivative Works
106
106
  that You distribute, all copyright, patent, trademark, and
107
107
  attribution notices from the Source form of the Work,
108
108
  excluding those notices that do not pertain to any part of
109
109
  the Derivative Works; and
110
-
110
+
111
111
  (d) If the Work includes a "NOTICE" text file as part of its
112
112
  distribution, then any Derivative Works that You distribute must
113
113
  include a readable copy of the attribution notices contained
@@ -124,14 +124,14 @@ License: Apache License
124
124
  or as an addendum to the NOTICE text from the Work, provided
125
125
  that such additional attribution notices cannot be construed
126
126
  as modifying the License.
127
-
127
+
128
128
  You may add Your own copyright statement to Your modifications and
129
129
  may provide additional or different license terms and conditions
130
130
  for use, reproduction, or distribution of Your modifications, or
131
131
  for any such Derivative Works as a whole, provided Your use,
132
132
  reproduction, and distribution of the Work otherwise complies with
133
133
  the conditions stated in this License.
134
-
134
+
135
135
  5. Submission of Contributions. Unless You explicitly state otherwise,
136
136
  any Contribution intentionally submitted for inclusion in the Work
137
137
  by You to the Licensor shall be under the terms and conditions of
@@ -139,12 +139,12 @@ License: Apache License
139
139
  Notwithstanding the above, nothing herein shall supersede or modify
140
140
  the terms of any separate license agreement you may have executed
141
141
  with Licensor regarding such Contributions.
142
-
142
+
143
143
  6. Trademarks. This License does not grant permission to use the trade
144
144
  names, trademarks, service marks, or product names of the Licensor,
145
145
  except as required for reasonable and customary use in describing the
146
146
  origin of the Work and reproducing the content of the NOTICE file.
147
-
147
+
148
148
  7. Disclaimer of Warranty. Unless required by applicable law or
149
149
  agreed to in writing, Licensor provides the Work (and each
150
150
  Contributor provides its Contributions) on an "AS IS" BASIS,
@@ -154,7 +154,7 @@ License: Apache License
154
154
  PARTICULAR PURPOSE. You are solely responsible for determining the
155
155
  appropriateness of using or redistributing the Work and assume any
156
156
  risks associated with Your exercise of permissions under this License.
157
-
157
+
158
158
  8. Limitation of Liability. In no event and under no legal theory,
159
159
  whether in tort (including negligence), contract, or otherwise,
160
160
  unless required by applicable law (such as deliberate and grossly
@@ -166,7 +166,7 @@ License: Apache License
166
166
  work stoppage, computer failure or malfunction, or any and all
167
167
  other commercial damages or losses), even if such Contributor
168
168
  has been advised of the possibility of such damages.
169
-
169
+
170
170
  9. Accepting Warranty or Additional Liability. While redistributing
171
171
  the Work or Derivative Works thereof, You may choose to offer,
172
172
  and charge a fee for, acceptance of support, warranty, indemnity,
@@ -177,11 +177,11 @@ License: Apache License
177
177
  defend, and hold each Contributor harmless for any liability
178
178
  incurred by, or claims asserted against, such Contributor by reason
179
179
  of your accepting any such warranty or additional liability.
180
-
180
+
181
181
  END OF TERMS AND CONDITIONS
182
-
182
+
183
183
  APPENDIX: How to apply the Apache License to your work.
184
-
184
+
185
185
  To apply the Apache License to your work, attach the following
186
186
  boilerplate notice, with the fields enclosed by brackets "[]"
187
187
  replaced with your own identifying information. (Don't include
@@ -190,22 +190,21 @@ License: Apache License
190
190
  file or class name and description of purpose be included on the
191
191
  same "printed page" as the copyright notice for easier
192
192
  identification within third-party archives.
193
-
193
+
194
194
  Copyright 2024 IQM
195
-
195
+
196
196
  Licensed under the Apache License, Version 2.0 (the "License");
197
197
  you may not use this file except in compliance with the License.
198
198
  You may obtain a copy of the License at
199
-
199
+
200
200
  http://www.apache.org/licenses/LICENSE-2.0
201
-
201
+
202
202
  Unless required by applicable law or agreed to in writing, software
203
203
  distributed under the License is distributed on an "AS IS" BASIS,
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
-
208
- 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/
209
208
  Project-URL: Homepage, https://pypi.org/project/iqm-station-control-client/
210
209
  Classifier: Development Status :: 4 - Beta
211
210
  Classifier: Programming Language :: Python :: 3 :: Only
@@ -214,7 +213,6 @@ Classifier: Intended Audience :: Science/Research
214
213
  Requires-Python: >=3.11
215
214
  Description-Content-Type: text/x-rst
216
215
  License-File: LICENSE.txt
217
- Requires-Dist: iqm-exa-common <28,>=27
218
216
  Requires-Dist: iqm-data-definitions <3.0,>=2.18
219
217
  Requires-Dist: opentelemetry-exporter-otlp <2.0,>=1.25.0
220
218
  Requires-Dist: protobuf <5.0,>=4.25.3
@@ -226,6 +224,7 @@ Requires-Dist: requests ==2.32.3
226
224
  Requires-Dist: types-requests
227
225
  Requires-Dist: tqdm >=4.59.0
228
226
  Requires-Dist: types-tqdm
227
+ Requires-Dist: iqm-exa-common
229
228
 
230
229
  Station control client library
231
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.0.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
39
+ iqm_station_control_client-12.0.0.dist-info/METADATA,sha256=aRm4XEcKEtawuWiBdPzPZVf1HUQU5qneQJfaUON4PqM,14088
40
+ iqm_station_control_client-12.0.0.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
41
+ iqm_station_control_client-12.0.0.dist-info/top_level.txt,sha256=NB4XRfyDS6_wG9gMsyX-9LTU7kWnTQxNvkbzIxGv3-c,4
42
+ iqm_station_control_client-12.0.0.dist-info/RECORD,,
.DS_Store DELETED
Binary file
iqm/.DS_Store DELETED
Binary file
Binary file
Binary file
@@ -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)