iqm-station-control-client 11.1.0__py3-none-any.whl → 11.2.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.
- .DS_Store +0 -0
- iqm/.DS_Store +0 -0
- iqm/station_control/.DS_Store +0 -0
- iqm/station_control/client/.DS_Store +0 -0
- iqm/station_control/client/iqm_server/.DS_Store +0 -0
- iqm/station_control/client/iqm_server/iqm_server_client.py +2 -1
- iqm/station_control/client/list_models.py +12 -2
- iqm/station_control/client/station_control.py +7 -7
- iqm/station_control/interface/list_with_meta.py +8 -2
- iqm/station_control/interface/models/dut.py +9 -10
- iqm/station_control/interface/models/static_quantum_architecture.py +22 -1
- iqm/station_control/interface/models/type_aliases.py +6 -6
- iqm/station_control/interface/pydantic_base.py +1 -0
- iqm_station_control_client-11.2.1-py3-none-any.whl +0 -0
- {iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/METADATA +35 -34
- {iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/RECORD +19 -13
- {iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/LICENSE.txt +0 -0
- {iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/WHEEL +0 -0
- {iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/top_level.txt +0 -0
.DS_Store
ADDED
|
Binary file
|
iqm/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -296,9 +296,10 @@ class IqmServerClient(_StationControlClientBase):
|
|
|
296
296
|
with wrap_error("Job loading failed"):
|
|
297
297
|
jobs = proto.JobsStub(self._channel)
|
|
298
298
|
job: proto.JobV1 = jobs.GetJobV1(proto.JobLookupV1(id=to_proto_uuid(job_id)))
|
|
299
|
+
job_st = ["pending_execution", "executing", "ready", "cancelled", "failed", "interrupted"][int(job.status)]
|
|
299
300
|
return JobData(
|
|
300
301
|
job_id=from_proto_uuid(job.id),
|
|
301
|
-
job_status=
|
|
302
|
+
job_status=job_st, # type: ignore[arg-type]
|
|
302
303
|
job_result=JobResult(
|
|
303
304
|
job_id=from_proto_uuid(job.id),
|
|
304
305
|
parallel_sweep_progress=[],
|
|
@@ -31,14 +31,20 @@ from iqm.station_control.interface.models import (
|
|
|
31
31
|
ObservationUpdate,
|
|
32
32
|
RunLite,
|
|
33
33
|
SequenceMetadataData,
|
|
34
|
+
StaticQuantumArchitecture,
|
|
34
35
|
)
|
|
35
36
|
from iqm.station_control.interface.pydantic_base import PydanticBase
|
|
36
37
|
|
|
37
38
|
T = TypeVar("T")
|
|
38
39
|
|
|
39
40
|
|
|
40
|
-
class
|
|
41
|
-
"""Class used for
|
|
41
|
+
class ListWithMetaResponse(PydanticBase, Generic[T]):
|
|
42
|
+
"""Class used for list endpoints to envelope the items to a dict with additional metadata.
|
|
43
|
+
|
|
44
|
+
This should be used only in REST API communication (JSON). For Python users,
|
|
45
|
+
this model should be deserialized to :class:`iqm.pulse.ListWithMeta`:,
|
|
46
|
+
which behaves like a standard list.
|
|
47
|
+
"""
|
|
42
48
|
|
|
43
49
|
items: list[T]
|
|
44
50
|
meta: Meta | None = None
|
|
@@ -96,5 +102,9 @@ class SequenceMetadataDataList(ListModel):
|
|
|
96
102
|
root: list[SequenceMetadataData]
|
|
97
103
|
|
|
98
104
|
|
|
105
|
+
class StaticQuantumArchitectureList(ListModel):
|
|
106
|
+
root: list[StaticQuantumArchitecture]
|
|
107
|
+
|
|
108
|
+
|
|
99
109
|
class RunLiteList(ListModel):
|
|
100
110
|
root: list[RunLite]
|
|
@@ -44,12 +44,12 @@ from iqm.station_control.client.list_models import (
|
|
|
44
44
|
DutFieldDataList,
|
|
45
45
|
DutList,
|
|
46
46
|
ListModel,
|
|
47
|
+
ListWithMetaResponse,
|
|
47
48
|
ObservationDataList,
|
|
48
49
|
ObservationDefinitionList,
|
|
49
50
|
ObservationLiteList,
|
|
50
51
|
ObservationSetDataList,
|
|
51
52
|
ObservationUpdateList,
|
|
52
|
-
ResponseWithMeta,
|
|
53
53
|
RunLiteList,
|
|
54
54
|
SequenceMetadataDataList,
|
|
55
55
|
)
|
|
@@ -181,7 +181,7 @@ class _StationControlClientBase(StationControlInterface):
|
|
|
181
181
|
if not response.ok:
|
|
182
182
|
try:
|
|
183
183
|
response_json = response.json()
|
|
184
|
-
error_message = response_json.get("message")
|
|
184
|
+
error_message = response_json.get("message")
|
|
185
185
|
except (json.JSONDecodeError, KeyError):
|
|
186
186
|
error_message = response.text
|
|
187
187
|
|
|
@@ -215,7 +215,7 @@ class _StationControlClientBase(StationControlInterface):
|
|
|
215
215
|
headers["Content-Type"] = "application/json; charset=UTF-8"
|
|
216
216
|
elif octets is not None:
|
|
217
217
|
data = octets
|
|
218
|
-
headers["Content-Type"] = "application/
|
|
218
|
+
headers["Content-Type"] = "application/protobuf"
|
|
219
219
|
|
|
220
220
|
if self._enable_opentelemetry:
|
|
221
221
|
parent_span_context = trace.set_span_in_context(trace.get_current_span())
|
|
@@ -310,7 +310,7 @@ class StationControlClient(_StationControlClientBase):
|
|
|
310
310
|
|
|
311
311
|
@cache
|
|
312
312
|
def get_channel_properties(self) -> dict[str, ChannelProperties]:
|
|
313
|
-
headers = {"accept": "application/
|
|
313
|
+
headers = {"accept": "application/protobuf"}
|
|
314
314
|
response = self._send_request(requests.get, "channel-properties", headers=headers)
|
|
315
315
|
decoded_dict = unpack_channel_properties(response.content)
|
|
316
316
|
return decoded_dict
|
|
@@ -620,11 +620,11 @@ class StationControlClient(_StationControlClientBase):
|
|
|
620
620
|
# This validates the provided data as a JSON string or bytes object.
|
|
621
621
|
# If your incoming data is a JSON payload, this is generally considered faster.
|
|
622
622
|
if list_with_meta:
|
|
623
|
-
|
|
624
|
-
meta =
|
|
623
|
+
list_with_meta_response: ListWithMetaResponse = ListWithMetaResponse.model_validate_json(response.text)
|
|
624
|
+
meta = list_with_meta_response.meta or Meta()
|
|
625
625
|
if meta and meta.errors:
|
|
626
626
|
logger.warning("Errors in station control response:\n - %s", "\n - ".join(meta.errors))
|
|
627
|
-
return ListWithMeta(model_class.model_validate(
|
|
627
|
+
return ListWithMeta(model_class.model_validate(list_with_meta_response.items), meta=meta)
|
|
628
628
|
model = model_class.model_validate_json(response.text)
|
|
629
629
|
if isinstance(model, ListModel):
|
|
630
630
|
return model.root
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
from collections.abc import Iterable
|
|
17
17
|
from dataclasses import dataclass
|
|
18
|
+
from typing import Generic, TypeVar
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
@dataclass(kw_only=True)
|
|
@@ -28,9 +29,14 @@ class Meta:
|
|
|
28
29
|
errors: list[str] | None = None
|
|
29
30
|
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
T = TypeVar("T")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ListWithMeta(list, Generic[T]):
|
|
32
36
|
"""Standard list extension holding optional metadata as well."""
|
|
33
37
|
|
|
34
|
-
|
|
38
|
+
meta: Meta | None
|
|
39
|
+
|
|
40
|
+
def __init__(self, items: Iterable[T], *, meta: Meta | None = None):
|
|
35
41
|
super().__init__(items)
|
|
36
42
|
self.meta = meta
|
|
@@ -17,16 +17,6 @@ from iqm.station_control.interface.models.type_aliases import DutType
|
|
|
17
17
|
from iqm.station_control.interface.pydantic_base import PydanticBase
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class DutData(PydanticBase):
|
|
21
|
-
"""Represents a Device Under Test, or DUT, for short."""
|
|
22
|
-
|
|
23
|
-
label: str
|
|
24
|
-
"""DUT label of the device."""
|
|
25
|
-
dut_type: DutType
|
|
26
|
-
"""String indicating the DUT type of the device
|
|
27
|
-
Can be either 'chip' or 'twpa'."""
|
|
28
|
-
|
|
29
|
-
|
|
30
20
|
class DutFieldData(PydanticBase):
|
|
31
21
|
"""A DUT field or path and its unit."""
|
|
32
22
|
|
|
@@ -34,3 +24,12 @@ class DutFieldData(PydanticBase):
|
|
|
34
24
|
"""DUT field or path."""
|
|
35
25
|
unit: str
|
|
36
26
|
"""SI unit of the value. Empty string means the value is dimensionless."""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class DutData(PydanticBase):
|
|
30
|
+
"""Represents a Device Under Test, or DUT, for short."""
|
|
31
|
+
|
|
32
|
+
label: str
|
|
33
|
+
"""DUT label of the device."""
|
|
34
|
+
dut_type: DutType
|
|
35
|
+
"""Type of the device."""
|
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Static quantum architecture (SQA) related interface models."""
|
|
15
15
|
|
|
16
|
-
from
|
|
16
|
+
from typing import Any
|
|
17
|
+
import warnings
|
|
18
|
+
|
|
19
|
+
from pydantic import Field, model_validator
|
|
17
20
|
|
|
18
21
|
from iqm.station_control.interface.pydantic_base import PydanticBase
|
|
19
22
|
|
|
@@ -24,6 +27,13 @@ class StaticQuantumArchitecture(PydanticBase):
|
|
|
24
27
|
For example, the names of its components and the connections between them.
|
|
25
28
|
"""
|
|
26
29
|
|
|
30
|
+
# Optional *for now* since 2025-10-04 (backwards compatible)
|
|
31
|
+
dut_label: str | None = Field(
|
|
32
|
+
default=None,
|
|
33
|
+
json_schema_extra={"x-optional-deprecated": True},
|
|
34
|
+
)
|
|
35
|
+
"""Identifies the QPU."""
|
|
36
|
+
|
|
27
37
|
qubits: list[str] = Field(
|
|
28
38
|
examples=[["QB1", "QB2"]],
|
|
29
39
|
)
|
|
@@ -38,3 +48,14 @@ class StaticQuantumArchitecture(PydanticBase):
|
|
|
38
48
|
examples=[[("QB1", "QB2"), ("QB1", "CR1")]],
|
|
39
49
|
)
|
|
40
50
|
"""Components (qubits and computational resonators) connected by a coupler on the QPU, sorted."""
|
|
51
|
+
|
|
52
|
+
@model_validator(mode="before")
|
|
53
|
+
@classmethod
|
|
54
|
+
def _warn_missing_dut_label(cls, data: Any) -> Any:
|
|
55
|
+
if isinstance(data, dict) and "dut_label" not in data:
|
|
56
|
+
warnings.warn(
|
|
57
|
+
"Missing 'dut_label'. This field will become REQUIRED in a future release.",
|
|
58
|
+
DeprecationWarning,
|
|
59
|
+
stacklevel=2,
|
|
60
|
+
)
|
|
61
|
+
return data
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Type hint aliases used in the station control interface."""
|
|
15
15
|
|
|
16
|
-
from typing import Literal
|
|
16
|
+
from typing import Literal, TypeAlias
|
|
17
17
|
from uuid import UUID
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
@@ -23,8 +23,8 @@ import numpy as np
|
|
|
23
23
|
# and then deserialized back to UUID on the server side.
|
|
24
24
|
StrUUID = str | UUID
|
|
25
25
|
|
|
26
|
-
DutType = Literal["chip", "twpa"]
|
|
27
|
-
GetObservationsMode = Literal["all_latest", "tags_and", "tags_or", "sequence"]
|
|
28
|
-
SoftwareVersionSet = dict[str, str]
|
|
29
|
-
Statuses = list[tuple[str, int, int]]
|
|
30
|
-
SweepResults = dict[str, list[np.ndarray]]
|
|
26
|
+
DutType: TypeAlias = Literal["chip", "twpa"]
|
|
27
|
+
GetObservationsMode: TypeAlias = Literal["all_latest", "tags_and", "tags_or", "sequence"]
|
|
28
|
+
SoftwareVersionSet: TypeAlias = dict[str, str]
|
|
29
|
+
Statuses: TypeAlias = list[tuple[str, int, int]]
|
|
30
|
+
SweepResults: TypeAlias = dict[str, list[np.ndarray]]
|
|
@@ -18,6 +18,7 @@ from pydantic import BaseModel, ConfigDict
|
|
|
18
18
|
|
|
19
19
|
class PydanticBase(BaseModel):
|
|
20
20
|
"""Pydantic base model to change the behaviour of pydantic globally.
|
|
21
|
+
|
|
21
22
|
Note that setting model_config in child classes will merge the configs rather than override this one.
|
|
22
23
|
https://docs.pydantic.dev/latest/concepts/config/#change-behaviour-globally
|
|
23
24
|
"""
|
|
Binary file
|
{iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/METADATA
RENAMED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iqm-station-control-client
|
|
3
|
-
Version: 11.1
|
|
3
|
+
Version: 11.2.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
|
|
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,20 +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
|
+
|
|
207
208
|
Project-URL: Documentation, https://iqm-finland.github.io/docs/iqm-station-control-client/
|
|
208
209
|
Project-URL: Homepage, https://pypi.org/project/iqm-station-control-client/
|
|
209
210
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -214,7 +215,7 @@ Requires-Python: >=3.11
|
|
|
214
215
|
Description-Content-Type: text/x-rst
|
|
215
216
|
License-File: LICENSE.txt
|
|
216
217
|
Requires-Dist: iqm-exa-common <28,>=27
|
|
217
|
-
Requires-Dist: iqm-data-definitions <3.0,>=2.
|
|
218
|
+
Requires-Dist: iqm-data-definitions <3.0,>=2.18
|
|
218
219
|
Requires-Dist: opentelemetry-exporter-otlp <2.0,>=1.25.0
|
|
219
220
|
Requires-Dist: protobuf <5.0,>=4.25.3
|
|
220
221
|
Requires-Dist: types-protobuf
|
{iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/RECORD
RENAMED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
.DS_Store,sha256=KBDd7P8nSm_6f3hx4woCTVcu1It44f3gKXlUQRPAMbE,6148
|
|
2
|
+
iqm_station_control_client-11.2.1-py3-none-any.whl,sha256=EWBYgE_IgH_YR1_Pt11UTEXS3DobEysytLtl0HnIiTc,394
|
|
3
|
+
iqm/.DS_Store,sha256=o8rX8cGroTEiLBrXnH52KKk7QAVBdIvYk9TzQ7wjiFU,6148
|
|
4
|
+
iqm/station_control/.DS_Store,sha256=H8YAjaJDyrNcEHtuDLDylgl2f7GHjxOIJs5IGdXz_Ik,6148
|
|
5
|
+
iqm/station_control/client/.DS_Store,sha256=deGCKh847PqV-VSmFN_tfy881eLAyo0Mjw_iuSNDYHI,6148
|
|
1
6
|
iqm/station_control/client/__init__.py,sha256=1ND-AkIE9xLGIscH3WN44eyll9nlFhXeyCm-8EDFGQ4,942
|
|
2
|
-
iqm/station_control/client/list_models.py,sha256=
|
|
7
|
+
iqm/station_control/client/list_models.py,sha256=oKwa5ukh0OIXJTxLmi0awJV6xTLVKyxxduAs88O8xIA,2856
|
|
3
8
|
iqm/station_control/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
9
|
iqm/station_control/client/qon.py,sha256=9URsapeqVXi2h6xX0BKpl2fYKKkwGicLN-isI_Mmh0s,27768
|
|
5
|
-
iqm/station_control/client/station_control.py,sha256=
|
|
10
|
+
iqm/station_control/client/station_control.py,sha256=z4acuGR1rP2vt2TwohQ_nlqeZWVG2iGblGnQT-jCJwc,29081
|
|
6
11
|
iqm/station_control/client/utils.py,sha256=-6K4KgOgA4iyUCqX-w26JvFxlwlGBehGj4tIWCEbn74,3360
|
|
12
|
+
iqm/station_control/client/iqm_server/.DS_Store,sha256=Mto0oQGSTTUiggIzs7ugv6tOUvr0V9CFwCYd79mmR4g,6148
|
|
7
13
|
iqm/station_control/client/iqm_server/__init__.py,sha256=nLsRHN1rnOKXwuzaq_liUpAYV3sis5jkyHccSdacV7U,624
|
|
8
14
|
iqm/station_control/client/iqm_server/error.py,sha256=a8l7UTnzfbD8KDHP-uOve77S6LR1ai9uM_J_xHbLs0Y,1175
|
|
9
15
|
iqm/station_control/client/iqm_server/grpc_utils.py,sha256=nlfQoIvLrDlETP32vvm9qbkcWZbI0tLEhqXCalXO_RU,5931
|
|
10
|
-
iqm/station_control/client/iqm_server/iqm_server_client.py,sha256=
|
|
16
|
+
iqm/station_control/client/iqm_server/iqm_server_client.py,sha256=9DJ7E0b9116hRhy4d92kJehxmEdw938dwrlWU3XlWoQ,21976
|
|
11
17
|
iqm/station_control/client/iqm_server/proto/__init__.py,sha256=mOJQ_H-NEyJMffRaDSSZeXrScHaHaHEXULv-O_OJA3A,1345
|
|
12
18
|
iqm/station_control/client/iqm_server/proto/calibration_pb2.py,sha256=gum0DGmqxhbfaar8SqahmSif1pB6hgo0pVcnoi3VMUo,3017
|
|
13
19
|
iqm/station_control/client/iqm_server/proto/calibration_pb2.pyi,sha256=4lTHY_GhrsLIHqoGDkNLYu56QHzX_iHEbLaYq-HR1m8,2016
|
|
@@ -36,12 +42,12 @@ iqm/station_control/client/serializers/struct_serializer.py,sha256=7LSlrGVz0c-yi
|
|
|
36
42
|
iqm/station_control/client/serializers/sweep_serializers.py,sha256=iFeBb4RFbHpVZifyduUypACSvulhkzdQIyG0gDoXOwM,5807
|
|
37
43
|
iqm/station_control/client/serializers/task_serializers.py,sha256=mj5HWOolXLsqGaky7OYAWCW-BVp1RKN7vPtyiYpMaO8,3700
|
|
38
44
|
iqm/station_control/interface/__init__.py,sha256=bBjhkiUSdwmx-CoNrT8pI4eGStI9RFUcW5CdpIRrd5k,785
|
|
39
|
-
iqm/station_control/interface/list_with_meta.py,sha256=
|
|
45
|
+
iqm/station_control/interface/list_with_meta.py,sha256=P8T83qIQvCssY-aWrvf3aT827PAw1f57oEasgZPyXKY,1294
|
|
40
46
|
iqm/station_control/interface/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
iqm/station_control/interface/pydantic_base.py,sha256=
|
|
47
|
+
iqm/station_control/interface/pydantic_base.py,sha256=IfGW2fErFYRmhC5gjT26ueSwtW2S4eBW5xZDe7lutDg,1304
|
|
42
48
|
iqm/station_control/interface/station_control.py,sha256=5gtDouAQ13KnyXNQUcBrpKG9pZdjIsX6fLJU9bmYJxU,20433
|
|
43
49
|
iqm/station_control/interface/models/__init__.py,sha256=BP9iIwHi0nw8CUzScXOsu8bhxnE_rRulOsRVO5L1hx0,1989
|
|
44
|
-
iqm/station_control/interface/models/dut.py,sha256=
|
|
50
|
+
iqm/station_control/interface/models/dut.py,sha256=Jp8rgi5e6ecDbU0fw9cgxn_9JczeTPkxYb7oIBv31ko,1155
|
|
45
51
|
iqm/station_control/interface/models/dynamic_quantum_architecture.py,sha256=3YlI9e1XxdbkBzlOdxmzYTccJ8AJRnRSIp-JoBf8Yyw,4698
|
|
46
52
|
iqm/station_control/interface/models/jobs.py,sha256=MGo0MOg-mTw3rF7vNCYNGAns6-eyl30ubqiEQWCFJ9c,6876
|
|
47
53
|
iqm/station_control/interface/models/monitor.py,sha256=ItlgxtBup1hHg64uKeMKiFE7MaRRqSYdVRttsFD_XeU,1352
|
|
@@ -49,11 +55,11 @@ iqm/station_control/interface/models/observation.py,sha256=IblYdzJN88BNlyxUVR_dI
|
|
|
49
55
|
iqm/station_control/interface/models/observation_set.py,sha256=y6uqslVF2kO1zREPE6EtrvG9ZVrLo0S2Sk7ZhRL8pks,3993
|
|
50
56
|
iqm/station_control/interface/models/run.py,sha256=uEuAMryG-AjAIBTchftw94GpoSBE5SQK2qmlZZ4tq5k,4097
|
|
51
57
|
iqm/station_control/interface/models/sequence.py,sha256=boWlMfP3woVgVObW3OaNbxsUV_qHYP1DA-oIBWj6XIo,2723
|
|
52
|
-
iqm/station_control/interface/models/static_quantum_architecture.py,sha256=
|
|
58
|
+
iqm/station_control/interface/models/static_quantum_architecture.py,sha256=kt_rCExRd6zyatWVJCmCSf-gYdbEFfij3DfM0wBrPHI,2103
|
|
53
59
|
iqm/station_control/interface/models/sweep.py,sha256=HFoFIrKhlYmHIBfGltY2O9_J28OvkkZILRbDHuqR0wc,2509
|
|
54
|
-
iqm/station_control/interface/models/type_aliases.py,sha256=
|
|
55
|
-
iqm_station_control_client-11.1.
|
|
56
|
-
iqm_station_control_client-11.1.
|
|
57
|
-
iqm_station_control_client-11.1.
|
|
58
|
-
iqm_station_control_client-11.1.
|
|
59
|
-
iqm_station_control_client-11.1.
|
|
60
|
+
iqm/station_control/interface/models/type_aliases.py,sha256=HbHXNbY8UJ9eqk8BiVmogF-jHrgrcJxrWtUq6atwSg4,1219
|
|
61
|
+
iqm_station_control_client-11.2.1.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
|
|
62
|
+
iqm_station_control_client-11.2.1.dist-info/METADATA,sha256=oGk6JlPHqdc2d78JM_OZTGrTNoc3omVSrhZjhawv1Xk,13852
|
|
63
|
+
iqm_station_control_client-11.2.1.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
64
|
+
iqm_station_control_client-11.2.1.dist-info/top_level.txt,sha256=NB4XRfyDS6_wG9gMsyX-9LTU7kWnTQxNvkbzIxGv3-c,4
|
|
65
|
+
iqm_station_control_client-11.2.1.dist-info/RECORD,,
|
|
File without changes
|
{iqm_station_control_client-11.1.0.dist-info → iqm_station_control_client-11.2.1.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|