google-genai 1.19.0__py3-none-any.whl → 1.21.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.
- google/genai/_api_client.py +449 -137
- google/genai/_common.py +88 -1
- google/genai/_live_converters.py +174 -414
- google/genai/_replay_api_client.py +10 -9
- google/genai/_tokens_converters.py +81 -176
- google/genai/_transformers.py +19 -40
- google/genai/batches.py +47 -64
- google/genai/caches.py +132 -222
- google/genai/chats.py +9 -14
- google/genai/client.py +1 -1
- google/genai/errors.py +32 -6
- google/genai/files.py +89 -103
- google/genai/live.py +15 -20
- google/genai/live_music.py +4 -5
- google/genai/models.py +412 -558
- google/genai/operations.py +36 -68
- google/genai/tokens.py +11 -6
- google/genai/tunings.py +65 -113
- google/genai/types.py +305 -92
- google/genai/version.py +1 -1
- {google_genai-1.19.0.dist-info → google_genai-1.21.0.dist-info}/METADATA +47 -1
- google_genai-1.21.0.dist-info/RECORD +35 -0
- google_genai-1.19.0.dist-info/RECORD +0 -35
- {google_genai-1.19.0.dist-info → google_genai-1.21.0.dist-info}/WHEEL +0 -0
- {google_genai-1.19.0.dist-info → google_genai-1.21.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.19.0.dist-info → google_genai-1.21.0.dist-info}/top_level.txt +0 -0
google/genai/operations.py
CHANGED
@@ -15,14 +15,15 @@
|
|
15
15
|
|
16
16
|
# Code generated by the Google Gen AI SDK generator DO NOT EDIT.
|
17
17
|
|
18
|
+
import json
|
18
19
|
import logging
|
19
20
|
from typing import Any, Optional, Union
|
20
21
|
from urllib.parse import urlencode
|
22
|
+
|
21
23
|
from . import _api_module
|
22
24
|
from . import _common
|
23
25
|
from . import _transformers as t
|
24
26
|
from . import types
|
25
|
-
from ._api_client import BaseApiClient
|
26
27
|
from ._common import get_value_by_path as getv
|
27
28
|
from ._common import set_value_by_path as setv
|
28
29
|
|
@@ -30,7 +31,6 @@ logger = logging.getLogger('google_genai.operations')
|
|
30
31
|
|
31
32
|
|
32
33
|
def _GetOperationParameters_to_mldev(
|
33
|
-
api_client: BaseApiClient,
|
34
34
|
from_object: Union[dict[str, Any], object],
|
35
35
|
parent_object: Optional[dict[str, Any]] = None,
|
36
36
|
) -> dict[str, Any]:
|
@@ -49,7 +49,6 @@ def _GetOperationParameters_to_mldev(
|
|
49
49
|
|
50
50
|
|
51
51
|
def _GetOperationParameters_to_vertex(
|
52
|
-
api_client: BaseApiClient,
|
53
52
|
from_object: Union[dict[str, Any], object],
|
54
53
|
parent_object: Optional[dict[str, Any]] = None,
|
55
54
|
) -> dict[str, Any]:
|
@@ -68,7 +67,6 @@ def _GetOperationParameters_to_vertex(
|
|
68
67
|
|
69
68
|
|
70
69
|
def _FetchPredictOperationParameters_to_vertex(
|
71
|
-
api_client: BaseApiClient,
|
72
70
|
from_object: Union[dict[str, Any], object],
|
73
71
|
parent_object: Optional[dict[str, Any]] = None,
|
74
72
|
) -> dict[str, Any]:
|
@@ -90,7 +88,6 @@ def _FetchPredictOperationParameters_to_vertex(
|
|
90
88
|
|
91
89
|
|
92
90
|
def _Video_from_mldev(
|
93
|
-
api_client: BaseApiClient,
|
94
91
|
from_object: Union[dict[str, Any], object],
|
95
92
|
parent_object: Optional[dict[str, Any]] = None,
|
96
93
|
) -> dict[str, Any]:
|
@@ -102,7 +99,7 @@ def _Video_from_mldev(
|
|
102
99
|
setv(
|
103
100
|
to_object,
|
104
101
|
['video_bytes'],
|
105
|
-
t.t_bytes(
|
102
|
+
t.t_bytes(getv(from_object, ['video', 'encodedVideo'])),
|
106
103
|
)
|
107
104
|
|
108
105
|
if getv(from_object, ['encoding']) is not None:
|
@@ -112,7 +109,6 @@ def _Video_from_mldev(
|
|
112
109
|
|
113
110
|
|
114
111
|
def _GeneratedVideo_from_mldev(
|
115
|
-
api_client: BaseApiClient,
|
116
112
|
from_object: Union[dict[str, Any], object],
|
117
113
|
parent_object: Optional[dict[str, Any]] = None,
|
118
114
|
) -> dict[str, Any]:
|
@@ -121,14 +117,13 @@ def _GeneratedVideo_from_mldev(
|
|
121
117
|
setv(
|
122
118
|
to_object,
|
123
119
|
['video'],
|
124
|
-
_Video_from_mldev(
|
120
|
+
_Video_from_mldev(getv(from_object, ['_self']), to_object),
|
125
121
|
)
|
126
122
|
|
127
123
|
return to_object
|
128
124
|
|
129
125
|
|
130
126
|
def _GenerateVideosResponse_from_mldev(
|
131
|
-
api_client: BaseApiClient,
|
132
127
|
from_object: Union[dict[str, Any], object],
|
133
128
|
parent_object: Optional[dict[str, Any]] = None,
|
134
129
|
) -> dict[str, Any]:
|
@@ -138,7 +133,7 @@ def _GenerateVideosResponse_from_mldev(
|
|
138
133
|
to_object,
|
139
134
|
['generated_videos'],
|
140
135
|
[
|
141
|
-
_GeneratedVideo_from_mldev(
|
136
|
+
_GeneratedVideo_from_mldev(item, to_object)
|
142
137
|
for item in getv(from_object, ['generatedSamples'])
|
143
138
|
],
|
144
139
|
)
|
@@ -161,7 +156,6 @@ def _GenerateVideosResponse_from_mldev(
|
|
161
156
|
|
162
157
|
|
163
158
|
def _GenerateVideosOperation_from_mldev(
|
164
|
-
api_client: BaseApiClient,
|
165
159
|
from_object: Union[dict[str, Any], object],
|
166
160
|
parent_object: Optional[dict[str, Any]] = None,
|
167
161
|
) -> dict[str, Any]:
|
@@ -183,9 +177,7 @@ def _GenerateVideosOperation_from_mldev(
|
|
183
177
|
to_object,
|
184
178
|
['response'],
|
185
179
|
_GenerateVideosResponse_from_mldev(
|
186
|
-
|
187
|
-
getv(from_object, ['response', 'generateVideoResponse']),
|
188
|
-
to_object,
|
180
|
+
getv(from_object, ['response', 'generateVideoResponse']), to_object
|
189
181
|
),
|
190
182
|
)
|
191
183
|
|
@@ -194,9 +186,7 @@ def _GenerateVideosOperation_from_mldev(
|
|
194
186
|
to_object,
|
195
187
|
['result'],
|
196
188
|
_GenerateVideosResponse_from_mldev(
|
197
|
-
|
198
|
-
getv(from_object, ['response', 'generateVideoResponse']),
|
199
|
-
to_object,
|
189
|
+
getv(from_object, ['response', 'generateVideoResponse']), to_object
|
200
190
|
),
|
201
191
|
)
|
202
192
|
|
@@ -204,7 +194,6 @@ def _GenerateVideosOperation_from_mldev(
|
|
204
194
|
|
205
195
|
|
206
196
|
def _Video_from_vertex(
|
207
|
-
api_client: BaseApiClient,
|
208
197
|
from_object: Union[dict[str, Any], object],
|
209
198
|
parent_object: Optional[dict[str, Any]] = None,
|
210
199
|
) -> dict[str, Any]:
|
@@ -216,7 +205,7 @@ def _Video_from_vertex(
|
|
216
205
|
setv(
|
217
206
|
to_object,
|
218
207
|
['video_bytes'],
|
219
|
-
t.t_bytes(
|
208
|
+
t.t_bytes(getv(from_object, ['bytesBase64Encoded'])),
|
220
209
|
)
|
221
210
|
|
222
211
|
if getv(from_object, ['mimeType']) is not None:
|
@@ -226,7 +215,6 @@ def _Video_from_vertex(
|
|
226
215
|
|
227
216
|
|
228
217
|
def _GeneratedVideo_from_vertex(
|
229
|
-
api_client: BaseApiClient,
|
230
218
|
from_object: Union[dict[str, Any], object],
|
231
219
|
parent_object: Optional[dict[str, Any]] = None,
|
232
220
|
) -> dict[str, Any]:
|
@@ -235,14 +223,13 @@ def _GeneratedVideo_from_vertex(
|
|
235
223
|
setv(
|
236
224
|
to_object,
|
237
225
|
['video'],
|
238
|
-
_Video_from_vertex(
|
226
|
+
_Video_from_vertex(getv(from_object, ['_self']), to_object),
|
239
227
|
)
|
240
228
|
|
241
229
|
return to_object
|
242
230
|
|
243
231
|
|
244
232
|
def _GenerateVideosResponse_from_vertex(
|
245
|
-
api_client: BaseApiClient,
|
246
233
|
from_object: Union[dict[str, Any], object],
|
247
234
|
parent_object: Optional[dict[str, Any]] = None,
|
248
235
|
) -> dict[str, Any]:
|
@@ -252,7 +239,7 @@ def _GenerateVideosResponse_from_vertex(
|
|
252
239
|
to_object,
|
253
240
|
['generated_videos'],
|
254
241
|
[
|
255
|
-
_GeneratedVideo_from_vertex(
|
242
|
+
_GeneratedVideo_from_vertex(item, to_object)
|
256
243
|
for item in getv(from_object, ['videos'])
|
257
244
|
],
|
258
245
|
)
|
@@ -275,7 +262,6 @@ def _GenerateVideosResponse_from_vertex(
|
|
275
262
|
|
276
263
|
|
277
264
|
def _GenerateVideosOperation_from_vertex(
|
278
|
-
api_client: BaseApiClient,
|
279
265
|
from_object: Union[dict[str, Any], object],
|
280
266
|
parent_object: Optional[dict[str, Any]] = None,
|
281
267
|
) -> dict[str, Any]:
|
@@ -297,7 +283,7 @@ def _GenerateVideosOperation_from_vertex(
|
|
297
283
|
to_object,
|
298
284
|
['response'],
|
299
285
|
_GenerateVideosResponse_from_vertex(
|
300
|
-
|
286
|
+
getv(from_object, ['response']), to_object
|
301
287
|
),
|
302
288
|
)
|
303
289
|
|
@@ -306,7 +292,7 @@ def _GenerateVideosOperation_from_vertex(
|
|
306
292
|
to_object,
|
307
293
|
['result'],
|
308
294
|
_GenerateVideosResponse_from_vertex(
|
309
|
-
|
295
|
+
getv(from_object, ['response']), to_object
|
310
296
|
),
|
311
297
|
)
|
312
298
|
|
@@ -329,18 +315,14 @@ class Operations(_api_module.BaseModule):
|
|
329
315
|
request_url_dict: Optional[dict[str, str]]
|
330
316
|
|
331
317
|
if self._api_client.vertexai:
|
332
|
-
request_dict = _GetOperationParameters_to_vertex(
|
333
|
-
self._api_client, parameter_model
|
334
|
-
)
|
318
|
+
request_dict = _GetOperationParameters_to_vertex(parameter_model)
|
335
319
|
request_url_dict = request_dict.get('_url')
|
336
320
|
if request_url_dict:
|
337
321
|
path = '{operationName}'.format_map(request_url_dict)
|
338
322
|
else:
|
339
323
|
path = '{operationName}'
|
340
324
|
else:
|
341
|
-
request_dict = _GetOperationParameters_to_mldev(
|
342
|
-
self._api_client, parameter_model
|
343
|
-
)
|
325
|
+
request_dict = _GetOperationParameters_to_mldev(parameter_model)
|
344
326
|
request_url_dict = request_dict.get('_url')
|
345
327
|
if request_url_dict:
|
346
328
|
path = '{operationName}'.format_map(request_url_dict)
|
@@ -362,19 +344,15 @@ class Operations(_api_module.BaseModule):
|
|
362
344
|
request_dict = _common.convert_to_dict(request_dict)
|
363
345
|
request_dict = _common.encode_unserializable_types(request_dict)
|
364
346
|
|
365
|
-
|
366
|
-
|
367
|
-
)
|
347
|
+
response = self._api_client.request('get', path, request_dict, http_options)
|
348
|
+
|
349
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
368
350
|
|
369
351
|
if self._api_client.vertexai:
|
370
|
-
response_dict = _GenerateVideosOperation_from_vertex(
|
371
|
-
self._api_client, response_dict
|
372
|
-
)
|
352
|
+
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
373
353
|
|
374
354
|
else:
|
375
|
-
response_dict = _GenerateVideosOperation_from_mldev(
|
376
|
-
self._api_client, response_dict
|
377
|
-
)
|
355
|
+
response_dict = _GenerateVideosOperation_from_mldev(response_dict)
|
378
356
|
|
379
357
|
return_value = types.GenerateVideosOperation._from_response(
|
380
358
|
response=response_dict, kwargs=parameter_model.model_dump()
|
@@ -399,9 +377,7 @@ class Operations(_api_module.BaseModule):
|
|
399
377
|
if not self._api_client.vertexai:
|
400
378
|
raise ValueError('This method is only supported in the Vertex AI client.')
|
401
379
|
else:
|
402
|
-
request_dict = _FetchPredictOperationParameters_to_vertex(
|
403
|
-
self._api_client, parameter_model
|
404
|
-
)
|
380
|
+
request_dict = _FetchPredictOperationParameters_to_vertex(parameter_model)
|
405
381
|
request_url_dict = request_dict.get('_url')
|
406
382
|
if request_url_dict:
|
407
383
|
path = '{resourceName}:fetchPredictOperation'.format_map(
|
@@ -426,14 +402,14 @@ class Operations(_api_module.BaseModule):
|
|
426
402
|
request_dict = _common.convert_to_dict(request_dict)
|
427
403
|
request_dict = _common.encode_unserializable_types(request_dict)
|
428
404
|
|
429
|
-
|
405
|
+
response = self._api_client.request(
|
430
406
|
'post', path, request_dict, http_options
|
431
407
|
)
|
432
408
|
|
409
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
410
|
+
|
433
411
|
if self._api_client.vertexai:
|
434
|
-
response_dict = _GenerateVideosOperation_from_vertex(
|
435
|
-
self._api_client, response_dict
|
436
|
-
)
|
412
|
+
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
437
413
|
|
438
414
|
return_value = types.GenerateVideosOperation._from_response(
|
439
415
|
response=response_dict, kwargs=parameter_model.model_dump()
|
@@ -499,18 +475,14 @@ class AsyncOperations(_api_module.BaseModule):
|
|
499
475
|
request_url_dict: Optional[dict[str, str]]
|
500
476
|
|
501
477
|
if self._api_client.vertexai:
|
502
|
-
request_dict = _GetOperationParameters_to_vertex(
|
503
|
-
self._api_client, parameter_model
|
504
|
-
)
|
478
|
+
request_dict = _GetOperationParameters_to_vertex(parameter_model)
|
505
479
|
request_url_dict = request_dict.get('_url')
|
506
480
|
if request_url_dict:
|
507
481
|
path = '{operationName}'.format_map(request_url_dict)
|
508
482
|
else:
|
509
483
|
path = '{operationName}'
|
510
484
|
else:
|
511
|
-
request_dict = _GetOperationParameters_to_mldev(
|
512
|
-
self._api_client, parameter_model
|
513
|
-
)
|
485
|
+
request_dict = _GetOperationParameters_to_mldev(parameter_model)
|
514
486
|
request_url_dict = request_dict.get('_url')
|
515
487
|
if request_url_dict:
|
516
488
|
path = '{operationName}'.format_map(request_url_dict)
|
@@ -532,19 +504,17 @@ class AsyncOperations(_api_module.BaseModule):
|
|
532
504
|
request_dict = _common.convert_to_dict(request_dict)
|
533
505
|
request_dict = _common.encode_unserializable_types(request_dict)
|
534
506
|
|
535
|
-
|
507
|
+
response = await self._api_client.async_request(
|
536
508
|
'get', path, request_dict, http_options
|
537
509
|
)
|
538
510
|
|
511
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
512
|
+
|
539
513
|
if self._api_client.vertexai:
|
540
|
-
response_dict = _GenerateVideosOperation_from_vertex(
|
541
|
-
self._api_client, response_dict
|
542
|
-
)
|
514
|
+
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
543
515
|
|
544
516
|
else:
|
545
|
-
response_dict = _GenerateVideosOperation_from_mldev(
|
546
|
-
self._api_client, response_dict
|
547
|
-
)
|
517
|
+
response_dict = _GenerateVideosOperation_from_mldev(response_dict)
|
548
518
|
|
549
519
|
return_value = types.GenerateVideosOperation._from_response(
|
550
520
|
response=response_dict, kwargs=parameter_model.model_dump()
|
@@ -569,9 +539,7 @@ class AsyncOperations(_api_module.BaseModule):
|
|
569
539
|
if not self._api_client.vertexai:
|
570
540
|
raise ValueError('This method is only supported in the Vertex AI client.')
|
571
541
|
else:
|
572
|
-
request_dict = _FetchPredictOperationParameters_to_vertex(
|
573
|
-
self._api_client, parameter_model
|
574
|
-
)
|
542
|
+
request_dict = _FetchPredictOperationParameters_to_vertex(parameter_model)
|
575
543
|
request_url_dict = request_dict.get('_url')
|
576
544
|
if request_url_dict:
|
577
545
|
path = '{resourceName}:fetchPredictOperation'.format_map(
|
@@ -596,14 +564,14 @@ class AsyncOperations(_api_module.BaseModule):
|
|
596
564
|
request_dict = _common.convert_to_dict(request_dict)
|
597
565
|
request_dict = _common.encode_unserializable_types(request_dict)
|
598
566
|
|
599
|
-
|
567
|
+
response = await self._api_client.async_request(
|
600
568
|
'post', path, request_dict, http_options
|
601
569
|
)
|
602
570
|
|
571
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
572
|
+
|
603
573
|
if self._api_client.vertexai:
|
604
|
-
response_dict = _GenerateVideosOperation_from_vertex(
|
605
|
-
self._api_client, response_dict
|
606
|
-
)
|
574
|
+
response_dict = _GenerateVideosOperation_from_vertex(response_dict)
|
607
575
|
|
608
576
|
return_value = types.GenerateVideosOperation._from_response(
|
609
577
|
response=response_dict, kwargs=parameter_model.model_dump()
|
google/genai/tokens.py
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
|
16
16
|
"""[Experimental] Auth Tokens API client."""
|
17
17
|
|
18
|
+
import json
|
18
19
|
import logging
|
19
20
|
from typing import Any, Dict, List, Optional
|
20
21
|
from urllib.parse import urlencode
|
@@ -221,7 +222,8 @@ class Tokens(_api_module.BaseModule):
|
|
221
222
|
)
|
222
223
|
else:
|
223
224
|
request_dict = tokens_converters._CreateAuthTokenParameters_to_mldev(
|
224
|
-
self._api_client,
|
225
|
+
self._api_client,
|
226
|
+
parameter_model
|
225
227
|
)
|
226
228
|
request_url_dict = request_dict.get('_url')
|
227
229
|
if request_url_dict:
|
@@ -252,13 +254,14 @@ class Tokens(_api_module.BaseModule):
|
|
252
254
|
request_dict = _common.convert_to_dict(request_dict)
|
253
255
|
request_dict = _common.encode_unserializable_types(request_dict)
|
254
256
|
|
255
|
-
|
257
|
+
response = self._api_client.request(
|
256
258
|
'post', path, request_dict, http_options
|
257
259
|
)
|
260
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
258
261
|
|
259
262
|
if not self._api_client.vertexai:
|
260
263
|
response_dict = tokens_converters._AuthToken_from_mldev(
|
261
|
-
|
264
|
+
response_dict
|
262
265
|
)
|
263
266
|
|
264
267
|
return_value = types.AuthToken._from_response(
|
@@ -314,7 +317,8 @@ class AsyncTokens(_api_module.BaseModule):
|
|
314
317
|
)
|
315
318
|
else:
|
316
319
|
request_dict = tokens_converters._CreateAuthTokenParameters_to_mldev(
|
317
|
-
self._api_client,
|
320
|
+
self._api_client,
|
321
|
+
parameter_model
|
318
322
|
)
|
319
323
|
request_url_dict = request_dict.get('_url')
|
320
324
|
if request_url_dict:
|
@@ -343,16 +347,17 @@ class AsyncTokens(_api_module.BaseModule):
|
|
343
347
|
request_dict = _common.convert_to_dict(request_dict)
|
344
348
|
request_dict = _common.encode_unserializable_types(request_dict)
|
345
349
|
|
346
|
-
|
350
|
+
response = await self._api_client.async_request(
|
347
351
|
'post',
|
348
352
|
path,
|
349
353
|
request_dict,
|
350
354
|
http_options=http_options,
|
351
355
|
)
|
356
|
+
response_dict = '' if not response.body else json.loads(response.body)
|
352
357
|
|
353
358
|
if not self._api_client.vertexai:
|
354
359
|
response_dict = tokens_converters._AuthToken_from_mldev(
|
355
|
-
|
360
|
+
response_dict
|
356
361
|
)
|
357
362
|
|
358
363
|
return_value = types.AuthToken._from_response(
|