google-genai 1.37.0__py3-none-any.whl → 1.39.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 +12 -0
- google/genai/_common.py +25 -10
- google/genai/_live_converters.py +2081 -1907
- google/genai/_operations_converters.py +108 -117
- google/genai/_replay_api_client.py +8 -4
- google/genai/_tokens_converters.py +465 -458
- google/genai/_transformers.py +44 -26
- google/genai/batches.py +1101 -1138
- google/genai/caches.py +747 -771
- google/genai/client.py +87 -0
- google/genai/files.py +110 -123
- google/genai/local_tokenizer.py +7 -2
- google/genai/models.py +2716 -2814
- google/genai/operations.py +10 -22
- google/genai/tunings.py +358 -391
- google/genai/types.py +222 -4
- google/genai/version.py +1 -1
- {google_genai-1.37.0.dist-info → google_genai-1.39.0.dist-info}/METADATA +82 -1
- google_genai-1.39.0.dist-info/RECORD +39 -0
- google_genai-1.37.0.dist-info/RECORD +0 -39
- {google_genai-1.37.0.dist-info → google_genai-1.39.0.dist-info}/WHEEL +0 -0
- {google_genai-1.37.0.dist-info → google_genai-1.39.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.37.0.dist-info → google_genai-1.39.0.dist-info}/top_level.txt +0 -0
google/genai/types.py
CHANGED
@@ -657,6 +657,19 @@ class FileSource(_common.CaseInSensitiveEnum):
|
|
657
657
|
GENERATED = 'GENERATED'
|
658
658
|
|
659
659
|
|
660
|
+
class TurnCompleteReason(_common.CaseInSensitiveEnum):
|
661
|
+
"""The reason why the turn is complete."""
|
662
|
+
|
663
|
+
TURN_COMPLETE_REASON_UNSPECIFIED = 'TURN_COMPLETE_REASON_UNSPECIFIED'
|
664
|
+
"""Default value. Reason is unspecified."""
|
665
|
+
MALFORMED_FUNCTION_CALL = 'MALFORMED_FUNCTION_CALL'
|
666
|
+
"""The function call generated by the model is invalid."""
|
667
|
+
RESPONSE_REJECTED = 'RESPONSE_REJECTED'
|
668
|
+
"""The response is rejected by the model."""
|
669
|
+
NEED_MORE_INPUT = 'NEED_MORE_INPUT'
|
670
|
+
"""Needs more input from the user."""
|
671
|
+
|
672
|
+
|
660
673
|
class MediaModality(_common.CaseInSensitiveEnum):
|
661
674
|
"""Server content modalities."""
|
662
675
|
|
@@ -1008,6 +1021,112 @@ class ExecutableCodeDict(TypedDict, total=False):
|
|
1008
1021
|
ExecutableCodeOrDict = Union[ExecutableCode, ExecutableCodeDict]
|
1009
1022
|
|
1010
1023
|
|
1024
|
+
class FunctionResponseBlob(_common.BaseModel):
|
1025
|
+
"""Raw media bytes for function response.
|
1026
|
+
|
1027
|
+
Text should not be sent as raw bytes, use the FunctionResponse.response
|
1028
|
+
field.
|
1029
|
+
"""
|
1030
|
+
|
1031
|
+
mime_type: Optional[str] = Field(
|
1032
|
+
default=None,
|
1033
|
+
description="""Required. The IANA standard MIME type of the source data.""",
|
1034
|
+
)
|
1035
|
+
data: Optional[bytes] = Field(
|
1036
|
+
default=None, description="""Required. Inline media bytes."""
|
1037
|
+
)
|
1038
|
+
|
1039
|
+
|
1040
|
+
class FunctionResponseBlobDict(TypedDict, total=False):
|
1041
|
+
"""Raw media bytes for function response.
|
1042
|
+
|
1043
|
+
Text should not be sent as raw bytes, use the FunctionResponse.response
|
1044
|
+
field.
|
1045
|
+
"""
|
1046
|
+
|
1047
|
+
mime_type: Optional[str]
|
1048
|
+
"""Required. The IANA standard MIME type of the source data."""
|
1049
|
+
|
1050
|
+
data: Optional[bytes]
|
1051
|
+
"""Required. Inline media bytes."""
|
1052
|
+
|
1053
|
+
|
1054
|
+
FunctionResponseBlobOrDict = Union[
|
1055
|
+
FunctionResponseBlob, FunctionResponseBlobDict
|
1056
|
+
]
|
1057
|
+
|
1058
|
+
|
1059
|
+
class FunctionResponseFileData(_common.BaseModel):
|
1060
|
+
"""URI based data for function response."""
|
1061
|
+
|
1062
|
+
file_uri: Optional[str] = Field(
|
1063
|
+
default=None, description="""Required. URI."""
|
1064
|
+
)
|
1065
|
+
mime_type: Optional[str] = Field(
|
1066
|
+
default=None,
|
1067
|
+
description="""Required. The IANA standard MIME type of the source data.""",
|
1068
|
+
)
|
1069
|
+
|
1070
|
+
|
1071
|
+
class FunctionResponseFileDataDict(TypedDict, total=False):
|
1072
|
+
"""URI based data for function response."""
|
1073
|
+
|
1074
|
+
file_uri: Optional[str]
|
1075
|
+
"""Required. URI."""
|
1076
|
+
|
1077
|
+
mime_type: Optional[str]
|
1078
|
+
"""Required. The IANA standard MIME type of the source data."""
|
1079
|
+
|
1080
|
+
|
1081
|
+
FunctionResponseFileDataOrDict = Union[
|
1082
|
+
FunctionResponseFileData, FunctionResponseFileDataDict
|
1083
|
+
]
|
1084
|
+
|
1085
|
+
|
1086
|
+
class FunctionResponsePart(_common.BaseModel):
|
1087
|
+
"""A datatype containing media that is part of a `FunctionResponse` message.
|
1088
|
+
|
1089
|
+
A `FunctionResponsePart` consists of data which has an associated datatype. A
|
1090
|
+
`FunctionResponsePart` can only contain one of the accepted types in
|
1091
|
+
`FunctionResponsePart.data`.
|
1092
|
+
|
1093
|
+
A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
|
1094
|
+
type and subtype of the media if the `inline_data` field is filled with raw
|
1095
|
+
bytes.
|
1096
|
+
"""
|
1097
|
+
|
1098
|
+
inline_data: Optional[FunctionResponseBlob] = Field(
|
1099
|
+
default=None, description="""Optional. Inline media bytes."""
|
1100
|
+
)
|
1101
|
+
file_data: Optional[FunctionResponseFileData] = Field(
|
1102
|
+
default=None, description="""Optional. URI based data."""
|
1103
|
+
)
|
1104
|
+
|
1105
|
+
|
1106
|
+
class FunctionResponsePartDict(TypedDict, total=False):
|
1107
|
+
"""A datatype containing media that is part of a `FunctionResponse` message.
|
1108
|
+
|
1109
|
+
A `FunctionResponsePart` consists of data which has an associated datatype. A
|
1110
|
+
`FunctionResponsePart` can only contain one of the accepted types in
|
1111
|
+
`FunctionResponsePart.data`.
|
1112
|
+
|
1113
|
+
A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
|
1114
|
+
type and subtype of the media if the `inline_data` field is filled with raw
|
1115
|
+
bytes.
|
1116
|
+
"""
|
1117
|
+
|
1118
|
+
inline_data: Optional[FunctionResponseBlobDict]
|
1119
|
+
"""Optional. Inline media bytes."""
|
1120
|
+
|
1121
|
+
file_data: Optional[FunctionResponseFileDataDict]
|
1122
|
+
"""Optional. URI based data."""
|
1123
|
+
|
1124
|
+
|
1125
|
+
FunctionResponsePartOrDict = Union[
|
1126
|
+
FunctionResponsePart, FunctionResponsePartDict
|
1127
|
+
]
|
1128
|
+
|
1129
|
+
|
1011
1130
|
class FunctionResponse(_common.BaseModel):
|
1012
1131
|
"""A function response."""
|
1013
1132
|
|
@@ -1019,6 +1138,11 @@ class FunctionResponse(_common.BaseModel):
|
|
1019
1138
|
default=None,
|
1020
1139
|
description="""Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.""",
|
1021
1140
|
)
|
1141
|
+
parts: Optional[list[FunctionResponsePart]] = Field(
|
1142
|
+
default=None,
|
1143
|
+
description="""List of parts that constitute a function response. Each part may
|
1144
|
+
have a different IANA MIME type.""",
|
1145
|
+
)
|
1022
1146
|
id: Optional[str] = Field(
|
1023
1147
|
default=None,
|
1024
1148
|
description="""Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.""",
|
@@ -1057,6 +1181,10 @@ class FunctionResponseDict(TypedDict, total=False):
|
|
1057
1181
|
scheduling: Optional[FunctionResponseScheduling]
|
1058
1182
|
"""Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE."""
|
1059
1183
|
|
1184
|
+
parts: Optional[list[FunctionResponsePartDict]]
|
1185
|
+
"""List of parts that constitute a function response. Each part may
|
1186
|
+
have a different IANA MIME type."""
|
1187
|
+
|
1060
1188
|
id: Optional[str]
|
1061
1189
|
"""Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`."""
|
1062
1190
|
|
@@ -1645,7 +1773,7 @@ class Schema(_common.BaseModel):
|
|
1645
1773
|
|
1646
1774
|
def convert_schema(schema: Union['Schema', dict[str, Any]]) -> JSONSchema:
|
1647
1775
|
if isinstance(schema, pydantic.BaseModel):
|
1648
|
-
schema_dict = schema.model_dump()
|
1776
|
+
schema_dict = schema.model_dump(exclude_none=True)
|
1649
1777
|
else:
|
1650
1778
|
schema_dict = schema
|
1651
1779
|
json_schema = JSONSchema()
|
@@ -1653,7 +1781,13 @@ class Schema(_common.BaseModel):
|
|
1653
1781
|
if field_value is None:
|
1654
1782
|
continue
|
1655
1783
|
elif field_name == 'nullable':
|
1656
|
-
json_schema.type
|
1784
|
+
if json_schema.type is None:
|
1785
|
+
json_schema.type = JSONSchemaType.NULL
|
1786
|
+
elif isinstance(json_schema.type, JSONSchemaType):
|
1787
|
+
current_type: JSONSchemaType = json_schema.type
|
1788
|
+
json_schema.type = [current_type, JSONSchemaType.NULL]
|
1789
|
+
elif isinstance(json_schema.type, list):
|
1790
|
+
json_schema.type.append(JSONSchemaType.NULL)
|
1657
1791
|
elif field_name not in json_schema_field_names:
|
1658
1792
|
continue
|
1659
1793
|
elif field_name == 'type':
|
@@ -2667,6 +2801,14 @@ class ToolComputerUse(_common.BaseModel):
|
|
2667
2801
|
environment: Optional[Environment] = Field(
|
2668
2802
|
default=None, description="""Required. The environment being operated."""
|
2669
2803
|
)
|
2804
|
+
excluded_predefined_functions: Optional[list[str]] = Field(
|
2805
|
+
default=None,
|
2806
|
+
description="""By default, predefined functions are included in the final model call.
|
2807
|
+
Some of them can be explicitly excluded from being automatically included.
|
2808
|
+
This can serve two purposes:
|
2809
|
+
1. Using a more restricted / different action space.
|
2810
|
+
2. Improving the definitions / instructions of predefined functions.""",
|
2811
|
+
)
|
2670
2812
|
|
2671
2813
|
|
2672
2814
|
class ToolComputerUseDict(TypedDict, total=False):
|
@@ -2675,6 +2817,13 @@ class ToolComputerUseDict(TypedDict, total=False):
|
|
2675
2817
|
environment: Optional[Environment]
|
2676
2818
|
"""Required. The environment being operated."""
|
2677
2819
|
|
2820
|
+
excluded_predefined_functions: Optional[list[str]]
|
2821
|
+
"""By default, predefined functions are included in the final model call.
|
2822
|
+
Some of them can be explicitly excluded from being automatically included.
|
2823
|
+
This can serve two purposes:
|
2824
|
+
1. Using a more restricted / different action space.
|
2825
|
+
2. Improving the definitions / instructions of predefined functions."""
|
2826
|
+
|
2678
2827
|
|
2679
2828
|
ToolComputerUseOrDict = Union[ToolComputerUse, ToolComputerUseDict]
|
2680
2829
|
|
@@ -6786,7 +6935,7 @@ class _EditImageParameters(_common.BaseModel):
|
|
6786
6935
|
description="""A text description of the edit to apply to the image.""",
|
6787
6936
|
)
|
6788
6937
|
reference_images: Optional[list[_ReferenceImageAPI]] = Field(
|
6789
|
-
default=None, description="""The reference images for
|
6938
|
+
default=None, description="""The reference images for editing."""
|
6790
6939
|
)
|
6791
6940
|
config: Optional[EditImageConfig] = Field(
|
6792
6941
|
default=None, description="""Configuration for editing."""
|
@@ -6803,7 +6952,7 @@ class _EditImageParametersDict(TypedDict, total=False):
|
|
6803
6952
|
"""A text description of the edit to apply to the image."""
|
6804
6953
|
|
6805
6954
|
reference_images: Optional[list[_ReferenceImageAPIDict]]
|
6806
|
-
"""The reference images for
|
6955
|
+
"""The reference images for editing."""
|
6807
6956
|
|
6808
6957
|
config: Optional[EditImageConfigDict]
|
6809
6958
|
"""Configuration for editing."""
|
@@ -13137,6 +13286,58 @@ SubjectReferenceImageOrDict = Union[
|
|
13137
13286
|
]
|
13138
13287
|
|
13139
13288
|
|
13289
|
+
class ContentReferenceImage(_common.BaseModel):
|
13290
|
+
"""A content reference image.
|
13291
|
+
|
13292
|
+
A content reference image represents a subject to reference (ex. person,
|
13293
|
+
product, animal) provided by the user. It can optionally be provided in
|
13294
|
+
addition to a style reference image (ex. background, style reference).
|
13295
|
+
"""
|
13296
|
+
|
13297
|
+
reference_image: Optional[Image] = Field(
|
13298
|
+
default=None,
|
13299
|
+
description="""The reference image for the editing operation.""",
|
13300
|
+
)
|
13301
|
+
reference_id: Optional[int] = Field(
|
13302
|
+
default=None, description="""The id of the reference image."""
|
13303
|
+
)
|
13304
|
+
reference_type: Optional[str] = Field(
|
13305
|
+
default=None,
|
13306
|
+
description="""The type of the reference image. Only set by the SDK.""",
|
13307
|
+
)
|
13308
|
+
|
13309
|
+
@pydantic.model_validator(mode='before')
|
13310
|
+
@classmethod
|
13311
|
+
def _validate_mask_image_config(self, values: Any) -> Any:
|
13312
|
+
if 'reference_type' in values:
|
13313
|
+
raise ValueError('Cannot set internal reference_type field directly.')
|
13314
|
+
values['reference_type'] = 'REFERENCE_TYPE_CONTENT'
|
13315
|
+
return values
|
13316
|
+
|
13317
|
+
|
13318
|
+
class ContentReferenceImageDict(TypedDict, total=False):
|
13319
|
+
"""A content reference image.
|
13320
|
+
|
13321
|
+
A content reference image represents a subject to reference (ex. person,
|
13322
|
+
product, animal) provided by the user. It can optionally be provided in
|
13323
|
+
addition to a style reference image (ex. background, style reference).
|
13324
|
+
"""
|
13325
|
+
|
13326
|
+
reference_image: Optional[ImageDict]
|
13327
|
+
"""The reference image for the editing operation."""
|
13328
|
+
|
13329
|
+
reference_id: Optional[int]
|
13330
|
+
"""The id of the reference image."""
|
13331
|
+
|
13332
|
+
reference_type: Optional[str]
|
13333
|
+
"""The type of the reference image. Only set by the SDK."""
|
13334
|
+
|
13335
|
+
|
13336
|
+
ContentReferenceImageOrDict = Union[
|
13337
|
+
ContentReferenceImage, ContentReferenceImageDict
|
13338
|
+
]
|
13339
|
+
|
13340
|
+
|
13140
13341
|
class LiveServerSetupComplete(_common.BaseModel):
|
13141
13342
|
"""Sent in response to a `LiveGenerateContentSetup` message from the client."""
|
13142
13343
|
|
@@ -13238,6 +13439,15 @@ class LiveServerContent(_common.BaseModel):
|
|
13238
13439
|
default=None,
|
13239
13440
|
description="""Metadata related to url context retrieval tool.""",
|
13240
13441
|
)
|
13442
|
+
turn_complete_reason: Optional[TurnCompleteReason] = Field(
|
13443
|
+
default=None, description="""Reason for the turn is complete."""
|
13444
|
+
)
|
13445
|
+
waiting_for_input: Optional[bool] = Field(
|
13446
|
+
default=None,
|
13447
|
+
description="""If true, indicates that the model is not generating content because
|
13448
|
+
it is waiting for more input from the user, e.g. because it expects the
|
13449
|
+
user to continue talking.""",
|
13450
|
+
)
|
13241
13451
|
|
13242
13452
|
|
13243
13453
|
class LiveServerContentDict(TypedDict, total=False):
|
@@ -13283,6 +13493,14 @@ class LiveServerContentDict(TypedDict, total=False):
|
|
13283
13493
|
url_context_metadata: Optional[UrlContextMetadataDict]
|
13284
13494
|
"""Metadata related to url context retrieval tool."""
|
13285
13495
|
|
13496
|
+
turn_complete_reason: Optional[TurnCompleteReason]
|
13497
|
+
"""Reason for the turn is complete."""
|
13498
|
+
|
13499
|
+
waiting_for_input: Optional[bool]
|
13500
|
+
"""If true, indicates that the model is not generating content because
|
13501
|
+
it is waiting for more input from the user, e.g. because it expects the
|
13502
|
+
user to continue talking."""
|
13503
|
+
|
13286
13504
|
|
13287
13505
|
LiveServerContentOrDict = Union[LiveServerContent, LiveServerContentDict]
|
13288
13506
|
|
google/genai/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: google-genai
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.39.0
|
4
4
|
Summary: GenAI Python SDK
|
5
5
|
Author-email: Google LLC <googleapis-packages@google.com>
|
6
6
|
License: Apache-2.0
|
@@ -122,6 +122,87 @@ from google import genai
|
|
122
122
|
client = genai.Client()
|
123
123
|
```
|
124
124
|
|
125
|
+
## Close a client
|
126
|
+
|
127
|
+
Explicitly close the sync client to ensure that resources, such as the
|
128
|
+
underlying HTTP connections, are properly cleaned up and closed.
|
129
|
+
|
130
|
+
```python
|
131
|
+
|
132
|
+
from google.genai import Client
|
133
|
+
|
134
|
+
client = Client()
|
135
|
+
response_1 = client.models.generate_content(
|
136
|
+
model=MODEL_ID,
|
137
|
+
contents='Hello',
|
138
|
+
)
|
139
|
+
response_2 = client.models.generate_content(
|
140
|
+
model=MODEL_ID,
|
141
|
+
contents='Ask a question',
|
142
|
+
)
|
143
|
+
# Close the sync client to release resources.
|
144
|
+
client.close()
|
145
|
+
```
|
146
|
+
|
147
|
+
To explicitly close the async client:
|
148
|
+
|
149
|
+
```python
|
150
|
+
|
151
|
+
from google.genai import Client
|
152
|
+
|
153
|
+
aclient = Client(
|
154
|
+
vertexai=True, project='my-project-id', location='us-central1'
|
155
|
+
).aio
|
156
|
+
response_1 = await aclient.models.generate_content(
|
157
|
+
model=MODEL_ID,
|
158
|
+
contents='Hello',
|
159
|
+
)
|
160
|
+
response_2 = await aclient.models.generate_content(
|
161
|
+
model=MODEL_ID,
|
162
|
+
contents='Ask a question',
|
163
|
+
)
|
164
|
+
# Close the async client to release resources.
|
165
|
+
await aclient.aclose()
|
166
|
+
```
|
167
|
+
|
168
|
+
## Client context managers
|
169
|
+
|
170
|
+
By using the sync client context manager, it will close the underlying
|
171
|
+
sync client when exiting the with block.
|
172
|
+
|
173
|
+
```python
|
174
|
+
from google.genai import Client
|
175
|
+
|
176
|
+
with Client() as client:
|
177
|
+
response_1 = client.models.generate_content(
|
178
|
+
model=MODEL_ID,
|
179
|
+
contents='Hello',
|
180
|
+
)
|
181
|
+
response_2 = client.models.generate_content(
|
182
|
+
model=MODEL_ID,
|
183
|
+
contents='Ask a question',
|
184
|
+
)
|
185
|
+
|
186
|
+
```
|
187
|
+
|
188
|
+
By using the async client context manager, it will close the underlying
|
189
|
+
async client when exiting the with block.
|
190
|
+
|
191
|
+
```python
|
192
|
+
from google.genai import Client
|
193
|
+
|
194
|
+
async with Client().aio as aclient:
|
195
|
+
response_1 = await aclient.models.generate_content(
|
196
|
+
model=MODEL_ID,
|
197
|
+
contents='Hello',
|
198
|
+
)
|
199
|
+
response_2 = await aclient.models.generate_content(
|
200
|
+
model=MODEL_ID,
|
201
|
+
contents='Ask a question',
|
202
|
+
)
|
203
|
+
|
204
|
+
```
|
205
|
+
|
125
206
|
### API Selection
|
126
207
|
|
127
208
|
By default, the SDK uses the beta API endpoints provided by Google to support
|
@@ -0,0 +1,39 @@
|
|
1
|
+
google/genai/__init__.py,sha256=SKz_9WQKA3R4OpJIDJlgssVfizLNDG2tuWtOD9pxrPE,729
|
2
|
+
google/genai/_adapters.py,sha256=Kok38miNYJff2n--l0zEK_hbq0y2rWOH7k75J7SMYbQ,1744
|
3
|
+
google/genai/_api_client.py,sha256=nYn0nHR5FvZrNpO8cKCd1OqwtelIaS1tTaR9pSsrBo8,61630
|
4
|
+
google/genai/_api_module.py,sha256=lj8eUWx8_LBGBz-49qz6_ywWm3GYp3d8Bg5JoOHbtbI,902
|
5
|
+
google/genai/_automatic_function_calling_util.py,sha256=xXNkJR-pzSMkeSXMz3Jw-kMHFbTJEiRJ3wocuwtWW4I,11627
|
6
|
+
google/genai/_base_transformers.py,sha256=wljA6m4tLl4XLGlBC2DNOls5N9-X9tffBq0M7i8jgpw,1034
|
7
|
+
google/genai/_base_url.py,sha256=E5H4dew14Y16qfnB3XRnjSCi19cJVlkaMNoM_8ip-PM,1597
|
8
|
+
google/genai/_common.py,sha256=YU5842SoZOW0usJRnz58Wi8hqJ1f-Dd01flGTsqI8-U,20653
|
9
|
+
google/genai/_extra_utils.py,sha256=myEPyU_-RXExXtMGitJUKEMWUPiDudScgTN9LqFC8h4,20468
|
10
|
+
google/genai/_live_converters.py,sha256=zsYlIE6b7VKuwkW7blgmxyCNqXOuSiDz8H2b1kd3USs,108032
|
11
|
+
google/genai/_local_tokenizer_loader.py,sha256=cGN1F0f7hNjRIGCGTLeox7IGAZf_YcvZjSp2rCyhUak,7465
|
12
|
+
google/genai/_mcp_utils.py,sha256=HuWJ8FUjquv40Mf_QjcL5r5yXWrS-JjINsjlOSbbyAc,3870
|
13
|
+
google/genai/_operations_converters.py,sha256=hPmrlU_yJWT4di2arA0VKaoQIB1MbCPglmAZ4D8M-Ds,8744
|
14
|
+
google/genai/_replay_api_client.py,sha256=MmpzqE5AxVeyvCahEnmukYGIZqN8lxS-suSgUszvLSw,22555
|
15
|
+
google/genai/_test_api_client.py,sha256=4ruFIy5_1qcbKqqIBu3HSQbpSOBrxiecBtDZaTGFR1s,4797
|
16
|
+
google/genai/_tokens_converters.py,sha256=yZx_RXgoYuSC2uyXYw0RXR5LRsykJ_0mxMs67L5piRw,25173
|
17
|
+
google/genai/_transformers.py,sha256=-1GIrDNS4fH6Qx2jNm-VhcmlTSjWxanna7N7Tp_ctQ8,40861
|
18
|
+
google/genai/batches.py,sha256=x0KyOuj98NABrnZ4SNpGolNIsod6VB92NhGVM1dTnlY,102044
|
19
|
+
google/genai/caches.py,sha256=-0TIzBDlVSCZNKR1PQb7q7pNQ0kwnRbb2MQYRwALMAc,67187
|
20
|
+
google/genai/chats.py,sha256=pIBw8d13llupLn4a7vP6vnpbzDcvCCrZZ-Q2r8Cvo7g,16652
|
21
|
+
google/genai/client.py,sha256=Ps5chw6BJc6F2CjNO_SjsOatepYrNxZa6-weIJxBPWw,13070
|
22
|
+
google/genai/errors.py,sha256=zaPEs_GrtZuypvSPnOe32CTHO6nEVtshvc3Av2ug2Ac,5822
|
23
|
+
google/genai/files.py,sha256=wNM0k9Hab8I7STThiZtA8BdRDaj6fNIdN7DxMr8zzxc,40211
|
24
|
+
google/genai/live.py,sha256=BUyIOt-PON4SuJtKXA6l3ujzA3GUbYWMGSgZvsyKjrg,39674
|
25
|
+
google/genai/live_music.py,sha256=3GG9nsto8Vhkohcs-4CPMS4DFp1ZtMuLYzHfvEPYAeg,6971
|
26
|
+
google/genai/local_tokenizer.py,sha256=EKZ72cV2Zfutlo_efMOPnLRNZN4WQe57rD3G80cF340,14109
|
27
|
+
google/genai/models.py,sha256=FlP9HgR-uaNBXXmDmZ8OQjoTnyT1wmiBhoDGIjKC0jg,266642
|
28
|
+
google/genai/operations.py,sha256=mgRuVCoqUf7z0RfB84W9x7S839VCttmIQZkXovHAMrE,17061
|
29
|
+
google/genai/pagers.py,sha256=m0SfWWn1EJs2k1On3DZx371qb8g2BRm_188ExsicIRc,7098
|
30
|
+
google/genai/py.typed,sha256=RsMFoLwBkAvY05t6izop4UHZtqOPLiKp3GkIEizzmQY,40
|
31
|
+
google/genai/tokens.py,sha256=8RbZ0kgvyKT3SwbgIUOHr6TTZL24v4fqYarhlA8r1ac,12503
|
32
|
+
google/genai/tunings.py,sha256=_VzlKhlqFQHB7Lt4vU1HfGD11E5iolDfPdWrnigu5pw,62885
|
33
|
+
google/genai/types.py,sha256=WfXL6BFOYhuHMLZKoVnPwvNoi0s73ajwtoW-0jK8C88,550882
|
34
|
+
google/genai/version.py,sha256=oCGQ5OGKyiE6IO3Y5csyCr5Tksusrb17BGSSo0HZn28,627
|
35
|
+
google_genai-1.39.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
36
|
+
google_genai-1.39.0.dist-info/METADATA,sha256=cH1U0b3lbxWeig3S3UUbUK_yBufjSsFwfzvw-f9eNfE,45381
|
37
|
+
google_genai-1.39.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
38
|
+
google_genai-1.39.0.dist-info/top_level.txt,sha256=_1QvSJIhFAGfxb79D6DhB7SUw2X6T4rwnz_LLrbcD3c,7
|
39
|
+
google_genai-1.39.0.dist-info/RECORD,,
|
@@ -1,39 +0,0 @@
|
|
1
|
-
google/genai/__init__.py,sha256=SKz_9WQKA3R4OpJIDJlgssVfizLNDG2tuWtOD9pxrPE,729
|
2
|
-
google/genai/_adapters.py,sha256=Kok38miNYJff2n--l0zEK_hbq0y2rWOH7k75J7SMYbQ,1744
|
3
|
-
google/genai/_api_client.py,sha256=j3NJI7lfQbe6KqyoC6FvLTnWzzskZJdmjIGGzUslRsY,61331
|
4
|
-
google/genai/_api_module.py,sha256=lj8eUWx8_LBGBz-49qz6_ywWm3GYp3d8Bg5JoOHbtbI,902
|
5
|
-
google/genai/_automatic_function_calling_util.py,sha256=xXNkJR-pzSMkeSXMz3Jw-kMHFbTJEiRJ3wocuwtWW4I,11627
|
6
|
-
google/genai/_base_transformers.py,sha256=wljA6m4tLl4XLGlBC2DNOls5N9-X9tffBq0M7i8jgpw,1034
|
7
|
-
google/genai/_base_url.py,sha256=E5H4dew14Y16qfnB3XRnjSCi19cJVlkaMNoM_8ip-PM,1597
|
8
|
-
google/genai/_common.py,sha256=VziliVbesmNtke6Fh2wk-kQlCOxEpmkqYb0y4qfKIo4,20074
|
9
|
-
google/genai/_extra_utils.py,sha256=myEPyU_-RXExXtMGitJUKEMWUPiDudScgTN9LqFC8h4,20468
|
10
|
-
google/genai/_live_converters.py,sha256=MMyDkferhBJiR3-dI8k8Rqr9LVzONtf4ibGq9FNzoew,103278
|
11
|
-
google/genai/_local_tokenizer_loader.py,sha256=cGN1F0f7hNjRIGCGTLeox7IGAZf_YcvZjSp2rCyhUak,7465
|
12
|
-
google/genai/_mcp_utils.py,sha256=HuWJ8FUjquv40Mf_QjcL5r5yXWrS-JjINsjlOSbbyAc,3870
|
13
|
-
google/genai/_operations_converters.py,sha256=I1b46qhGCeB5uHNuyrMxpFqmzWuvSFQ5pS52csd1J4E,9080
|
14
|
-
google/genai/_replay_api_client.py,sha256=REKFmX0d8mEgMCf1mhy-bRa-hWOqbqZrBpwpMnzQLFw,22370
|
15
|
-
google/genai/_test_api_client.py,sha256=4ruFIy5_1qcbKqqIBu3HSQbpSOBrxiecBtDZaTGFR1s,4797
|
16
|
-
google/genai/_tokens_converters.py,sha256=42xx5Inv3YMqEdarb3lmt-w54D2tpb9QEBy0DSUATQk,24963
|
17
|
-
google/genai/_transformers.py,sha256=0r3lv77ZcxpkfaGWSw-DMXEGmEbZ4aRfUOrSyqTvnEo,40304
|
18
|
-
google/genai/batches.py,sha256=UJ-zc2UXqQfej8bqqtgeNrepc7zDQBzRlmkRf4Wlr4U,102880
|
19
|
-
google/genai/caches.py,sha256=OuWOomIf7McQk0_jKivA-aBv__5vDc249rBEPqOh_XE,67637
|
20
|
-
google/genai/chats.py,sha256=pIBw8d13llupLn4a7vP6vnpbzDcvCCrZZ-Q2r8Cvo7g,16652
|
21
|
-
google/genai/client.py,sha256=wXnfZBSv9p-yKtX_gabUrfBXoYHuqHhzK_VgwRttMgY,10777
|
22
|
-
google/genai/errors.py,sha256=zaPEs_GrtZuypvSPnOe32CTHO6nEVtshvc3Av2ug2Ac,5822
|
23
|
-
google/genai/files.py,sha256=T8uDgqCQheFwYYYJdN4lax4NOR_q6bJyr0jQf079VeE,40607
|
24
|
-
google/genai/live.py,sha256=BUyIOt-PON4SuJtKXA6l3ujzA3GUbYWMGSgZvsyKjrg,39674
|
25
|
-
google/genai/live_music.py,sha256=3GG9nsto8Vhkohcs-4CPMS4DFp1ZtMuLYzHfvEPYAeg,6971
|
26
|
-
google/genai/local_tokenizer.py,sha256=ZYOdZFS2nJbgDGOMrVzn2hZ_1G8I4_PuVsh6HU8jEgo,14055
|
27
|
-
google/genai/models.py,sha256=eyvuAh7Ky-rpWYBFNnXz8cjgGjvP08EYxgHBY8VInBM,268195
|
28
|
-
google/genai/operations.py,sha256=B0NSu6XNZwMIBTU7Wz_YU9KY64kJvmu5wY7TThyh2uQ,17509
|
29
|
-
google/genai/pagers.py,sha256=m0SfWWn1EJs2k1On3DZx371qb8g2BRm_188ExsicIRc,7098
|
30
|
-
google/genai/py.typed,sha256=RsMFoLwBkAvY05t6izop4UHZtqOPLiKp3GkIEizzmQY,40
|
31
|
-
google/genai/tokens.py,sha256=8RbZ0kgvyKT3SwbgIUOHr6TTZL24v4fqYarhlA8r1ac,12503
|
32
|
-
google/genai/tunings.py,sha256=TVohav5pT5jOj4RgnPdvLI6iDdOVGnPRB8XRBNuyP2E,63513
|
33
|
-
google/genai/types.py,sha256=Fo_wnZfJpN8II_BakdMeZF_fdVr9LS1uN6adt5G3fOw,543397
|
34
|
-
google/genai/version.py,sha256=nlusqdJdDN7Uqli6saNEL815P5TiJPD6kdJtRRoRHdA,627
|
35
|
-
google_genai-1.37.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
36
|
-
google_genai-1.37.0.dist-info/METADATA,sha256=4EpWee9gsOSGvyHGzMC2xqJ0fYOwvgbA2f8fGUh2YjY,43622
|
37
|
-
google_genai-1.37.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
38
|
-
google_genai-1.37.0.dist-info/top_level.txt,sha256=_1QvSJIhFAGfxb79D6DhB7SUw2X6T4rwnz_LLrbcD3c,7
|
39
|
-
google_genai-1.37.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|