Skip to content

Commit 86b38ab

Browse files
Regenerate QuantumEngineService gRPC client libraries with GAPIC (#7500)
This PR contains changes made by re-running the [GAPIC](https://googleapis.github.io/gapic-generators/) code generators for the QuantumEngineService, using the Google-internal proto definitions as input. Generated changes include: - REST-based RPC transport in addition to gRPC - A new RPC method `QuantumEngineService.GetQuantumProcessorConfig`, along with the associated request and response objects - Field renaming `whitelisted_users` -> `allowlisted_users` - Updated type hints In addition to the automated tests, I also verified that the updated RPC clients work by creating a colab which used the updated `cirq_google` library to send jobs to the production QuantumEngineService. --------- Co-authored-by: Pavol Juhas <[email protected]>
1 parent 0373f2b commit 86b38ab

28 files changed

+10555
-1709
lines changed

cirq-google/cirq_google/cloud/quantum/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2022 Google LLC
2+
# Copyright 2025 Google LLC
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -32,6 +32,7 @@
3232
from cirq_google.cloud.quantum_v1alpha1.types.engine import DeleteQuantumReservationRequest
3333
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumCalibrationRequest
3434
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumJobRequest
35+
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumProcessorConfigRequest
3536
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumProcessorRequest
3637
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumProgramRequest
3738
from cirq_google.cloud.quantum_v1alpha1.types.engine import GetQuantumReservationRequest
@@ -61,6 +62,7 @@
6162
from cirq_google.cloud.quantum_v1alpha1.types.engine import UpdateQuantumJobRequest
6263
from cirq_google.cloud.quantum_v1alpha1.types.engine import UpdateQuantumProgramRequest
6364
from cirq_google.cloud.quantum_v1alpha1.types.engine import UpdateQuantumReservationRequest
65+
from cirq_google.cloud.quantum_v1alpha1.types.quantum import DeviceConfigKey
6466
from cirq_google.cloud.quantum_v1alpha1.types.quantum import DeviceConfigSelector
6567
from cirq_google.cloud.quantum_v1alpha1.types.quantum import ExecutionStatus
6668
from cirq_google.cloud.quantum_v1alpha1.types.quantum import GcsLocation
@@ -70,14 +72,14 @@
7072
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumJob
7173
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumJobEvent
7274
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumProcessor
75+
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumProcessorConfig
7376
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumProgram
7477
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumReservation
7578
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumReservationBudget
7679
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumReservationGrant
7780
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumResult
7881
from cirq_google.cloud.quantum_v1alpha1.types.quantum import QuantumTimeSlot
7982
from cirq_google.cloud.quantum_v1alpha1.types.quantum import SchedulingConfig
80-
from cirq_google.cloud.quantum_v1alpha1.types.quantum import DeviceConfigKey
8183

8284
__all__ = (
8385
'QuantumEngineServiceClient',
@@ -93,6 +95,7 @@
9395
'DeleteQuantumReservationRequest',
9496
'GetQuantumCalibrationRequest',
9597
'GetQuantumJobRequest',
98+
'GetQuantumProcessorConfigRequest',
9699
'GetQuantumProcessorRequest',
97100
'GetQuantumProgramRequest',
98101
'GetQuantumReservationRequest',
@@ -122,6 +125,7 @@
122125
'UpdateQuantumJobRequest',
123126
'UpdateQuantumProgramRequest',
124127
'UpdateQuantumReservationRequest',
128+
'DeviceConfigKey',
125129
'DeviceConfigSelector',
126130
'ExecutionStatus',
127131
'GcsLocation',
@@ -131,12 +135,12 @@
131135
'QuantumJob',
132136
'QuantumJobEvent',
133137
'QuantumProcessor',
138+
'QuantumProcessorConfig',
134139
'QuantumProgram',
135140
'QuantumReservation',
136141
'QuantumReservationBudget',
137142
'QuantumReservationGrant',
138143
'QuantumResult',
139144
'QuantumTimeSlot',
140145
'SchedulingConfig',
141-
'DeviceConfigKey',
142146
)

cirq-google/cirq_google/cloud/quantum_v1alpha1/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2022 Google LLC
2+
# Copyright 2025 Google LLC
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -28,6 +28,7 @@
2828
from .types.engine import DeleteQuantumReservationRequest
2929
from .types.engine import GetQuantumCalibrationRequest
3030
from .types.engine import GetQuantumJobRequest
31+
from .types.engine import GetQuantumProcessorConfigRequest
3132
from .types.engine import GetQuantumProcessorRequest
3233
from .types.engine import GetQuantumProgramRequest
3334
from .types.engine import GetQuantumReservationRequest
@@ -57,6 +58,7 @@
5758
from .types.engine import UpdateQuantumJobRequest
5859
from .types.engine import UpdateQuantumProgramRequest
5960
from .types.engine import UpdateQuantumReservationRequest
61+
from .types.quantum import DeviceConfigKey
6062
from .types.quantum import DeviceConfigSelector
6163
from .types.quantum import ExecutionStatus
6264
from .types.quantum import GcsLocation
@@ -66,14 +68,14 @@
6668
from .types.quantum import QuantumJob
6769
from .types.quantum import QuantumJobEvent
6870
from .types.quantum import QuantumProcessor
71+
from .types.quantum import QuantumProcessorConfig
6972
from .types.quantum import QuantumProgram
7073
from .types.quantum import QuantumReservation
7174
from .types.quantum import QuantumReservationBudget
7275
from .types.quantum import QuantumReservationGrant
7376
from .types.quantum import QuantumResult
7477
from .types.quantum import QuantumTimeSlot
7578
from .types.quantum import SchedulingConfig
76-
from .types.quantum import DeviceConfigKey
7779

7880
__all__ = (
7981
'QuantumEngineServiceAsyncClient',
@@ -86,11 +88,13 @@
8688
'DeleteQuantumJobRequest',
8789
'DeleteQuantumProgramRequest',
8890
'DeleteQuantumReservationRequest',
91+
'DeviceConfigKey',
8992
'DeviceConfigSelector',
9093
'ExecutionStatus',
9194
'GcsLocation',
9295
'GetQuantumCalibrationRequest',
9396
'GetQuantumJobRequest',
97+
'GetQuantumProcessorConfigRequest',
9498
'GetQuantumProcessorRequest',
9599
'GetQuantumProgramRequest',
96100
'GetQuantumReservationRequest',
@@ -120,6 +124,7 @@
120124
'QuantumJob',
121125
'QuantumJobEvent',
122126
'QuantumProcessor',
127+
'QuantumProcessorConfig',
123128
'QuantumProgram',
124129
'QuantumReservation',
125130
'QuantumReservationBudget',
@@ -134,5 +139,4 @@
134139
'UpdateQuantumJobRequest',
135140
'UpdateQuantumProgramRequest',
136141
'UpdateQuantumReservationRequest',
137-
'DeviceConfigKey',
138142
)

cirq-google/cirq_google/cloud/quantum_v1alpha1/gapic_metadata.json

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@
6565
"get_quantum_processor"
6666
]
6767
},
68+
"GetQuantumProcessorConfig": {
69+
"methods": [
70+
"get_quantum_processor_config"
71+
]
72+
},
6873
"GetQuantumProgram": {
6974
"methods": [
7075
"get_quantum_program"
@@ -210,6 +215,161 @@
210215
"get_quantum_processor"
211216
]
212217
},
218+
"GetQuantumProcessorConfig": {
219+
"methods": [
220+
"get_quantum_processor_config"
221+
]
222+
},
223+
"GetQuantumProgram": {
224+
"methods": [
225+
"get_quantum_program"
226+
]
227+
},
228+
"GetQuantumReservation": {
229+
"methods": [
230+
"get_quantum_reservation"
231+
]
232+
},
233+
"GetQuantumResult": {
234+
"methods": [
235+
"get_quantum_result"
236+
]
237+
},
238+
"ListQuantumCalibrations": {
239+
"methods": [
240+
"list_quantum_calibrations"
241+
]
242+
},
243+
"ListQuantumJobEvents": {
244+
"methods": [
245+
"list_quantum_job_events"
246+
]
247+
},
248+
"ListQuantumJobs": {
249+
"methods": [
250+
"list_quantum_jobs"
251+
]
252+
},
253+
"ListQuantumProcessors": {
254+
"methods": [
255+
"list_quantum_processors"
256+
]
257+
},
258+
"ListQuantumPrograms": {
259+
"methods": [
260+
"list_quantum_programs"
261+
]
262+
},
263+
"ListQuantumReservationBudgets": {
264+
"methods": [
265+
"list_quantum_reservation_budgets"
266+
]
267+
},
268+
"ListQuantumReservationGrants": {
269+
"methods": [
270+
"list_quantum_reservation_grants"
271+
]
272+
},
273+
"ListQuantumReservations": {
274+
"methods": [
275+
"list_quantum_reservations"
276+
]
277+
},
278+
"ListQuantumTimeSlots": {
279+
"methods": [
280+
"list_quantum_time_slots"
281+
]
282+
},
283+
"QuantumRunStream": {
284+
"methods": [
285+
"quantum_run_stream"
286+
]
287+
},
288+
"ReallocateQuantumReservationGrant": {
289+
"methods": [
290+
"reallocate_quantum_reservation_grant"
291+
]
292+
},
293+
"UpdateQuantumJob": {
294+
"methods": [
295+
"update_quantum_job"
296+
]
297+
},
298+
"UpdateQuantumProgram": {
299+
"methods": [
300+
"update_quantum_program"
301+
]
302+
},
303+
"UpdateQuantumReservation": {
304+
"methods": [
305+
"update_quantum_reservation"
306+
]
307+
}
308+
}
309+
},
310+
"rest": {
311+
"libraryClient": "QuantumEngineServiceClient",
312+
"rpcs": {
313+
"CancelQuantumJob": {
314+
"methods": [
315+
"cancel_quantum_job"
316+
]
317+
},
318+
"CancelQuantumReservation": {
319+
"methods": [
320+
"cancel_quantum_reservation"
321+
]
322+
},
323+
"CreateQuantumJob": {
324+
"methods": [
325+
"create_quantum_job"
326+
]
327+
},
328+
"CreateQuantumProgram": {
329+
"methods": [
330+
"create_quantum_program"
331+
]
332+
},
333+
"CreateQuantumReservation": {
334+
"methods": [
335+
"create_quantum_reservation"
336+
]
337+
},
338+
"DeleteQuantumJob": {
339+
"methods": [
340+
"delete_quantum_job"
341+
]
342+
},
343+
"DeleteQuantumProgram": {
344+
"methods": [
345+
"delete_quantum_program"
346+
]
347+
},
348+
"DeleteQuantumReservation": {
349+
"methods": [
350+
"delete_quantum_reservation"
351+
]
352+
},
353+
"GetQuantumCalibration": {
354+
"methods": [
355+
"get_quantum_calibration"
356+
]
357+
},
358+
"GetQuantumJob": {
359+
"methods": [
360+
"get_quantum_job"
361+
]
362+
},
363+
"GetQuantumProcessor": {
364+
"methods": [
365+
"get_quantum_processor"
366+
]
367+
},
368+
"GetQuantumProcessorConfig": {
369+
"methods": [
370+
"get_quantum_processor_config"
371+
]
372+
},
213373
"GetQuantumProgram": {
214374
"methods": [
215375
"get_quantum_program"

cirq-google/cirq_google/cloud/quantum_v1alpha1/services/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2022 Google LLC
2+
# Copyright 2025 Google LLC
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.

cirq-google/cirq_google/cloud/quantum_v1alpha1/services/quantum_engine_service/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Copyright 2022 Google LLC
2+
# Copyright 2025 Google LLC
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.

0 commit comments

Comments
 (0)