boulder-opal-scale-up-sdk 1.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.
- boulder_opal_scale_up_sdk-1.0.0.dist-info/METADATA +38 -0
- boulder_opal_scale_up_sdk-1.0.0.dist-info/RECORD +50 -0
- boulder_opal_scale_up_sdk-1.0.0.dist-info/WHEEL +4 -0
- boulderopalscaleupsdk/__init__.py +14 -0
- boulderopalscaleupsdk/agent/__init__.py +29 -0
- boulderopalscaleupsdk/agent/worker.py +244 -0
- boulderopalscaleupsdk/common/__init__.py +12 -0
- boulderopalscaleupsdk/common/dtypes.py +353 -0
- boulderopalscaleupsdk/common/typeclasses.py +85 -0
- boulderopalscaleupsdk/device/__init__.py +16 -0
- boulderopalscaleupsdk/device/common.py +58 -0
- boulderopalscaleupsdk/device/config_loader.py +88 -0
- boulderopalscaleupsdk/device/controller/__init__.py +32 -0
- boulderopalscaleupsdk/device/controller/base.py +18 -0
- boulderopalscaleupsdk/device/controller/qblox.py +664 -0
- boulderopalscaleupsdk/device/controller/quantum_machines.py +139 -0
- boulderopalscaleupsdk/device/device.py +35 -0
- boulderopalscaleupsdk/device/processor/__init__.py +23 -0
- boulderopalscaleupsdk/device/processor/common.py +148 -0
- boulderopalscaleupsdk/device/processor/superconducting_processor.py +291 -0
- boulderopalscaleupsdk/experiments/__init__.py +44 -0
- boulderopalscaleupsdk/experiments/common.py +96 -0
- boulderopalscaleupsdk/experiments/power_rabi.py +60 -0
- boulderopalscaleupsdk/experiments/ramsey.py +55 -0
- boulderopalscaleupsdk/experiments/resonator_spectroscopy.py +64 -0
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_bias.py +76 -0
- boulderopalscaleupsdk/experiments/resonator_spectroscopy_by_power.py +64 -0
- boulderopalscaleupsdk/grpc_interceptors/__init__.py +16 -0
- boulderopalscaleupsdk/grpc_interceptors/auth.py +101 -0
- boulderopalscaleupsdk/plotting/__init__.py +24 -0
- boulderopalscaleupsdk/plotting/dtypes.py +221 -0
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.py +48 -0
- boulderopalscaleupsdk/protobuf/v1/agent_pb2.pyi +53 -0
- boulderopalscaleupsdk/protobuf/v1/agent_pb2_grpc.py +138 -0
- boulderopalscaleupsdk/protobuf/v1/device_pb2.py +71 -0
- boulderopalscaleupsdk/protobuf/v1/device_pb2.pyi +110 -0
- boulderopalscaleupsdk/protobuf/v1/device_pb2_grpc.py +274 -0
- boulderopalscaleupsdk/protobuf/v1/task_pb2.py +53 -0
- boulderopalscaleupsdk/protobuf/v1/task_pb2.pyi +118 -0
- boulderopalscaleupsdk/protobuf/v1/task_pb2_grpc.py +119 -0
- boulderopalscaleupsdk/py.typed +0 -0
- boulderopalscaleupsdk/routines/__init__.py +9 -0
- boulderopalscaleupsdk/routines/common.py +10 -0
- boulderopalscaleupsdk/routines/resonator_mapping.py +13 -0
- boulderopalscaleupsdk/third_party/__init__.py +14 -0
- boulderopalscaleupsdk/third_party/quantum_machines/__init__.py +51 -0
- boulderopalscaleupsdk/third_party/quantum_machines/config.py +597 -0
- boulderopalscaleupsdk/third_party/quantum_machines/constants.py +20 -0
- boulderopalscaleupsdk/utils/__init__.py +12 -0
- boulderopalscaleupsdk/utils/serial_utils.py +62 -0
@@ -0,0 +1,274 @@
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
3
|
+
import grpc
|
4
|
+
|
5
|
+
from boulderopalscaleupsdk.protobuf.v1 import device_pb2 as boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2
|
6
|
+
|
7
|
+
|
8
|
+
class DeviceManagerServiceStub(object):
|
9
|
+
"""Device manager service.
|
10
|
+
"""
|
11
|
+
|
12
|
+
def __init__(self, channel):
|
13
|
+
"""Constructor.
|
14
|
+
|
15
|
+
Args:
|
16
|
+
channel: A grpc.Channel.
|
17
|
+
"""
|
18
|
+
self.Create = channel.unary_unary(
|
19
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Create',
|
20
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateRequest.SerializeToString,
|
21
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateResponse.FromString,
|
22
|
+
)
|
23
|
+
self.Load = channel.unary_unary(
|
24
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Load',
|
25
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadRequest.SerializeToString,
|
26
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadResponse.FromString,
|
27
|
+
)
|
28
|
+
self.Update = channel.unary_unary(
|
29
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Update',
|
30
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateRequest.SerializeToString,
|
31
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateResponse.FromString,
|
32
|
+
)
|
33
|
+
self.Delete = channel.unary_unary(
|
34
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Delete',
|
35
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteRequest.SerializeToString,
|
36
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteResponse.FromString,
|
37
|
+
)
|
38
|
+
self.ListJobs = channel.unary_unary(
|
39
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/ListJobs',
|
40
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsRequest.SerializeToString,
|
41
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsResponse.FromString,
|
42
|
+
)
|
43
|
+
self.GetJob = channel.unary_unary(
|
44
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/GetJob',
|
45
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobRequest.SerializeToString,
|
46
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobResponse.FromString,
|
47
|
+
)
|
48
|
+
self.GetJobSummary = channel.unary_unary(
|
49
|
+
'/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/GetJobSummary',
|
50
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryRequest.SerializeToString,
|
51
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryResponse.FromString,
|
52
|
+
)
|
53
|
+
|
54
|
+
|
55
|
+
class DeviceManagerServiceServicer(object):
|
56
|
+
"""Device manager service.
|
57
|
+
"""
|
58
|
+
|
59
|
+
def Create(self, request, context):
|
60
|
+
"""Create the device and controller states.
|
61
|
+
"""
|
62
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
63
|
+
context.set_details('Method not implemented!')
|
64
|
+
raise NotImplementedError('Method not implemented!')
|
65
|
+
|
66
|
+
def Load(self, request, context):
|
67
|
+
"""Load the device and controller states.
|
68
|
+
"""
|
69
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
70
|
+
context.set_details('Method not implemented!')
|
71
|
+
raise NotImplementedError('Method not implemented!')
|
72
|
+
|
73
|
+
def Update(self, request, context):
|
74
|
+
"""Update the device and controller states.
|
75
|
+
"""
|
76
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
77
|
+
context.set_details('Method not implemented!')
|
78
|
+
raise NotImplementedError('Method not implemented!')
|
79
|
+
|
80
|
+
def Delete(self, request, context):
|
81
|
+
"""Delete the device and controller states.
|
82
|
+
"""
|
83
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
84
|
+
context.set_details('Method not implemented!')
|
85
|
+
raise NotImplementedError('Method not implemented!')
|
86
|
+
|
87
|
+
def ListJobs(self, request, context):
|
88
|
+
"""Fetch all the experiments that have been run on the device.
|
89
|
+
"""
|
90
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
91
|
+
context.set_details('Method not implemented!')
|
92
|
+
raise NotImplementedError('Method not implemented!')
|
93
|
+
|
94
|
+
def GetJob(self, request, context):
|
95
|
+
"""Fetch the results of a specific job executed on the device previously.
|
96
|
+
"""
|
97
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
98
|
+
context.set_details('Method not implemented!')
|
99
|
+
raise NotImplementedError('Method not implemented!')
|
100
|
+
|
101
|
+
def GetJobSummary(self, request, context):
|
102
|
+
"""Fetch the results view of a previously executed job.
|
103
|
+
"""
|
104
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
105
|
+
context.set_details('Method not implemented!')
|
106
|
+
raise NotImplementedError('Method not implemented!')
|
107
|
+
|
108
|
+
|
109
|
+
def add_DeviceManagerServiceServicer_to_server(servicer, server):
|
110
|
+
rpc_method_handlers = {
|
111
|
+
'Create': grpc.unary_unary_rpc_method_handler(
|
112
|
+
servicer.Create,
|
113
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateRequest.FromString,
|
114
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateResponse.SerializeToString,
|
115
|
+
),
|
116
|
+
'Load': grpc.unary_unary_rpc_method_handler(
|
117
|
+
servicer.Load,
|
118
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadRequest.FromString,
|
119
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadResponse.SerializeToString,
|
120
|
+
),
|
121
|
+
'Update': grpc.unary_unary_rpc_method_handler(
|
122
|
+
servicer.Update,
|
123
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateRequest.FromString,
|
124
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateResponse.SerializeToString,
|
125
|
+
),
|
126
|
+
'Delete': grpc.unary_unary_rpc_method_handler(
|
127
|
+
servicer.Delete,
|
128
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteRequest.FromString,
|
129
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteResponse.SerializeToString,
|
130
|
+
),
|
131
|
+
'ListJobs': grpc.unary_unary_rpc_method_handler(
|
132
|
+
servicer.ListJobs,
|
133
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsRequest.FromString,
|
134
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsResponse.SerializeToString,
|
135
|
+
),
|
136
|
+
'GetJob': grpc.unary_unary_rpc_method_handler(
|
137
|
+
servicer.GetJob,
|
138
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobRequest.FromString,
|
139
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobResponse.SerializeToString,
|
140
|
+
),
|
141
|
+
'GetJobSummary': grpc.unary_unary_rpc_method_handler(
|
142
|
+
servicer.GetJobSummary,
|
143
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryRequest.FromString,
|
144
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryResponse.SerializeToString,
|
145
|
+
),
|
146
|
+
}
|
147
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
148
|
+
'boulderopalscaleupsdk.protobuf.v1.DeviceManagerService', rpc_method_handlers)
|
149
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
150
|
+
|
151
|
+
|
152
|
+
# This class is part of an EXPERIMENTAL API.
|
153
|
+
class DeviceManagerService(object):
|
154
|
+
"""Device manager service.
|
155
|
+
"""
|
156
|
+
|
157
|
+
@staticmethod
|
158
|
+
def Create(request,
|
159
|
+
target,
|
160
|
+
options=(),
|
161
|
+
channel_credentials=None,
|
162
|
+
call_credentials=None,
|
163
|
+
insecure=False,
|
164
|
+
compression=None,
|
165
|
+
wait_for_ready=None,
|
166
|
+
timeout=None,
|
167
|
+
metadata=None):
|
168
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Create',
|
169
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateRequest.SerializeToString,
|
170
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.CreateResponse.FromString,
|
171
|
+
options, channel_credentials,
|
172
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
173
|
+
|
174
|
+
@staticmethod
|
175
|
+
def Load(request,
|
176
|
+
target,
|
177
|
+
options=(),
|
178
|
+
channel_credentials=None,
|
179
|
+
call_credentials=None,
|
180
|
+
insecure=False,
|
181
|
+
compression=None,
|
182
|
+
wait_for_ready=None,
|
183
|
+
timeout=None,
|
184
|
+
metadata=None):
|
185
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Load',
|
186
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadRequest.SerializeToString,
|
187
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.LoadResponse.FromString,
|
188
|
+
options, channel_credentials,
|
189
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
190
|
+
|
191
|
+
@staticmethod
|
192
|
+
def Update(request,
|
193
|
+
target,
|
194
|
+
options=(),
|
195
|
+
channel_credentials=None,
|
196
|
+
call_credentials=None,
|
197
|
+
insecure=False,
|
198
|
+
compression=None,
|
199
|
+
wait_for_ready=None,
|
200
|
+
timeout=None,
|
201
|
+
metadata=None):
|
202
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Update',
|
203
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateRequest.SerializeToString,
|
204
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.UpdateResponse.FromString,
|
205
|
+
options, channel_credentials,
|
206
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
207
|
+
|
208
|
+
@staticmethod
|
209
|
+
def Delete(request,
|
210
|
+
target,
|
211
|
+
options=(),
|
212
|
+
channel_credentials=None,
|
213
|
+
call_credentials=None,
|
214
|
+
insecure=False,
|
215
|
+
compression=None,
|
216
|
+
wait_for_ready=None,
|
217
|
+
timeout=None,
|
218
|
+
metadata=None):
|
219
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/Delete',
|
220
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteRequest.SerializeToString,
|
221
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.DeleteResponse.FromString,
|
222
|
+
options, channel_credentials,
|
223
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
224
|
+
|
225
|
+
@staticmethod
|
226
|
+
def ListJobs(request,
|
227
|
+
target,
|
228
|
+
options=(),
|
229
|
+
channel_credentials=None,
|
230
|
+
call_credentials=None,
|
231
|
+
insecure=False,
|
232
|
+
compression=None,
|
233
|
+
wait_for_ready=None,
|
234
|
+
timeout=None,
|
235
|
+
metadata=None):
|
236
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/ListJobs',
|
237
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsRequest.SerializeToString,
|
238
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.ListJobsResponse.FromString,
|
239
|
+
options, channel_credentials,
|
240
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
241
|
+
|
242
|
+
@staticmethod
|
243
|
+
def GetJob(request,
|
244
|
+
target,
|
245
|
+
options=(),
|
246
|
+
channel_credentials=None,
|
247
|
+
call_credentials=None,
|
248
|
+
insecure=False,
|
249
|
+
compression=None,
|
250
|
+
wait_for_ready=None,
|
251
|
+
timeout=None,
|
252
|
+
metadata=None):
|
253
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/GetJob',
|
254
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobRequest.SerializeToString,
|
255
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobResponse.FromString,
|
256
|
+
options, channel_credentials,
|
257
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
258
|
+
|
259
|
+
@staticmethod
|
260
|
+
def GetJobSummary(request,
|
261
|
+
target,
|
262
|
+
options=(),
|
263
|
+
channel_credentials=None,
|
264
|
+
call_credentials=None,
|
265
|
+
insecure=False,
|
266
|
+
compression=None,
|
267
|
+
wait_for_ready=None,
|
268
|
+
timeout=None,
|
269
|
+
metadata=None):
|
270
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.DeviceManagerService/GetJobSummary',
|
271
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryRequest.SerializeToString,
|
272
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_device__pb2.GetJobSummaryResponse.FromString,
|
273
|
+
options, channel_credentials,
|
274
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: boulderopalscaleupsdk/protobuf/v1/task.proto
|
4
|
+
# Protobuf Python Version: 5.26.1
|
5
|
+
"""Generated protocol buffer code."""
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
9
|
+
from google.protobuf.internal import builder as _builder
|
10
|
+
# @@protoc_insertion_point(imports)
|
11
|
+
|
12
|
+
_sym_db = _symbol_database.Default()
|
13
|
+
|
14
|
+
|
15
|
+
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
16
|
+
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
|
17
|
+
|
18
|
+
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,boulderopalscaleupsdk/protobuf/v1/task.proto\x12!boulderopalscaleupsdk.protobuf.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\"\xc7\x01\n\x13StartSessionRequest\x12\x19\n\x08\x61gent_id\x18\x01 \x01(\tR\x07\x61gentId\x12\x19\n\x08\x61pp_name\x18\x02 \x01(\tR\x07\x61ppName\x12\x1f\n\x0b\x64\x65vice_name\x18\x03 \x01(\tR\ndeviceName\x12!\n\x0croutine_name\x18\x04 \x01(\tR\x0broutineName\x12-\n\x04\x64\x61ta\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x04\x64\x61ta\x88\x01\x01\x42\x07\n\x05_data\"\xfc\x01\n\x14UpdateSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId\x12R\n\rcurrent_state\x18\x02 \x01(\x0e\x32-.boulderopalscaleupsdk.protobuf.v1.AgentStateR\x0c\x63urrentState\x12G\n\x07results\x18\x03 \x03(\x0b\x32-.boulderopalscaleupsdk.protobuf.v1.TaskResultR\x07results\x12(\n\x10task_in_progress\x18\x04 \x03(\tR\x0etaskInProgress\"\xac\x03\n\x12\x41gentTasksResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId\x12U\n\x0ctarget_state\x18\x02 \x01(\x0e\x32-.boulderopalscaleupsdk.protobuf.v1.AgentStateH\x00R\x0btargetState\x88\x01\x01\x12=\n\x05tasks\x18\x03 \x03(\x0b\x32\'.boulderopalscaleupsdk.protobuf.v1.TaskR\x05tasks\x12)\n\x10invalidate_tasks\x18\x04 \x03(\tR\x0finvalidateTasks\x12\x66\n\x0bretry_tasks\x18\x05 \x03(\x0b\x32\x45.boulderopalscaleupsdk.protobuf.v1.AgentTasksResponse.RetryTasksEntryR\nretryTasks\x1a=\n\x0fRetryTasksEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0f\n\r_target_state\"\x94\x02\n\x04Task\x12\x17\n\x07task_id\x18\x01 \x01(\tR\x06taskId\x12\x1d\n\nsession_id\x18\x02 \x01(\tR\tsessionId\x12\x1b\n\ttask_type\x18\x03 \x01(\tR\x08taskType\x12(\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x04\x64\x61ta\x12,\n\x0ftimeout_seconds\x18\x05 \x01(\x05H\x00R\x0etimeoutSeconds\x88\x01\x01\x12\x1f\n\x08\x64\x65\x61\x64line\x18\x06 \x01(\x03H\x01R\x08\x64\x65\x61\x64line\x88\x01\x01\x12\x1d\n\ndepends_on\x18\x07 \x03(\tR\tdependsOnB\x12\n\x10_timeout_secondsB\x0b\n\t_deadline\"\xed\x01\n\nTaskResult\x12\x17\n\x07task_id\x18\x01 \x01(\tR\x06taskId\x12\x1d\n\nsession_id\x18\x03 \x01(\tR\tsessionId\x12\x1f\n\x0bresult_type\x18\x04 \x01(\tR\nresultType\x12.\n\x06result\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x06result\x12J\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x32.boulderopalscaleupsdk.protobuf.v1.TaskErrorDetailH\x00R\x05\x65rrorB\n\n\x08response\"{\n\x0fTaskErrorDetail\x12@\n\x04\x63ode\x18\x01 \x01(\x0e\x32,.boulderopalscaleupsdk.protobuf.v1.TaskErrorR\x04\x63ode\x12\x1b\n\x06\x64\x65tail\x18\x02 \x01(\tH\x00R\x06\x64\x65tail\x88\x01\x01\x42\t\n\x07_detail*\xdd\x01\n\nAgentState\x12\x1b\n\x17\x41GENT_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41GENT_STATE_ACTIVE_SESSION\x10\x01\x12\x1b\n\x17\x41GENT_STATE_ACTIVE_IDLE\x10\x02\x12)\n%AGENT_STATE_SHUTDOWN_CLIENT_INITIATED\x10\x03\x12*\n&AGENT_STATE_SHUTDOWN_MANAGER_INITIATED\x10\x04\x12\x1e\n\x1a\x41GENT_STATE_SHUTDOWN_FAULT\x10\x05*G\n\tTaskError\x12\x1a\n\x16TASK_ERROR_UNSPECIFIED\x10\x00\x12\x1e\n\x1aTASK_ERROR_NOT_IMPLEMENTED\x10\x01\x32\xe0\x02\n\x13\x41gentManagerService\x12\xa1\x01\n\x0cStartSession\x12\x36.boulderopalscaleupsdk.protobuf.v1.StartSessionRequest\x1a\x35.boulderopalscaleupsdk.protobuf.v1.AgentTasksResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/agent/start_session:\x01*\x12\xa4\x01\n\rUpdateSession\x12\x37.boulderopalscaleupsdk.protobuf.v1.UpdateSessionRequest\x1a\x35.boulderopalscaleupsdk.protobuf.v1.AgentTasksResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/agent/update_session:\x01*B\xa8\x02\n%com.boulderopalscaleupsdk.protobuf.v1B\tTaskProtoP\x01ZNgithub.com/qctrl/boulder-opal-scale-up/proto/boulderopalscaleupsdk/protobuf/v1\xa2\x02\x03\x42PX\xaa\x02!Boulderopalscaleupsdk.Protobuf.V1\xca\x02!Boulderopalscaleupsdk\\Protobuf\\V1\xe2\x02-Boulderopalscaleupsdk\\Protobuf\\V1\\GPBMetadata\xea\x02#Boulderopalscaleupsdk::Protobuf::V1b\x06proto3')
|
20
|
+
|
21
|
+
_globals = globals()
|
22
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
23
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'boulderopalscaleupsdk.protobuf.v1.task_pb2', _globals)
|
24
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
25
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
26
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%com.boulderopalscaleupsdk.protobuf.v1B\tTaskProtoP\001ZNgithub.com/qctrl/boulder-opal-scale-up/proto/boulderopalscaleupsdk/protobuf/v1\242\002\003BPX\252\002!Boulderopalscaleupsdk.Protobuf.V1\312\002!Boulderopalscaleupsdk\\Protobuf\\V1\342\002-Boulderopalscaleupsdk\\Protobuf\\V1\\GPBMetadata\352\002#Boulderopalscaleupsdk::Protobuf::V1'
|
27
|
+
_globals['_AGENTTASKSRESPONSE_RETRYTASKSENTRY']._loaded_options = None
|
28
|
+
_globals['_AGENTTASKSRESPONSE_RETRYTASKSENTRY']._serialized_options = b'8\001'
|
29
|
+
_globals['_AGENTMANAGERSERVICE'].methods_by_name['StartSession']._loaded_options = None
|
30
|
+
_globals['_AGENTMANAGERSERVICE'].methods_by_name['StartSession']._serialized_options = b'\202\323\344\223\002\034\"\027/v1/agent/start_session:\001*'
|
31
|
+
_globals['_AGENTMANAGERSERVICE'].methods_by_name['UpdateSession']._loaded_options = None
|
32
|
+
_globals['_AGENTMANAGERSERVICE'].methods_by_name['UpdateSession']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/agent/update_session:\001*'
|
33
|
+
_globals['_AGENTSTATE']._serialized_start=1673
|
34
|
+
_globals['_AGENTSTATE']._serialized_end=1894
|
35
|
+
_globals['_TASKERROR']._serialized_start=1896
|
36
|
+
_globals['_TASKERROR']._serialized_end=1967
|
37
|
+
_globals['_STARTSESSIONREQUEST']._serialized_start=141
|
38
|
+
_globals['_STARTSESSIONREQUEST']._serialized_end=340
|
39
|
+
_globals['_UPDATESESSIONREQUEST']._serialized_start=343
|
40
|
+
_globals['_UPDATESESSIONREQUEST']._serialized_end=595
|
41
|
+
_globals['_AGENTTASKSRESPONSE']._serialized_start=598
|
42
|
+
_globals['_AGENTTASKSRESPONSE']._serialized_end=1026
|
43
|
+
_globals['_AGENTTASKSRESPONSE_RETRYTASKSENTRY']._serialized_start=948
|
44
|
+
_globals['_AGENTTASKSRESPONSE_RETRYTASKSENTRY']._serialized_end=1009
|
45
|
+
_globals['_TASK']._serialized_start=1029
|
46
|
+
_globals['_TASK']._serialized_end=1305
|
47
|
+
_globals['_TASKRESULT']._serialized_start=1308
|
48
|
+
_globals['_TASKRESULT']._serialized_end=1545
|
49
|
+
_globals['_TASKERRORDETAIL']._serialized_start=1547
|
50
|
+
_globals['_TASKERRORDETAIL']._serialized_end=1670
|
51
|
+
_globals['_AGENTMANAGERSERVICE']._serialized_start=1970
|
52
|
+
_globals['_AGENTMANAGERSERVICE']._serialized_end=2322
|
53
|
+
# @@protoc_insertion_point(module_scope)
|
@@ -0,0 +1,118 @@
|
|
1
|
+
from google.api import annotations_pb2 as _annotations_pb2
|
2
|
+
from google.protobuf import any_pb2 as _any_pb2
|
3
|
+
from google.protobuf.internal import containers as _containers
|
4
|
+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
5
|
+
from google.protobuf import descriptor as _descriptor
|
6
|
+
from google.protobuf import message as _message
|
7
|
+
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
|
8
|
+
|
9
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
10
|
+
|
11
|
+
class AgentState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
12
|
+
__slots__ = ()
|
13
|
+
AGENT_STATE_UNSPECIFIED: _ClassVar[AgentState]
|
14
|
+
AGENT_STATE_ACTIVE_SESSION: _ClassVar[AgentState]
|
15
|
+
AGENT_STATE_ACTIVE_IDLE: _ClassVar[AgentState]
|
16
|
+
AGENT_STATE_SHUTDOWN_CLIENT_INITIATED: _ClassVar[AgentState]
|
17
|
+
AGENT_STATE_SHUTDOWN_MANAGER_INITIATED: _ClassVar[AgentState]
|
18
|
+
AGENT_STATE_SHUTDOWN_FAULT: _ClassVar[AgentState]
|
19
|
+
|
20
|
+
class TaskError(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
21
|
+
__slots__ = ()
|
22
|
+
TASK_ERROR_UNSPECIFIED: _ClassVar[TaskError]
|
23
|
+
TASK_ERROR_NOT_IMPLEMENTED: _ClassVar[TaskError]
|
24
|
+
AGENT_STATE_UNSPECIFIED: AgentState
|
25
|
+
AGENT_STATE_ACTIVE_SESSION: AgentState
|
26
|
+
AGENT_STATE_ACTIVE_IDLE: AgentState
|
27
|
+
AGENT_STATE_SHUTDOWN_CLIENT_INITIATED: AgentState
|
28
|
+
AGENT_STATE_SHUTDOWN_MANAGER_INITIATED: AgentState
|
29
|
+
AGENT_STATE_SHUTDOWN_FAULT: AgentState
|
30
|
+
TASK_ERROR_UNSPECIFIED: TaskError
|
31
|
+
TASK_ERROR_NOT_IMPLEMENTED: TaskError
|
32
|
+
|
33
|
+
class StartSessionRequest(_message.Message):
|
34
|
+
__slots__ = ("agent_id", "app_name", "device_name", "routine_name", "data")
|
35
|
+
AGENT_ID_FIELD_NUMBER: _ClassVar[int]
|
36
|
+
APP_NAME_FIELD_NUMBER: _ClassVar[int]
|
37
|
+
DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
|
38
|
+
ROUTINE_NAME_FIELD_NUMBER: _ClassVar[int]
|
39
|
+
DATA_FIELD_NUMBER: _ClassVar[int]
|
40
|
+
agent_id: str
|
41
|
+
app_name: str
|
42
|
+
device_name: str
|
43
|
+
routine_name: str
|
44
|
+
data: _any_pb2.Any
|
45
|
+
def __init__(self, agent_id: _Optional[str] = ..., app_name: _Optional[str] = ..., device_name: _Optional[str] = ..., routine_name: _Optional[str] = ..., data: _Optional[_Union[_any_pb2.Any, _Mapping]] = ...) -> None: ...
|
46
|
+
|
47
|
+
class UpdateSessionRequest(_message.Message):
|
48
|
+
__slots__ = ("session_id", "current_state", "results", "task_in_progress")
|
49
|
+
SESSION_ID_FIELD_NUMBER: _ClassVar[int]
|
50
|
+
CURRENT_STATE_FIELD_NUMBER: _ClassVar[int]
|
51
|
+
RESULTS_FIELD_NUMBER: _ClassVar[int]
|
52
|
+
TASK_IN_PROGRESS_FIELD_NUMBER: _ClassVar[int]
|
53
|
+
session_id: str
|
54
|
+
current_state: AgentState
|
55
|
+
results: _containers.RepeatedCompositeFieldContainer[TaskResult]
|
56
|
+
task_in_progress: _containers.RepeatedScalarFieldContainer[str]
|
57
|
+
def __init__(self, session_id: _Optional[str] = ..., current_state: _Optional[_Union[AgentState, str]] = ..., results: _Optional[_Iterable[_Union[TaskResult, _Mapping]]] = ..., task_in_progress: _Optional[_Iterable[str]] = ...) -> None: ...
|
58
|
+
|
59
|
+
class AgentTasksResponse(_message.Message):
|
60
|
+
__slots__ = ("session_id", "target_state", "tasks", "invalidate_tasks", "retry_tasks")
|
61
|
+
class RetryTasksEntry(_message.Message):
|
62
|
+
__slots__ = ("key", "value")
|
63
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
64
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
65
|
+
key: str
|
66
|
+
value: str
|
67
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
|
68
|
+
SESSION_ID_FIELD_NUMBER: _ClassVar[int]
|
69
|
+
TARGET_STATE_FIELD_NUMBER: _ClassVar[int]
|
70
|
+
TASKS_FIELD_NUMBER: _ClassVar[int]
|
71
|
+
INVALIDATE_TASKS_FIELD_NUMBER: _ClassVar[int]
|
72
|
+
RETRY_TASKS_FIELD_NUMBER: _ClassVar[int]
|
73
|
+
session_id: str
|
74
|
+
target_state: AgentState
|
75
|
+
tasks: _containers.RepeatedCompositeFieldContainer[Task]
|
76
|
+
invalidate_tasks: _containers.RepeatedScalarFieldContainer[str]
|
77
|
+
retry_tasks: _containers.ScalarMap[str, str]
|
78
|
+
def __init__(self, session_id: _Optional[str] = ..., target_state: _Optional[_Union[AgentState, str]] = ..., tasks: _Optional[_Iterable[_Union[Task, _Mapping]]] = ..., invalidate_tasks: _Optional[_Iterable[str]] = ..., retry_tasks: _Optional[_Mapping[str, str]] = ...) -> None: ...
|
79
|
+
|
80
|
+
class Task(_message.Message):
|
81
|
+
__slots__ = ("task_id", "session_id", "task_type", "data", "timeout_seconds", "deadline", "depends_on")
|
82
|
+
TASK_ID_FIELD_NUMBER: _ClassVar[int]
|
83
|
+
SESSION_ID_FIELD_NUMBER: _ClassVar[int]
|
84
|
+
TASK_TYPE_FIELD_NUMBER: _ClassVar[int]
|
85
|
+
DATA_FIELD_NUMBER: _ClassVar[int]
|
86
|
+
TIMEOUT_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
87
|
+
DEADLINE_FIELD_NUMBER: _ClassVar[int]
|
88
|
+
DEPENDS_ON_FIELD_NUMBER: _ClassVar[int]
|
89
|
+
task_id: str
|
90
|
+
session_id: str
|
91
|
+
task_type: str
|
92
|
+
data: _any_pb2.Any
|
93
|
+
timeout_seconds: int
|
94
|
+
deadline: int
|
95
|
+
depends_on: _containers.RepeatedScalarFieldContainer[str]
|
96
|
+
def __init__(self, task_id: _Optional[str] = ..., session_id: _Optional[str] = ..., task_type: _Optional[str] = ..., data: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., timeout_seconds: _Optional[int] = ..., deadline: _Optional[int] = ..., depends_on: _Optional[_Iterable[str]] = ...) -> None: ...
|
97
|
+
|
98
|
+
class TaskResult(_message.Message):
|
99
|
+
__slots__ = ("task_id", "session_id", "result_type", "result", "error")
|
100
|
+
TASK_ID_FIELD_NUMBER: _ClassVar[int]
|
101
|
+
SESSION_ID_FIELD_NUMBER: _ClassVar[int]
|
102
|
+
RESULT_TYPE_FIELD_NUMBER: _ClassVar[int]
|
103
|
+
RESULT_FIELD_NUMBER: _ClassVar[int]
|
104
|
+
ERROR_FIELD_NUMBER: _ClassVar[int]
|
105
|
+
task_id: str
|
106
|
+
session_id: str
|
107
|
+
result_type: str
|
108
|
+
result: _any_pb2.Any
|
109
|
+
error: TaskErrorDetail
|
110
|
+
def __init__(self, task_id: _Optional[str] = ..., session_id: _Optional[str] = ..., result_type: _Optional[str] = ..., result: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., error: _Optional[_Union[TaskErrorDetail, _Mapping]] = ...) -> None: ...
|
111
|
+
|
112
|
+
class TaskErrorDetail(_message.Message):
|
113
|
+
__slots__ = ("code", "detail")
|
114
|
+
CODE_FIELD_NUMBER: _ClassVar[int]
|
115
|
+
DETAIL_FIELD_NUMBER: _ClassVar[int]
|
116
|
+
code: TaskError
|
117
|
+
detail: str
|
118
|
+
def __init__(self, code: _Optional[_Union[TaskError, str]] = ..., detail: _Optional[str] = ...) -> None: ...
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
3
|
+
import grpc
|
4
|
+
|
5
|
+
from boulderopalscaleupsdk.protobuf.v1 import task_pb2 as boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2
|
6
|
+
|
7
|
+
|
8
|
+
class AgentManagerServiceStub(object):
|
9
|
+
"""Agents are responsible for communicating with the remote AgentManager service
|
10
|
+
to determine a set of tasks to perform (generally, QPU tasks such as
|
11
|
+
execution of quantum circuits / configuration). Importantly, to both simplify
|
12
|
+
and ensure the security of the QPU adjacent host that the agent will run on,
|
13
|
+
the agent must initiate all communications (as opposed to opening a port on
|
14
|
+
the host).
|
15
|
+
"""
|
16
|
+
|
17
|
+
def __init__(self, channel):
|
18
|
+
"""Constructor.
|
19
|
+
|
20
|
+
Args:
|
21
|
+
channel: A grpc.Channel.
|
22
|
+
"""
|
23
|
+
self.StartSession = channel.unary_unary(
|
24
|
+
'/boulderopalscaleupsdk.protobuf.v1.AgentManagerService/StartSession',
|
25
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.StartSessionRequest.SerializeToString,
|
26
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.FromString,
|
27
|
+
)
|
28
|
+
self.UpdateSession = channel.unary_unary(
|
29
|
+
'/boulderopalscaleupsdk.protobuf.v1.AgentManagerService/UpdateSession',
|
30
|
+
request_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.UpdateSessionRequest.SerializeToString,
|
31
|
+
response_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.FromString,
|
32
|
+
)
|
33
|
+
|
34
|
+
|
35
|
+
class AgentManagerServiceServicer(object):
|
36
|
+
"""Agents are responsible for communicating with the remote AgentManager service
|
37
|
+
to determine a set of tasks to perform (generally, QPU tasks such as
|
38
|
+
execution of quantum circuits / configuration). Importantly, to both simplify
|
39
|
+
and ensure the security of the QPU adjacent host that the agent will run on,
|
40
|
+
the agent must initiate all communications (as opposed to opening a port on
|
41
|
+
the host).
|
42
|
+
"""
|
43
|
+
|
44
|
+
def StartSession(self, request, context):
|
45
|
+
"""Start the session.
|
46
|
+
"""
|
47
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
48
|
+
context.set_details('Method not implemented!')
|
49
|
+
raise NotImplementedError('Method not implemented!')
|
50
|
+
|
51
|
+
def UpdateSession(self, request, context):
|
52
|
+
"""Update the session.
|
53
|
+
"""
|
54
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
55
|
+
context.set_details('Method not implemented!')
|
56
|
+
raise NotImplementedError('Method not implemented!')
|
57
|
+
|
58
|
+
|
59
|
+
def add_AgentManagerServiceServicer_to_server(servicer, server):
|
60
|
+
rpc_method_handlers = {
|
61
|
+
'StartSession': grpc.unary_unary_rpc_method_handler(
|
62
|
+
servicer.StartSession,
|
63
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.StartSessionRequest.FromString,
|
64
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.SerializeToString,
|
65
|
+
),
|
66
|
+
'UpdateSession': grpc.unary_unary_rpc_method_handler(
|
67
|
+
servicer.UpdateSession,
|
68
|
+
request_deserializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.UpdateSessionRequest.FromString,
|
69
|
+
response_serializer=boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.SerializeToString,
|
70
|
+
),
|
71
|
+
}
|
72
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
73
|
+
'boulderopalscaleupsdk.protobuf.v1.AgentManagerService', rpc_method_handlers)
|
74
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
75
|
+
|
76
|
+
|
77
|
+
# This class is part of an EXPERIMENTAL API.
|
78
|
+
class AgentManagerService(object):
|
79
|
+
"""Agents are responsible for communicating with the remote AgentManager service
|
80
|
+
to determine a set of tasks to perform (generally, QPU tasks such as
|
81
|
+
execution of quantum circuits / configuration). Importantly, to both simplify
|
82
|
+
and ensure the security of the QPU adjacent host that the agent will run on,
|
83
|
+
the agent must initiate all communications (as opposed to opening a port on
|
84
|
+
the host).
|
85
|
+
"""
|
86
|
+
|
87
|
+
@staticmethod
|
88
|
+
def StartSession(request,
|
89
|
+
target,
|
90
|
+
options=(),
|
91
|
+
channel_credentials=None,
|
92
|
+
call_credentials=None,
|
93
|
+
insecure=False,
|
94
|
+
compression=None,
|
95
|
+
wait_for_ready=None,
|
96
|
+
timeout=None,
|
97
|
+
metadata=None):
|
98
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.AgentManagerService/StartSession',
|
99
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.StartSessionRequest.SerializeToString,
|
100
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.FromString,
|
101
|
+
options, channel_credentials,
|
102
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
103
|
+
|
104
|
+
@staticmethod
|
105
|
+
def UpdateSession(request,
|
106
|
+
target,
|
107
|
+
options=(),
|
108
|
+
channel_credentials=None,
|
109
|
+
call_credentials=None,
|
110
|
+
insecure=False,
|
111
|
+
compression=None,
|
112
|
+
wait_for_ready=None,
|
113
|
+
timeout=None,
|
114
|
+
metadata=None):
|
115
|
+
return grpc.experimental.unary_unary(request, target, '/boulderopalscaleupsdk.protobuf.v1.AgentManagerService/UpdateSession',
|
116
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.UpdateSessionRequest.SerializeToString,
|
117
|
+
boulderopalscaleupsdk_dot_protobuf_dot_v1_dot_task__pb2.AgentTasksResponse.FromString,
|
118
|
+
options, channel_credentials,
|
119
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from pydantic import PrivateAttr
|
2
|
+
|
3
|
+
from boulderopalscaleupsdk.routines.common import Routine
|
4
|
+
|
5
|
+
|
6
|
+
class ResonatorMapping(Routine):
|
7
|
+
"""
|
8
|
+
Parameters for running a resonator mapping routine.
|
9
|
+
"""
|
10
|
+
|
11
|
+
_routine_name: str = PrivateAttr("resonator_mapping")
|
12
|
+
|
13
|
+
feedlines: list[str]
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Copyright 2025 Q-CTRL. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Q-CTRL Terms of service (the "License"). Unauthorized
|
4
|
+
# copying or use of this file, via any medium, is strictly prohibited.
|
5
|
+
# Proprietary and confidential. You may not use this file except in compliance
|
6
|
+
# with the License. You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# https://q-ctrl.com/terms
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS. See the
|
12
|
+
# License for the specific language.
|
13
|
+
|
14
|
+
"""Third party imports and configuration."""
|