iqm-station-control-client 11.3.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.
- iqm/station_control/client/authentication.py +239 -0
- iqm/station_control/client/iqm_server/error.py +0 -30
- iqm/station_control/client/iqm_server/grpc_utils.py +0 -156
- iqm/station_control/client/iqm_server/iqm_server_client.py +0 -489
- iqm/station_control/client/list_models.py +16 -11
- iqm/station_control/client/qon.py +1 -1
- iqm/station_control/client/serializers/run_serializers.py +5 -4
- iqm/station_control/client/serializers/struct_serializer.py +1 -1
- iqm/station_control/client/station_control.py +140 -154
- iqm/station_control/client/utils.py +4 -42
- iqm/station_control/interface/models/__init__.py +21 -2
- iqm/station_control/interface/models/circuit.py +348 -0
- iqm/station_control/interface/models/dynamic_quantum_architecture.py +61 -3
- iqm/station_control/interface/models/jobs.py +41 -12
- iqm/station_control/interface/models/observation_set.py +28 -4
- iqm/station_control/interface/models/run.py +8 -8
- iqm/station_control/interface/models/sweep.py +7 -1
- iqm/station_control/interface/models/type_aliases.py +1 -2
- iqm/station_control/interface/station_control.py +1 -1
- {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/METADATA +3 -3
- iqm_station_control_client-12.0.0.dist-info/RECORD +42 -0
- iqm/station_control/client/iqm_server/__init__.py +0 -14
- iqm/station_control/client/iqm_server/proto/__init__.py +0 -43
- iqm/station_control/client/iqm_server/proto/calibration_pb2.py +0 -48
- iqm/station_control/client/iqm_server/proto/calibration_pb2.pyi +0 -45
- iqm/station_control/client/iqm_server/proto/calibration_pb2_grpc.py +0 -152
- iqm/station_control/client/iqm_server/proto/common_pb2.py +0 -43
- iqm/station_control/client/iqm_server/proto/common_pb2.pyi +0 -32
- iqm/station_control/client/iqm_server/proto/common_pb2_grpc.py +0 -17
- iqm/station_control/client/iqm_server/proto/job_pb2.py +0 -57
- iqm/station_control/client/iqm_server/proto/job_pb2.pyi +0 -107
- iqm/station_control/client/iqm_server/proto/job_pb2_grpc.py +0 -436
- iqm/station_control/client/iqm_server/proto/qc_pb2.py +0 -51
- iqm/station_control/client/iqm_server/proto/qc_pb2.pyi +0 -57
- iqm/station_control/client/iqm_server/proto/qc_pb2_grpc.py +0 -163
- iqm/station_control/client/iqm_server/proto/uuid_pb2.py +0 -39
- iqm/station_control/client/iqm_server/proto/uuid_pb2.pyi +0 -26
- iqm/station_control/client/iqm_server/proto/uuid_pb2_grpc.py +0 -17
- iqm/station_control/client/iqm_server/testing/__init__.py +0 -13
- iqm/station_control/client/iqm_server/testing/iqm_server_mock.py +0 -102
- iqm_station_control_client-11.3.1.dist-info/RECORD +0 -59
- {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/LICENSE.txt +0 -0
- {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/WHEEL +0 -0
- {iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/top_level.txt +0 -0
|
@@ -1,163 +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 common_pb2 as common__pb2
|
|
19
|
-
from . import qc_pb2 as qc__pb2
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class QuantumComputersStub(object):
|
|
23
|
-
"""
|
|
24
|
-
Quantum Computer management APIs.
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
def __init__(self, channel):
|
|
28
|
-
"""Constructor.
|
|
29
|
-
|
|
30
|
-
Args:
|
|
31
|
-
channel: A grpc.Channel.
|
|
32
|
-
"""
|
|
33
|
-
self.GetQuantumComputerV1 = channel.unary_unary(
|
|
34
|
-
'/iqm.server.QuantumComputers/GetQuantumComputerV1',
|
|
35
|
-
request_serializer=qc__pb2.QuantumComputerLookupV1.SerializeToString,
|
|
36
|
-
response_deserializer=qc__pb2.QuantumComputerV1.FromString,
|
|
37
|
-
)
|
|
38
|
-
self.ListQuantumComputersV1 = channel.unary_unary(
|
|
39
|
-
'/iqm.server.QuantumComputers/ListQuantumComputersV1',
|
|
40
|
-
request_serializer=qc__pb2.ListQuantumComputerFiltersV1.SerializeToString,
|
|
41
|
-
response_deserializer=qc__pb2.QuantumComputersListV1.FromString,
|
|
42
|
-
)
|
|
43
|
-
self.GetQuantumComputerResourceV1 = channel.unary_stream(
|
|
44
|
-
'/iqm.server.QuantumComputers/GetQuantumComputerResourceV1',
|
|
45
|
-
request_serializer=qc__pb2.QuantumComputerResourceLookupV1.SerializeToString,
|
|
46
|
-
response_deserializer=common__pb2.DataChunk.FromString,
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class QuantumComputersServicer(object):
|
|
51
|
-
"""
|
|
52
|
-
Quantum Computer management APIs.
|
|
53
|
-
"""
|
|
54
|
-
|
|
55
|
-
def GetQuantumComputerV1(self, request, context):
|
|
56
|
-
"""
|
|
57
|
-
Returns the details for the requested quantum computer. The quantum computer
|
|
58
|
-
can be queried by its id or alias. If the given lookup does not match any
|
|
59
|
-
existing quantum computer, the RPC call returns an error with a GRPC status
|
|
60
|
-
`NOT_FOUND`.
|
|
61
|
-
"""
|
|
62
|
-
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
63
|
-
context.set_details('Method not implemented!')
|
|
64
|
-
raise NotImplementedError('Method not implemented!')
|
|
65
|
-
|
|
66
|
-
def ListQuantumComputersV1(self, request, context):
|
|
67
|
-
"""
|
|
68
|
-
Returns a list of quantum computers matching the given filters.
|
|
69
|
-
"""
|
|
70
|
-
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
71
|
-
context.set_details('Method not implemented!')
|
|
72
|
-
raise NotImplementedError('Method not implemented!')
|
|
73
|
-
|
|
74
|
-
def GetQuantumComputerResourceV1(self, request, context):
|
|
75
|
-
"""*
|
|
76
|
-
Returns the contents of a given resource by name and QC id (e.g. chip design record, static architecture, etc).
|
|
77
|
-
See the full list of available resources at `app/backend/lib/iqm-core-client/src/station_control_http_client/resources.rs`.
|
|
78
|
-
Each resource is an opaque binary blob, the interpretation of which is up to the client.
|
|
79
|
-
"""
|
|
80
|
-
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
81
|
-
context.set_details('Method not implemented!')
|
|
82
|
-
raise NotImplementedError('Method not implemented!')
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def add_QuantumComputersServicer_to_server(servicer, server):
|
|
86
|
-
rpc_method_handlers = {
|
|
87
|
-
'GetQuantumComputerV1': grpc.unary_unary_rpc_method_handler(
|
|
88
|
-
servicer.GetQuantumComputerV1,
|
|
89
|
-
request_deserializer=qc__pb2.QuantumComputerLookupV1.FromString,
|
|
90
|
-
response_serializer=qc__pb2.QuantumComputerV1.SerializeToString,
|
|
91
|
-
),
|
|
92
|
-
'ListQuantumComputersV1': grpc.unary_unary_rpc_method_handler(
|
|
93
|
-
servicer.ListQuantumComputersV1,
|
|
94
|
-
request_deserializer=qc__pb2.ListQuantumComputerFiltersV1.FromString,
|
|
95
|
-
response_serializer=qc__pb2.QuantumComputersListV1.SerializeToString,
|
|
96
|
-
),
|
|
97
|
-
'GetQuantumComputerResourceV1': grpc.unary_stream_rpc_method_handler(
|
|
98
|
-
servicer.GetQuantumComputerResourceV1,
|
|
99
|
-
request_deserializer=qc__pb2.QuantumComputerResourceLookupV1.FromString,
|
|
100
|
-
response_serializer=common__pb2.DataChunk.SerializeToString,
|
|
101
|
-
),
|
|
102
|
-
}
|
|
103
|
-
generic_handler = grpc.method_handlers_generic_handler(
|
|
104
|
-
'iqm.server.QuantumComputers', rpc_method_handlers)
|
|
105
|
-
server.add_generic_rpc_handlers((generic_handler,))
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
# This class is part of an EXPERIMENTAL API.
|
|
109
|
-
class QuantumComputers(object):
|
|
110
|
-
"""
|
|
111
|
-
Quantum Computer management APIs.
|
|
112
|
-
"""
|
|
113
|
-
|
|
114
|
-
@staticmethod
|
|
115
|
-
def GetQuantumComputerV1(request,
|
|
116
|
-
target,
|
|
117
|
-
options=(),
|
|
118
|
-
channel_credentials=None,
|
|
119
|
-
call_credentials=None,
|
|
120
|
-
insecure=False,
|
|
121
|
-
compression=None,
|
|
122
|
-
wait_for_ready=None,
|
|
123
|
-
timeout=None,
|
|
124
|
-
metadata=None):
|
|
125
|
-
return grpc.experimental.unary_unary(request, target, '/iqm.server.QuantumComputers/GetQuantumComputerV1',
|
|
126
|
-
qc__pb2.QuantumComputerLookupV1.SerializeToString,
|
|
127
|
-
qc__pb2.QuantumComputerV1.FromString,
|
|
128
|
-
options, channel_credentials,
|
|
129
|
-
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
130
|
-
|
|
131
|
-
@staticmethod
|
|
132
|
-
def ListQuantumComputersV1(request,
|
|
133
|
-
target,
|
|
134
|
-
options=(),
|
|
135
|
-
channel_credentials=None,
|
|
136
|
-
call_credentials=None,
|
|
137
|
-
insecure=False,
|
|
138
|
-
compression=None,
|
|
139
|
-
wait_for_ready=None,
|
|
140
|
-
timeout=None,
|
|
141
|
-
metadata=None):
|
|
142
|
-
return grpc.experimental.unary_unary(request, target, '/iqm.server.QuantumComputers/ListQuantumComputersV1',
|
|
143
|
-
qc__pb2.ListQuantumComputerFiltersV1.SerializeToString,
|
|
144
|
-
qc__pb2.QuantumComputersListV1.FromString,
|
|
145
|
-
options, channel_credentials,
|
|
146
|
-
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
147
|
-
|
|
148
|
-
@staticmethod
|
|
149
|
-
def GetQuantumComputerResourceV1(request,
|
|
150
|
-
target,
|
|
151
|
-
options=(),
|
|
152
|
-
channel_credentials=None,
|
|
153
|
-
call_credentials=None,
|
|
154
|
-
insecure=False,
|
|
155
|
-
compression=None,
|
|
156
|
-
wait_for_ready=None,
|
|
157
|
-
timeout=None,
|
|
158
|
-
metadata=None):
|
|
159
|
-
return grpc.experimental.unary_stream(request, target, '/iqm.server.QuantumComputers/GetQuantumComputerResourceV1',
|
|
160
|
-
qc__pb2.QuantumComputerResourceLookupV1.SerializeToString,
|
|
161
|
-
common__pb2.DataChunk.FromString,
|
|
162
|
-
options, channel_credentials,
|
|
163
|
-
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -1,39 +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: uuid.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\nuuid.proto\x12\niqm.server\",\n\x04Uuid\x12\r\n\x03raw\x18\x01 \x01(\x0cH\x00\x12\r\n\x03str\x18\x02 \x01(\tH\x00\x42\x06\n\x04\x64\x61ta')
|
|
31
|
-
|
|
32
|
-
_globals = globals()
|
|
33
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
34
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'uuid_pb2', _globals)
|
|
35
|
-
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
36
|
-
DESCRIPTOR._options = None
|
|
37
|
-
_globals['_UUID']._serialized_start=26
|
|
38
|
-
_globals['_UUID']._serialized_end=70
|
|
39
|
-
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,26 +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 Uuid(_message.Message):
|
|
21
|
-
__slots__ = ("raw", "str")
|
|
22
|
-
RAW_FIELD_NUMBER: _ClassVar[int]
|
|
23
|
-
STR_FIELD_NUMBER: _ClassVar[int]
|
|
24
|
-
raw: bytes
|
|
25
|
-
str: str
|
|
26
|
-
def __init__(self, raw: _Optional[bytes] = ..., str: _Optional[str] = ...) -> None: ...# type: ignore[valid-type]
|
|
@@ -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,13 +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.
|
|
@@ -1,102 +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
|
-
"""Internal testing utilities for IqmServerClient"""
|
|
15
|
-
|
|
16
|
-
from collections.abc import Iterator
|
|
17
|
-
from datetime import datetime
|
|
18
|
-
import uuid
|
|
19
|
-
|
|
20
|
-
from google.protobuf import timestamp_pb2
|
|
21
|
-
import grpc
|
|
22
|
-
|
|
23
|
-
from iqm.station_control.client.iqm_server import proto
|
|
24
|
-
from iqm.station_control.client.iqm_server.grpc_utils import from_proto_uuid
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class IqmServerMockBase(proto.QuantumComputersServicer, proto.CalibrationsServicer, proto.JobsServicer):
|
|
28
|
-
"""Base class for IQM server mocks. Only meant for testing IQM library packages, do *not*
|
|
29
|
-
use outside of tests!
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
@staticmethod
|
|
33
|
-
def proto_uuid(base: uuid.UUID | None = None) -> proto.Uuid:
|
|
34
|
-
"""Helper function for generating protobuf UUIDs"""
|
|
35
|
-
return proto.Uuid(raw=(base or uuid.uuid4()).bytes)
|
|
36
|
-
|
|
37
|
-
@staticmethod
|
|
38
|
-
def parse_uuid(value: proto.Uuid) -> uuid.UUID:
|
|
39
|
-
"""Helper function for generating protobuf UUIDs"""
|
|
40
|
-
return from_proto_uuid(value)
|
|
41
|
-
|
|
42
|
-
@staticmethod
|
|
43
|
-
def proto_timestamp(base: datetime | None = None) -> timestamp_pb2.Timestamp:
|
|
44
|
-
"""Helper function for generating protobuf timestamps"""
|
|
45
|
-
timestamp = timestamp_pb2.Timestamp()
|
|
46
|
-
timestamp.FromDatetime(base or datetime.now())
|
|
47
|
-
return timestamp
|
|
48
|
-
|
|
49
|
-
def channel(self) -> grpc.Channel:
|
|
50
|
-
"""Gets a `grpc.Channel` that connects to this mock server instance. Can be used to initialize
|
|
51
|
-
a new `IqmServerClient` that uses this mock server instance as a backend for the
|
|
52
|
-
invoked GRPC calls.
|
|
53
|
-
"""
|
|
54
|
-
return _MockChannel(self)
|
|
55
|
-
|
|
56
|
-
@staticmethod
|
|
57
|
-
def chunk_stream(data: bytes) -> Iterator[proto.DataChunk]:
|
|
58
|
-
"""A utility function for converting a binary data blob into a`(stream DataChunk)`."""
|
|
59
|
-
yield proto.DataChunk(data=data)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
class _MockChannel(grpc.Channel):
|
|
63
|
-
def __init__(self, mock: IqmServerMockBase):
|
|
64
|
-
self._mock = mock
|
|
65
|
-
|
|
66
|
-
def subscribe(self, callback, try_to_connect=False): # noqa: ANN001, ANN202
|
|
67
|
-
pass
|
|
68
|
-
|
|
69
|
-
def unsubscribe(self, callback): # noqa: ANN001, ANN202
|
|
70
|
-
pass
|
|
71
|
-
|
|
72
|
-
def unary_unary(self, method, *args, **kwargs): # noqa: ANN001, ANN202
|
|
73
|
-
return self._create_callable(method)
|
|
74
|
-
|
|
75
|
-
def unary_stream(self, method, *args, **kwargs): # noqa: ANN001, ANN202
|
|
76
|
-
return self._create_callable(method)
|
|
77
|
-
|
|
78
|
-
def stream_unary(self, method, *args, **kwargs): # noqa: ANN001, ANN202
|
|
79
|
-
return self._create_callable(method)
|
|
80
|
-
|
|
81
|
-
def stream_stream(self, method, *args, **kwargs): # noqa: ANN001, ANN202
|
|
82
|
-
return self._create_callable(method)
|
|
83
|
-
|
|
84
|
-
def close(self): # noqa: ANN202
|
|
85
|
-
pass
|
|
86
|
-
|
|
87
|
-
def _create_callable(self, fq_method: str): # noqa: ANN202
|
|
88
|
-
_, fn_name = fq_method.lstrip("/").split("/")
|
|
89
|
-
f = getattr(self._mock, fn_name)
|
|
90
|
-
|
|
91
|
-
def callable(request): # noqa: ANN001, ANN202
|
|
92
|
-
return f(request, _MockContext())
|
|
93
|
-
|
|
94
|
-
return callable
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
class _MockContext:
|
|
98
|
-
def set_code(self, code): # noqa: ANN001, ANN202
|
|
99
|
-
pass
|
|
100
|
-
|
|
101
|
-
def set_details(self, details): # noqa: ANN001, ANN202
|
|
102
|
-
pass
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
iqm/station_control/client/__init__.py,sha256=1ND-AkIE9xLGIscH3WN44eyll9nlFhXeyCm-8EDFGQ4,942
|
|
2
|
-
iqm/station_control/client/list_models.py,sha256=oKwa5ukh0OIXJTxLmi0awJV6xTLVKyxxduAs88O8xIA,2856
|
|
3
|
-
iqm/station_control/client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
iqm/station_control/client/qon.py,sha256=9URsapeqVXi2h6xX0BKpl2fYKKkwGicLN-isI_Mmh0s,27768
|
|
5
|
-
iqm/station_control/client/station_control.py,sha256=z4acuGR1rP2vt2TwohQ_nlqeZWVG2iGblGnQT-jCJwc,29081
|
|
6
|
-
iqm/station_control/client/utils.py,sha256=-6K4KgOgA4iyUCqX-w26JvFxlwlGBehGj4tIWCEbn74,3360
|
|
7
|
-
iqm/station_control/client/iqm_server/__init__.py,sha256=nLsRHN1rnOKXwuzaq_liUpAYV3sis5jkyHccSdacV7U,624
|
|
8
|
-
iqm/station_control/client/iqm_server/error.py,sha256=a8l7UTnzfbD8KDHP-uOve77S6LR1ai9uM_J_xHbLs0Y,1175
|
|
9
|
-
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=outzqBH7Pcfbz2WErVnyinD1TMfhOuiKMLNq6GjLjkQ,21400
|
|
11
|
-
iqm/station_control/client/iqm_server/proto/__init__.py,sha256=mOJQ_H-NEyJMffRaDSSZeXrScHaHaHEXULv-O_OJA3A,1345
|
|
12
|
-
iqm/station_control/client/iqm_server/proto/calibration_pb2.py,sha256=gum0DGmqxhbfaar8SqahmSif1pB6hgo0pVcnoi3VMUo,3017
|
|
13
|
-
iqm/station_control/client/iqm_server/proto/calibration_pb2.pyi,sha256=4lTHY_GhrsLIHqoGDkNLYu56QHzX_iHEbLaYq-HR1m8,2016
|
|
14
|
-
iqm/station_control/client/iqm_server/proto/calibration_pb2_grpc.py,sha256=wBHT2cipAgo5VSIN85Ms89lGDhmCfHc-bUj2yyhqE3s,6816
|
|
15
|
-
iqm/station_control/client/iqm_server/proto/common_pb2.py,sha256=G0l5_PiIAmoCMEZqgMNgtQ4FvXLrK-2K_y-9IsdvjiY,1798
|
|
16
|
-
iqm/station_control/client/iqm_server/proto/common_pb2.pyi,sha256=v7DSBqS2hxJxcsVnwxnZG3CdLc3p28sD2-OVw561JGw,1133
|
|
17
|
-
iqm/station_control/client/iqm_server/proto/common_pb2_grpc.py,sha256=SF40l84__r-OGGNYBru5ik9gih-XqeTq2iwM5gMN5Qc,726
|
|
18
|
-
iqm/station_control/client/iqm_server/proto/job_pb2.py,sha256=2hfP2Qap6y9diiXpf71qywWWxQZkOTou5UjOYlMm7O4,4687
|
|
19
|
-
iqm/station_control/client/iqm_server/proto/job_pb2.pyi,sha256=U9wMSuX7AxDnx7Mpn5Rp31wNg1r_-qTa7iAbQL3badI,4967
|
|
20
|
-
iqm/station_control/client/iqm_server/proto/job_pb2_grpc.py,sha256=JbfVZKaJnYZdUU7ssX2Llx4HbbiVEcFgYU2wE_Jm1fU,17002
|
|
21
|
-
iqm/station_control/client/iqm_server/proto/qc_pb2.py,sha256=-ika0EK0l_I9V5-kcG226FqNIoODI_QQex9X5ihblig,3244
|
|
22
|
-
iqm/station_control/client/iqm_server/proto/qc_pb2.pyi,sha256=s4P3k2wA1XG1wRF_y9BQD7VQgDONQnhOzxItih8_d0I,2491
|
|
23
|
-
iqm/station_control/client/iqm_server/proto/qc_pb2_grpc.py,sha256=6l6OECi0td_Ld7kd1MIrGjQmvs1F6Sd-vqeCfYeAS94,6958
|
|
24
|
-
iqm/station_control/client/iqm_server/proto/uuid_pb2.py,sha256=H1O7qvtRg2zXqOVfWCjZH-2WjXdzyNjbSv2g0fKnfV0,1616
|
|
25
|
-
iqm/station_control/client/iqm_server/proto/uuid_pb2.pyi,sha256=C78m8tpY-sB9VbneOCpSCzrgjqFFu4a1eKBngQB0GuA,1055
|
|
26
|
-
iqm/station_control/client/iqm_server/proto/uuid_pb2_grpc.py,sha256=SF40l84__r-OGGNYBru5ik9gih-XqeTq2iwM5gMN5Qc,726
|
|
27
|
-
iqm/station_control/client/iqm_server/testing/__init__.py,sha256=wCNfJHIR_bqG3ZBlgm55v90Rih7VCpfctoIMfwRMgjk,567
|
|
28
|
-
iqm/station_control/client/iqm_server/testing/iqm_server_mock.py,sha256=e0eIjdbLzlD_hH6gXv1usv4lhDGzeARpKY7WkVkJygw,3588
|
|
29
|
-
iqm/station_control/client/serializers/__init__.py,sha256=eSAjgO5DME9jR1VmtA5-ewJG7rZ6AiWgAc-gs640_20,1436
|
|
30
|
-
iqm/station_control/client/serializers/channel_property_serializer.py,sha256=VuWRqyPTeKK0gPHgE2r29k5JcdkTzDOOAdcC5hd7Nok,7283
|
|
31
|
-
iqm/station_control/client/serializers/datetime_serializers.py,sha256=PzSDJFc81BtfTfBDJdeh98pfpwIhloxko-I4HjvjAEM,1122
|
|
32
|
-
iqm/station_control/client/serializers/playlist_serializers.py,sha256=ueB6IzeNx9Ube3phV9vqPY6NaSnO92p5wOdHqOtYUaI,18086
|
|
33
|
-
iqm/station_control/client/serializers/run_serializers.py,sha256=LCNyEFdagMw6LN4_fGuRVvQeJS55EYh_KD9mBgxiW0k,6884
|
|
34
|
-
iqm/station_control/client/serializers/setting_node_serializer.py,sha256=ghqgINjEH0-rn_q8A8GFP9wOk4RVqC97HeAkFB4vwrk,1197
|
|
35
|
-
iqm/station_control/client/serializers/struct_serializer.py,sha256=7LSlrGVz0c-yiy9NitshWHr3OSqRMFZRTu5k-vNxeDE,3270
|
|
36
|
-
iqm/station_control/client/serializers/sweep_serializers.py,sha256=iFeBb4RFbHpVZifyduUypACSvulhkzdQIyG0gDoXOwM,5807
|
|
37
|
-
iqm/station_control/client/serializers/task_serializers.py,sha256=mj5HWOolXLsqGaky7OYAWCW-BVp1RKN7vPtyiYpMaO8,3700
|
|
38
|
-
iqm/station_control/interface/__init__.py,sha256=bBjhkiUSdwmx-CoNrT8pI4eGStI9RFUcW5CdpIRrd5k,785
|
|
39
|
-
iqm/station_control/interface/list_with_meta.py,sha256=P8T83qIQvCssY-aWrvf3aT827PAw1f57oEasgZPyXKY,1294
|
|
40
|
-
iqm/station_control/interface/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
iqm/station_control/interface/pydantic_base.py,sha256=IfGW2fErFYRmhC5gjT26ueSwtW2S4eBW5xZDe7lutDg,1304
|
|
42
|
-
iqm/station_control/interface/station_control.py,sha256=5gtDouAQ13KnyXNQUcBrpKG9pZdjIsX6fLJU9bmYJxU,20433
|
|
43
|
-
iqm/station_control/interface/models/__init__.py,sha256=BP9iIwHi0nw8CUzScXOsu8bhxnE_rRulOsRVO5L1hx0,1989
|
|
44
|
-
iqm/station_control/interface/models/dut.py,sha256=Jp8rgi5e6ecDbU0fw9cgxn_9JczeTPkxYb7oIBv31ko,1155
|
|
45
|
-
iqm/station_control/interface/models/dynamic_quantum_architecture.py,sha256=3YlI9e1XxdbkBzlOdxmzYTccJ8AJRnRSIp-JoBf8Yyw,4698
|
|
46
|
-
iqm/station_control/interface/models/jobs.py,sha256=C1XhqYBwFB4mfhIuYnHnU0aW2QyOWi2g9RBMfxbDhgM,6877
|
|
47
|
-
iqm/station_control/interface/models/monitor.py,sha256=ItlgxtBup1hHg64uKeMKiFE7MaRRqSYdVRttsFD_XeU,1352
|
|
48
|
-
iqm/station_control/interface/models/observation.py,sha256=IblYdzJN88BNlyxUVR_dIx7BgD_GHGLhHUwy89Fib-I,3281
|
|
49
|
-
iqm/station_control/interface/models/observation_set.py,sha256=y6uqslVF2kO1zREPE6EtrvG9ZVrLo0S2Sk7ZhRL8pks,3993
|
|
50
|
-
iqm/station_control/interface/models/run.py,sha256=uEuAMryG-AjAIBTchftw94GpoSBE5SQK2qmlZZ4tq5k,4097
|
|
51
|
-
iqm/station_control/interface/models/sequence.py,sha256=boWlMfP3woVgVObW3OaNbxsUV_qHYP1DA-oIBWj6XIo,2723
|
|
52
|
-
iqm/station_control/interface/models/static_quantum_architecture.py,sha256=kt_rCExRd6zyatWVJCmCSf-gYdbEFfij3DfM0wBrPHI,2103
|
|
53
|
-
iqm/station_control/interface/models/sweep.py,sha256=HFoFIrKhlYmHIBfGltY2O9_J28OvkkZILRbDHuqR0wc,2509
|
|
54
|
-
iqm/station_control/interface/models/type_aliases.py,sha256=HbHXNbY8UJ9eqk8BiVmogF-jHrgrcJxrWtUq6atwSg4,1219
|
|
55
|
-
iqm_station_control_client-11.3.1.dist-info/LICENSE.txt,sha256=R6Q7eUrLyoCQgWYorQ8WJmVmWKYU3dxA3jYUp0wwQAw,11332
|
|
56
|
-
iqm_station_control_client-11.3.1.dist-info/METADATA,sha256=Xgg9BAEeFj3GVLW98RXYgrdA5I6KvuRlkdTP4O60j9k,14107
|
|
57
|
-
iqm_station_control_client-11.3.1.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
58
|
-
iqm_station_control_client-11.3.1.dist-info/top_level.txt,sha256=NB4XRfyDS6_wG9gMsyX-9LTU7kWnTQxNvkbzIxGv3-c,4
|
|
59
|
-
iqm_station_control_client-11.3.1.dist-info/RECORD,,
|
|
File without changes
|
{iqm_station_control_client-11.3.1.dist-info → iqm_station_control_client-12.0.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|