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