google-genai 1.27.0__py3-none-any.whl → 1.29.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/__init__.py +1 -0
- google/genai/_api_client.py +281 -92
- google/genai/_automatic_function_calling_util.py +35 -7
- google/genai/_common.py +9 -6
- google/genai/_extra_utils.py +8 -8
- google/genai/_live_converters.py +14 -0
- google/genai/_mcp_utils.py +4 -1
- google/genai/_replay_api_client.py +6 -2
- google/genai/_transformers.py +13 -12
- google/genai/batches.py +19 -2
- google/genai/errors.py +6 -3
- google/genai/live.py +2 -3
- google/genai/models.py +472 -22
- google/genai/pagers.py +5 -5
- google/genai/tokens.py +3 -3
- google/genai/tunings.py +33 -6
- google/genai/types.py +395 -39
- google/genai/version.py +1 -1
- {google_genai-1.27.0.dist-info → google_genai-1.29.0.dist-info}/METADATA +2 -2
- google_genai-1.29.0.dist-info/RECORD +35 -0
- google_genai-1.27.0.dist-info/RECORD +0 -35
- {google_genai-1.27.0.dist-info → google_genai-1.29.0.dist-info}/WHEEL +0 -0
- {google_genai-1.27.0.dist-info → google_genai-1.29.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.27.0.dist-info → google_genai-1.29.0.dist-info}/top_level.txt +0 -0
google/genai/pagers.py
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
# pylint: disable=protected-access
|
19
19
|
|
20
20
|
import copy
|
21
|
-
from typing import Any, AsyncIterator,Awaitable, Callable, Generic, Iterator, Literal, TypeVar, Union
|
21
|
+
from typing import Any, AsyncIterator, Awaitable, Callable, Generic, Iterator, Literal, TypeVar, Union
|
22
|
+
from . import _common
|
22
23
|
from . import types
|
23
24
|
|
24
25
|
T = TypeVar('T')
|
@@ -68,7 +69,7 @@ class _BasePager(Generic[T]):
|
|
68
69
|
|
69
70
|
@property
|
70
71
|
def page(self) -> list[T]:
|
71
|
-
"""Returns a subset of the entire list of items.
|
72
|
+
"""Returns a subset of the entire list of items.
|
72
73
|
|
73
74
|
For the number of items returned, see `pageSize()`.
|
74
75
|
|
@@ -115,13 +116,12 @@ class _BasePager(Generic[T]):
|
|
115
116
|
|
116
117
|
@property
|
117
118
|
def sdk_http_response(self) -> Union[types.HttpResponse, None]:
|
118
|
-
"""Returns the http response of the API response.
|
119
|
-
"""
|
119
|
+
"""Returns the http response of the API response."""
|
120
120
|
|
121
121
|
return self._sdk_http_response
|
122
122
|
|
123
123
|
@property
|
124
|
-
def config(self) ->
|
124
|
+
def config(self) -> _common.StringDict:
|
125
125
|
"""Returns the configuration when making the API request for the next page.
|
126
126
|
|
127
127
|
A configuration is a set of optional parameters and arguments that can be
|
google/genai/tokens.py
CHANGED
@@ -27,7 +27,7 @@ from . import types
|
|
27
27
|
logger = logging.getLogger('google_genai.tokens')
|
28
28
|
|
29
29
|
|
30
|
-
def _get_field_masks(setup:
|
30
|
+
def _get_field_masks(setup: _common.StringDict) -> str:
|
31
31
|
"""Return field_masks"""
|
32
32
|
fields = []
|
33
33
|
for k, v in setup.items():
|
@@ -42,9 +42,9 @@ def _get_field_masks(setup: Dict[str, Any]) -> str:
|
|
42
42
|
|
43
43
|
|
44
44
|
def _convert_bidi_setup_to_token_setup(
|
45
|
-
request_dict:
|
45
|
+
request_dict: _common.StringDict,
|
46
46
|
config: Optional[types.CreateAuthTokenConfigOrDict] = None,
|
47
|
-
) ->
|
47
|
+
) -> _common.StringDict:
|
48
48
|
"""Converts bidiGenerateContentSetup."""
|
49
49
|
bidi_setup = request_dict.get('bidiGenerateContentSetup')
|
50
50
|
if bidi_setup and bidi_setup.get('setup'):
|
google/genai/tunings.py
CHANGED
@@ -423,6 +423,11 @@ def _TuningJob_from_mldev(
|
|
423
423
|
parent_object: Optional[dict[str, Any]] = None,
|
424
424
|
) -> dict[str, Any]:
|
425
425
|
to_object: dict[str, Any] = {}
|
426
|
+
if getv(from_object, ['sdkHttpResponse']) is not None:
|
427
|
+
setv(
|
428
|
+
to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
|
429
|
+
)
|
430
|
+
|
426
431
|
if getv(from_object, ['name']) is not None:
|
427
432
|
setv(to_object, ['name'], getv(from_object, ['name']))
|
428
433
|
|
@@ -532,6 +537,11 @@ def _TuningOperation_from_mldev(
|
|
532
537
|
parent_object: Optional[dict[str, Any]] = None,
|
533
538
|
) -> dict[str, Any]:
|
534
539
|
to_object: dict[str, Any] = {}
|
540
|
+
if getv(from_object, ['sdkHttpResponse']) is not None:
|
541
|
+
setv(
|
542
|
+
to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
|
543
|
+
)
|
544
|
+
|
535
545
|
if getv(from_object, ['name']) is not None:
|
536
546
|
setv(to_object, ['name'], getv(from_object, ['name']))
|
537
547
|
|
@@ -596,6 +606,11 @@ def _TuningJob_from_vertex(
|
|
596
606
|
parent_object: Optional[dict[str, Any]] = None,
|
597
607
|
) -> dict[str, Any]:
|
598
608
|
to_object: dict[str, Any] = {}
|
609
|
+
if getv(from_object, ['sdkHttpResponse']) is not None:
|
610
|
+
setv(
|
611
|
+
to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
|
612
|
+
)
|
613
|
+
|
599
614
|
if getv(from_object, ['name']) is not None:
|
600
615
|
setv(to_object, ['name'], getv(from_object, ['name']))
|
601
616
|
|
@@ -784,7 +799,9 @@ class Tunings(_api_module.BaseModule):
|
|
784
799
|
return_value = types.TuningJob._from_response(
|
785
800
|
response=response_dict, kwargs=parameter_model.model_dump()
|
786
801
|
)
|
787
|
-
|
802
|
+
return_value.sdk_http_response = types.HttpResponse(
|
803
|
+
headers=response.headers
|
804
|
+
)
|
788
805
|
self._api_client._verify_response(return_value)
|
789
806
|
return return_value
|
790
807
|
|
@@ -918,7 +935,9 @@ class Tunings(_api_module.BaseModule):
|
|
918
935
|
return_value = types.TuningJob._from_response(
|
919
936
|
response=response_dict, kwargs=parameter_model.model_dump()
|
920
937
|
)
|
921
|
-
|
938
|
+
return_value.sdk_http_response = types.HttpResponse(
|
939
|
+
headers=response.headers
|
940
|
+
)
|
922
941
|
self._api_client._verify_response(return_value)
|
923
942
|
return return_value
|
924
943
|
|
@@ -987,7 +1006,9 @@ class Tunings(_api_module.BaseModule):
|
|
987
1006
|
return_value = types.TuningOperation._from_response(
|
988
1007
|
response=response_dict, kwargs=parameter_model.model_dump()
|
989
1008
|
)
|
990
|
-
|
1009
|
+
return_value.sdk_http_response = types.HttpResponse(
|
1010
|
+
headers=response.headers
|
1011
|
+
)
|
991
1012
|
self._api_client._verify_response(return_value)
|
992
1013
|
return return_value
|
993
1014
|
|
@@ -1128,7 +1149,9 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1128
1149
|
return_value = types.TuningJob._from_response(
|
1129
1150
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1130
1151
|
)
|
1131
|
-
|
1152
|
+
return_value.sdk_http_response = types.HttpResponse(
|
1153
|
+
headers=response.headers
|
1154
|
+
)
|
1132
1155
|
self._api_client._verify_response(return_value)
|
1133
1156
|
return return_value
|
1134
1157
|
|
@@ -1264,7 +1287,9 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1264
1287
|
return_value = types.TuningJob._from_response(
|
1265
1288
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1266
1289
|
)
|
1267
|
-
|
1290
|
+
return_value.sdk_http_response = types.HttpResponse(
|
1291
|
+
headers=response.headers
|
1292
|
+
)
|
1268
1293
|
self._api_client._verify_response(return_value)
|
1269
1294
|
return return_value
|
1270
1295
|
|
@@ -1333,7 +1358,9 @@ class AsyncTunings(_api_module.BaseModule):
|
|
1333
1358
|
return_value = types.TuningOperation._from_response(
|
1334
1359
|
response=response_dict, kwargs=parameter_model.model_dump()
|
1335
1360
|
)
|
1336
|
-
|
1361
|
+
return_value.sdk_http_response = types.HttpResponse(
|
1362
|
+
headers=response.headers
|
1363
|
+
)
|
1337
1364
|
self._api_client._verify_response(return_value)
|
1338
1365
|
return return_value
|
1339
1366
|
|