google-genai 1.24.0__py3-none-any.whl → 1.26.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 +11 -1
- google/genai/_common.py +6 -4
- google/genai/_extra_utils.py +1 -1
- google/genai/_live_converters.py +1624 -1922
- google/genai/_replay_api_client.py +15 -8
- google/genai/_tokens_converters.py +11 -874
- google/genai/_transformers.py +33 -17
- google/genai/batches.py +388 -3477
- google/genai/caches.py +0 -65
- google/genai/errors.py +2 -2
- google/genai/files.py +4 -0
- google/genai/live.py +22 -15
- google/genai/models.py +10 -170
- google/genai/operations.py +36 -266
- google/genai/tokens.py +8 -4
- google/genai/tunings.py +7 -46
- google/genai/types.py +126 -46
- google/genai/version.py +1 -1
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/METADATA +70 -12
- google_genai-1.26.0.dist-info/RECORD +35 -0
- google_genai-1.24.0.dist-info/RECORD +0 -35
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/WHEEL +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/top_level.txt +0 -0
google/genai/types.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
|
+
from abc import ABC, abstractmethod
|
18
19
|
import datetime
|
19
20
|
from enum import Enum, EnumMeta
|
20
21
|
import inspect
|
@@ -26,7 +27,7 @@ import typing
|
|
26
27
|
from typing import Any, Callable, Literal, Optional, Sequence, Union, _UnionGenericAlias # type: ignore
|
27
28
|
import pydantic
|
28
29
|
from pydantic import Field
|
29
|
-
from typing_extensions import TypedDict
|
30
|
+
from typing_extensions import Self, TypedDict
|
30
31
|
from . import _common
|
31
32
|
|
32
33
|
if sys.version_info >= (3, 10):
|
@@ -480,10 +481,21 @@ class ImagePromptLanguage(_common.CaseInSensitiveEnum):
|
|
480
481
|
"""Enum that specifies the language of the text in the prompt."""
|
481
482
|
|
482
483
|
auto = 'auto'
|
484
|
+
"""Auto-detect the language."""
|
483
485
|
en = 'en'
|
486
|
+
"""English"""
|
484
487
|
ja = 'ja'
|
488
|
+
"""Japanese"""
|
485
489
|
ko = 'ko'
|
490
|
+
"""Korean"""
|
486
491
|
hi = 'hi'
|
492
|
+
"""Hindi"""
|
493
|
+
zh = 'zh'
|
494
|
+
"""Chinese"""
|
495
|
+
pt = 'pt'
|
496
|
+
"""Portuguese"""
|
497
|
+
es = 'es'
|
498
|
+
"""Spanish"""
|
487
499
|
|
488
500
|
|
489
501
|
class MaskReferenceMode(_common.CaseInSensitiveEnum):
|
@@ -5242,6 +5254,12 @@ class GenerateContentResponse(_common.BaseModel):
|
|
5242
5254
|
response_schema = _common.get_value_by_path(
|
5243
5255
|
kwargs, ['config', 'response_schema']
|
5244
5256
|
)
|
5257
|
+
# Handles response_json_schema. Backend will throw error if both
|
5258
|
+
# response_schema and response_json_schema are set.
|
5259
|
+
if response_schema is None:
|
5260
|
+
response_schema = _common.get_value_by_path(
|
5261
|
+
kwargs, ['config', 'response_json_schema']
|
5262
|
+
)
|
5245
5263
|
if (
|
5246
5264
|
inspect.isclass(response_schema)
|
5247
5265
|
and not (
|
@@ -6364,6 +6382,11 @@ class EditImageConfig(_common.BaseModel):
|
|
6364
6382
|
only).
|
6365
6383
|
""",
|
6366
6384
|
)
|
6385
|
+
add_watermark: Optional[bool] = Field(
|
6386
|
+
default=None,
|
6387
|
+
description="""Whether to add a watermark to the generated images.
|
6388
|
+
""",
|
6389
|
+
)
|
6367
6390
|
edit_mode: Optional[EditMode] = Field(
|
6368
6391
|
default=None,
|
6369
6392
|
description="""Describes the editing mode for the request.""",
|
@@ -6440,6 +6463,10 @@ class EditImageConfigDict(TypedDict, total=False):
|
|
6440
6463
|
only).
|
6441
6464
|
"""
|
6442
6465
|
|
6466
|
+
add_watermark: Optional[bool]
|
6467
|
+
"""Whether to add a watermark to the generated images.
|
6468
|
+
"""
|
6469
|
+
|
6443
6470
|
edit_mode: Optional[EditMode]
|
6444
6471
|
"""Describes the editing mode for the request."""
|
6445
6472
|
|
@@ -7596,7 +7623,7 @@ class GenerateVideosConfig(_common.BaseModel):
|
|
7596
7623
|
)
|
7597
7624
|
resolution: Optional[str] = Field(
|
7598
7625
|
default=None,
|
7599
|
-
description="""The resolution for the generated video.
|
7626
|
+
description="""The resolution for the generated video. 720p and 1080p are supported.""",
|
7600
7627
|
)
|
7601
7628
|
person_generation: Optional[str] = Field(
|
7602
7629
|
default=None,
|
@@ -7652,7 +7679,7 @@ class GenerateVideosConfigDict(TypedDict, total=False):
|
|
7652
7679
|
"""The aspect ratio for the generated video. 16:9 (landscape) and 9:16 (portrait) are supported."""
|
7653
7680
|
|
7654
7681
|
resolution: Optional[str]
|
7655
|
-
"""The resolution for the generated video.
|
7682
|
+
"""The resolution for the generated video. 720p and 1080p are supported."""
|
7656
7683
|
|
7657
7684
|
person_generation: Optional[str]
|
7658
7685
|
"""Whether allow to generate person videos, and restrict to specific ages. Supported values are: dont_allow, allow_adult."""
|
@@ -7768,26 +7795,8 @@ class GenerateVideosResponse(_common.BaseModel):
|
|
7768
7795
|
)
|
7769
7796
|
|
7770
7797
|
|
7771
|
-
class
|
7772
|
-
"""
|
7773
|
-
|
7774
|
-
generated_videos: Optional[list[GeneratedVideoDict]]
|
7775
|
-
"""List of the generated videos"""
|
7776
|
-
|
7777
|
-
rai_media_filtered_count: Optional[int]
|
7778
|
-
"""Returns if any videos were filtered due to RAI policies."""
|
7779
|
-
|
7780
|
-
rai_media_filtered_reasons: Optional[list[str]]
|
7781
|
-
"""Returns rai failure reasons if any."""
|
7782
|
-
|
7783
|
-
|
7784
|
-
GenerateVideosResponseOrDict = Union[
|
7785
|
-
GenerateVideosResponse, GenerateVideosResponseDict
|
7786
|
-
]
|
7787
|
-
|
7788
|
-
|
7789
|
-
class GenerateVideosOperation(_common.BaseModel):
|
7790
|
-
"""A video generation operation."""
|
7798
|
+
class Operation(ABC):
|
7799
|
+
"""A long-running operation."""
|
7791
7800
|
|
7792
7801
|
name: Optional[str] = Field(
|
7793
7802
|
default=None,
|
@@ -7805,38 +7814,101 @@ class GenerateVideosOperation(_common.BaseModel):
|
|
7805
7814
|
default=None,
|
7806
7815
|
description="""The error result of the operation in case of failure or cancellation.""",
|
7807
7816
|
)
|
7817
|
+
|
7818
|
+
@classmethod
|
7819
|
+
@abstractmethod
|
7820
|
+
def from_api_response(
|
7821
|
+
cls, api_response: Any, is_vertex_ai: bool = False
|
7822
|
+
) -> Self:
|
7823
|
+
"""Creates an Operation from an API response."""
|
7824
|
+
pass
|
7825
|
+
|
7826
|
+
|
7827
|
+
class GenerateVideosOperation(_common.BaseModel, Operation):
|
7828
|
+
"""A video generation operation."""
|
7829
|
+
|
7808
7830
|
response: Optional[GenerateVideosResponse] = Field(
|
7809
7831
|
default=None, description="""The generated videos."""
|
7810
7832
|
)
|
7833
|
+
|
7811
7834
|
result: Optional[GenerateVideosResponse] = Field(
|
7812
7835
|
default=None, description="""The generated videos."""
|
7813
7836
|
)
|
7814
7837
|
|
7838
|
+
@classmethod
|
7839
|
+
def from_api_response(
|
7840
|
+
cls, api_response: Any, is_vertex_ai: bool = False
|
7841
|
+
) -> Self:
|
7842
|
+
"""Instantiates a GenerateVideosOperation from an API response."""
|
7843
|
+
new_operation = cls()
|
7844
|
+
new_operation.name = api_response.get('name', None)
|
7845
|
+
new_operation.metadata = api_response.get('metadata', None)
|
7846
|
+
new_operation.done = api_response.get('done', None)
|
7847
|
+
new_operation.error = api_response.get('error', None)
|
7848
|
+
|
7849
|
+
if is_vertex_ai:
|
7850
|
+
if api_response.get('response', None) is not None:
|
7851
|
+
new_operation.response = GenerateVideosResponse(
|
7852
|
+
generated_videos=[
|
7853
|
+
GeneratedVideo(
|
7854
|
+
video=Video(
|
7855
|
+
uri=video.get('gcsUri', None),
|
7856
|
+
video_bytes=video.get('bytesBase64Encoded', None),
|
7857
|
+
mime_type=video.get('mimeType', None),
|
7858
|
+
)
|
7859
|
+
)
|
7860
|
+
for video in api_response.get('response', {}).get('videos', [])
|
7861
|
+
],
|
7862
|
+
rai_media_filtered_count=api_response.get('response', {}).get(
|
7863
|
+
'raiMediaFilteredCount', None
|
7864
|
+
),
|
7865
|
+
rai_media_filtered_reasons=api_response.get('response', {}).get(
|
7866
|
+
'raiMediaFilteredReasons', None
|
7867
|
+
),
|
7868
|
+
)
|
7869
|
+
else:
|
7870
|
+
if api_response.get('response', None) is not None:
|
7871
|
+
new_operation.response = GenerateVideosResponse(
|
7872
|
+
generated_videos=[
|
7873
|
+
GeneratedVideo(
|
7874
|
+
video=Video(
|
7875
|
+
uri=video.get('video', {}).get('uri', None),
|
7876
|
+
video_bytes=video.get('video', {}).get(
|
7877
|
+
'encodedVideo', None
|
7878
|
+
),
|
7879
|
+
mime_type=video.get('encoding', None),
|
7880
|
+
)
|
7881
|
+
)
|
7882
|
+
for video in api_response.get('response', {})
|
7883
|
+
.get('generateVideoResponse', {})
|
7884
|
+
.get('generatedSamples', [])
|
7885
|
+
],
|
7886
|
+
rai_media_filtered_count=api_response.get('response', {})
|
7887
|
+
.get('generateVideoResponse', {})
|
7888
|
+
.get('raiMediaFilteredCount', None),
|
7889
|
+
rai_media_filtered_reasons=api_response.get('response', {})
|
7890
|
+
.get('generateVideoResponse', {})
|
7891
|
+
.get('raiMediaFilteredReasons', None),
|
7892
|
+
)
|
7893
|
+
new_operation.result = new_operation.response
|
7894
|
+
return new_operation
|
7815
7895
|
|
7816
|
-
class GenerateVideosOperationDict(TypedDict, total=False):
|
7817
|
-
"""A video generation operation."""
|
7818
|
-
|
7819
|
-
name: Optional[str]
|
7820
|
-
"""The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`."""
|
7821
|
-
|
7822
|
-
metadata: Optional[dict[str, Any]]
|
7823
|
-
"""Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any."""
|
7824
7896
|
|
7825
|
-
|
7826
|
-
"""
|
7897
|
+
class GenerateVideosResponseDict(TypedDict, total=False):
|
7898
|
+
"""Response with generated videos."""
|
7827
7899
|
|
7828
|
-
|
7829
|
-
"""
|
7900
|
+
generated_videos: Optional[list[GeneratedVideoDict]]
|
7901
|
+
"""List of the generated videos"""
|
7830
7902
|
|
7831
|
-
|
7832
|
-
"""
|
7903
|
+
rai_media_filtered_count: Optional[int]
|
7904
|
+
"""Returns if any videos were filtered due to RAI policies."""
|
7833
7905
|
|
7834
|
-
|
7835
|
-
"""
|
7906
|
+
rai_media_filtered_reasons: Optional[list[str]]
|
7907
|
+
"""Returns rai failure reasons if any."""
|
7836
7908
|
|
7837
7909
|
|
7838
|
-
|
7839
|
-
|
7910
|
+
GenerateVideosResponseOrDict = Union[
|
7911
|
+
GenerateVideosResponse, GenerateVideosResponseDict
|
7840
7912
|
]
|
7841
7913
|
|
7842
7914
|
|
@@ -9124,7 +9196,7 @@ _CreateTuningJobParametersOrDict = Union[
|
|
9124
9196
|
]
|
9125
9197
|
|
9126
9198
|
|
9127
|
-
class
|
9199
|
+
class TuningOperation(_common.BaseModel):
|
9128
9200
|
"""A long-running operation."""
|
9129
9201
|
|
9130
9202
|
name: Optional[str] = Field(
|
@@ -9145,7 +9217,7 @@ class Operation(_common.BaseModel):
|
|
9145
9217
|
)
|
9146
9218
|
|
9147
9219
|
|
9148
|
-
class
|
9220
|
+
class TuningOperationDict(TypedDict, total=False):
|
9149
9221
|
"""A long-running operation."""
|
9150
9222
|
|
9151
9223
|
name: Optional[str]
|
@@ -9161,7 +9233,7 @@ class OperationDict(TypedDict, total=False):
|
|
9161
9233
|
"""The error result of the operation in case of failure or cancellation."""
|
9162
9234
|
|
9163
9235
|
|
9164
|
-
|
9236
|
+
TuningOperationOrDict = Union[TuningOperation, TuningOperationDict]
|
9165
9237
|
|
9166
9238
|
|
9167
9239
|
class CreateCachedContentConfig(_common.BaseModel):
|
@@ -10149,6 +10221,14 @@ class BatchJobDestinationDict(TypedDict, total=False):
|
|
10149
10221
|
BatchJobDestinationOrDict = Union[BatchJobDestination, BatchJobDestinationDict]
|
10150
10222
|
|
10151
10223
|
|
10224
|
+
BatchJobDestinationUnion = Union[BatchJobDestination, str]
|
10225
|
+
|
10226
|
+
|
10227
|
+
BatchJobDestinationUnionDict = Union[
|
10228
|
+
BatchJobDestinationUnion, BatchJobDestinationDict
|
10229
|
+
]
|
10230
|
+
|
10231
|
+
|
10152
10232
|
class CreateBatchJobConfig(_common.BaseModel):
|
10153
10233
|
"""Config for optional parameters."""
|
10154
10234
|
|
@@ -10160,7 +10240,7 @@ class CreateBatchJobConfig(_common.BaseModel):
|
|
10160
10240
|
description="""The user-defined name of this BatchJob.
|
10161
10241
|
""",
|
10162
10242
|
)
|
10163
|
-
dest: Optional[
|
10243
|
+
dest: Optional[BatchJobDestinationUnion] = Field(
|
10164
10244
|
default=None,
|
10165
10245
|
description="""GCS or BigQuery URI prefix for the output predictions. Example:
|
10166
10246
|
"gs://path/to/output/data" or "bq://projectId.bqDatasetId.bqTableId".
|
@@ -10178,7 +10258,7 @@ class CreateBatchJobConfigDict(TypedDict, total=False):
|
|
10178
10258
|
"""The user-defined name of this BatchJob.
|
10179
10259
|
"""
|
10180
10260
|
|
10181
|
-
dest: Optional[
|
10261
|
+
dest: Optional[BatchJobDestinationUnionDict]
|
10182
10262
|
"""GCS or BigQuery URI prefix for the output predictions. Example:
|
10183
10263
|
"gs://path/to/output/data" or "bq://projectId.bqDatasetId.bqTableId".
|
10184
10264
|
"""
|
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.26.0
|
4
4
|
Summary: GenAI Python SDK
|
5
5
|
Author-email: Google LLC <googleapis-packages@google.com>
|
6
6
|
License: Apache-2.0
|
@@ -89,10 +89,13 @@ You can create a client by configuring the necessary environment variables.
|
|
89
89
|
Configuration setup instructions depends on whether you're using the Gemini
|
90
90
|
Developer API or the Gemini API in Vertex AI.
|
91
91
|
|
92
|
-
**Gemini Developer API:** Set `
|
92
|
+
**Gemini Developer API:** Set the `GEMINI_API_KEY` or `GOOGLE_API_KEY`.
|
93
|
+
It will automatically be picked up by the client. It's recommended that you
|
94
|
+
set only one of those variables, but if both are set, `GOOGLE_API_KEY` takes
|
95
|
+
precedence.
|
93
96
|
|
94
97
|
```bash
|
95
|
-
export
|
98
|
+
export GEMINI_API_KEY='your-api-key'
|
96
99
|
```
|
97
100
|
|
98
101
|
**Gemini API on Vertex AI:** Set `GOOGLE_GENAI_USE_VERTEXAI`,
|
@@ -606,16 +609,16 @@ from google.genai import types
|
|
606
609
|
function = types.FunctionDeclaration(
|
607
610
|
name='get_current_weather',
|
608
611
|
description='Get the current weather in a given location',
|
609
|
-
|
610
|
-
type
|
611
|
-
properties
|
612
|
-
'location':
|
613
|
-
type
|
614
|
-
description
|
615
|
-
|
612
|
+
parameters_json_schema={
|
613
|
+
'type': 'object',
|
614
|
+
'properties': {
|
615
|
+
'location': {
|
616
|
+
'type': 'string',
|
617
|
+
'description': 'The city and state, e.g. San Francisco, CA',
|
618
|
+
}
|
616
619
|
},
|
617
|
-
required
|
618
|
-
|
620
|
+
'required': ['location'],
|
621
|
+
},
|
619
622
|
)
|
620
623
|
|
621
624
|
tool = types.Tool(function_declarations=[function])
|
@@ -796,6 +799,40 @@ However you define your schema, don't duplicate it in your input prompt,
|
|
796
799
|
including by giving examples of expected JSON output. If you do, the generated
|
797
800
|
output might be lower in quality.
|
798
801
|
|
802
|
+
#### JSON Schema support
|
803
|
+
Schemas can be provided as standard JSON schema.
|
804
|
+
```python
|
805
|
+
user_profile = {
|
806
|
+
'properties': {
|
807
|
+
'age': {
|
808
|
+
'anyOf': [
|
809
|
+
{'maximum': 20, 'minimum': 0, 'type': 'integer'},
|
810
|
+
{'type': 'null'},
|
811
|
+
],
|
812
|
+
'title': 'Age',
|
813
|
+
},
|
814
|
+
'username': {
|
815
|
+
'description': "User's unique name",
|
816
|
+
'title': 'Username',
|
817
|
+
'type': 'string',
|
818
|
+
},
|
819
|
+
},
|
820
|
+
'required': ['username', 'age'],
|
821
|
+
'title': 'User Schema',
|
822
|
+
'type': 'object',
|
823
|
+
}
|
824
|
+
|
825
|
+
response = client.models.generate_content(
|
826
|
+
model='gemini-2.0-flash',
|
827
|
+
contents='Give me information of the United States.',
|
828
|
+
config={
|
829
|
+
'response_mime_type': 'application/json',
|
830
|
+
'response_json_schema': userProfile
|
831
|
+
},
|
832
|
+
)
|
833
|
+
print(response.parsed)
|
834
|
+
```
|
835
|
+
|
799
836
|
#### Pydantic Model Schema support
|
800
837
|
|
801
838
|
Schemas can be provided as Pydantic Models.
|
@@ -1633,3 +1670,24 @@ except errors.APIError as e:
|
|
1633
1670
|
print(e.code) # 404
|
1634
1671
|
print(e.message)
|
1635
1672
|
```
|
1673
|
+
|
1674
|
+
## Extra Request Body
|
1675
|
+
|
1676
|
+
The `extra_body` field in `HttpOptions` accepts a dictionary of additional JSON
|
1677
|
+
properties to include in the request body. This can be used to access new or
|
1678
|
+
experimental backend features that are not yet formally supported in the SDK.
|
1679
|
+
The structure of the dictionary must match the backend API's request structure.
|
1680
|
+
|
1681
|
+
- VertexAI backend API docs: https://cloud.google.com/vertex-ai/docs/reference/rest
|
1682
|
+
- GeminiAPI backend API docs: https://ai.google.dev/api/rest
|
1683
|
+
|
1684
|
+
```python
|
1685
|
+
response = client.models.generate_content(
|
1686
|
+
model="gemini-2.5-pro",
|
1687
|
+
contents="What is the weather in Boston? and how about Sunnyvale?",
|
1688
|
+
config=types.GenerateContentConfig(
|
1689
|
+
tools=[get_current_weather],
|
1690
|
+
http_options=types.HttpOptions(extra_body={'tool_config': {'function_calling_config': {'mode': 'COMPOSITIONAL'}}}),
|
1691
|
+
),
|
1692
|
+
)
|
1693
|
+
```
|
@@ -0,0 +1,35 @@
|
|
1
|
+
google/genai/__init__.py,sha256=SYTxz3Ho06pP2TBlvDU0FkUJz8ytbR3MgEpS9HvVYq4,709
|
2
|
+
google/genai/_adapters.py,sha256=Kok38miNYJff2n--l0zEK_hbq0y2rWOH7k75J7SMYbQ,1744
|
3
|
+
google/genai/_api_client.py,sha256=X9JVR_XBnedZgkOKbBcvJjMuHupA75XXJkmlrVZqTw0,53102
|
4
|
+
google/genai/_api_module.py,sha256=lj8eUWx8_LBGBz-49qz6_ywWm3GYp3d8Bg5JoOHbtbI,902
|
5
|
+
google/genai/_automatic_function_calling_util.py,sha256=IJkPq2fT9pYxYm5Pbu5-e0nBoZKoZla7yT4_txWRKLs,10324
|
6
|
+
google/genai/_base_url.py,sha256=E5H4dew14Y16qfnB3XRnjSCi19cJVlkaMNoM_8ip-PM,1597
|
7
|
+
google/genai/_common.py,sha256=sJpzeoEJ6dZSPPfHb2Dsar-F5KmpwLjFqNSkxxxVfS8,19876
|
8
|
+
google/genai/_extra_utils.py,sha256=jWhJIdaFoVsrvExl6L7of3Bu8miSKvVidx4pbQ6EO2A,20571
|
9
|
+
google/genai/_live_converters.py,sha256=pIcEfsAxjV1zeWmxMNigDD7ETHiuutp-a2y0HQThdmU,100162
|
10
|
+
google/genai/_mcp_utils.py,sha256=khECx-DMuHemKzOQQ3msWp7FivPeEOnl3n1lvWc_b5o,3833
|
11
|
+
google/genai/_replay_api_client.py,sha256=2ndavmUMySvjLIdYEvjPZIOPfc-IA5rbWQgEwWuWpfc,21567
|
12
|
+
google/genai/_test_api_client.py,sha256=4ruFIy5_1qcbKqqIBu3HSQbpSOBrxiecBtDZaTGFR1s,4797
|
13
|
+
google/genai/_tokens_converters.py,sha256=ClWTsgcqn91zSw_qTqLPTNSP1-_G8s-NlBCD8-DQniw,23803
|
14
|
+
google/genai/_transformers.py,sha256=uTRSd9qrUZbJoFzLEWy3wGR_j1KqVg5cypGzQM1Mc4w,37357
|
15
|
+
google/genai/batches.py,sha256=rat60rGEza3QIu4ExyUl0RAzQiyFZkcJ4excxpiq8FA,80594
|
16
|
+
google/genai/caches.py,sha256=oL7vb_G1__Q1I4jdhLNNe20KJK6nRwZ7WeiQ8S1-oVg,64173
|
17
|
+
google/genai/chats.py,sha256=0QdOUeWEYDQgAWBy1f7a3z3yY9S8tXSowUzNrzazzj4,16651
|
18
|
+
google/genai/client.py,sha256=wXnfZBSv9p-yKtX_gabUrfBXoYHuqHhzK_VgwRttMgY,10777
|
19
|
+
google/genai/errors.py,sha256=IdSymOuUJDprfPRBhBtFDkc_XX81UvgNbWrOLR8L2GU,5582
|
20
|
+
google/genai/files.py,sha256=mz3sZ6F90Kh5ftqq0uv8gcqJfRuwfoZGBFsmDmpAt9k,39809
|
21
|
+
google/genai/live.py,sha256=WvOPBFDwD2eyUx89XCW6oudKtlK7960RqQuk5-SY1Ac,39482
|
22
|
+
google/genai/live_music.py,sha256=3GG9nsto8Vhkohcs-4CPMS4DFp1ZtMuLYzHfvEPYAeg,6971
|
23
|
+
google/genai/models.py,sha256=0QkjP8oXmWcOvyFZFZZc4LMsEOqYdoS5hwAkhQtDF70,234958
|
24
|
+
google/genai/operations.py,sha256=3eudPaItN6_JJKMWNT9lLIJLUGyAQfFK1xken7Rv8vQ,12814
|
25
|
+
google/genai/pagers.py,sha256=nyVYxp92rS-UaewO_oBgP593knofeLU6yOn6RolNoGQ,6797
|
26
|
+
google/genai/py.typed,sha256=RsMFoLwBkAvY05t6izop4UHZtqOPLiKp3GkIEizzmQY,40
|
27
|
+
google/genai/tokens.py,sha256=QGW1jI0Y5wXqiaad0-N6Utgh9sK4TK0todHf5h0GLeI,12490
|
28
|
+
google/genai/tunings.py,sha256=-_Fti-aX8NyDg4FxWtABUPuc5wmxNm6f_l98KXUKa1s,48461
|
29
|
+
google/genai/types.py,sha256=8etqHluvZ_FQh4ZZTkJhMCbRe_41szi7YI_AVyQglE0,472335
|
30
|
+
google/genai/version.py,sha256=4aazDDnUY1hmPYa17XYQCaoZRiBorYIq6V0oRcsfpYU,627
|
31
|
+
google_genai-1.26.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
32
|
+
google_genai-1.26.0.dist-info/METADATA,sha256=1cD530ebUHsbi0RM5576qQCC8qTphGLlx-Rd5JZINvI,42400
|
33
|
+
google_genai-1.26.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
34
|
+
google_genai-1.26.0.dist-info/top_level.txt,sha256=_1QvSJIhFAGfxb79D6DhB7SUw2X6T4rwnz_LLrbcD3c,7
|
35
|
+
google_genai-1.26.0.dist-info/RECORD,,
|
@@ -1,35 +0,0 @@
|
|
1
|
-
google/genai/__init__.py,sha256=SYTxz3Ho06pP2TBlvDU0FkUJz8ytbR3MgEpS9HvVYq4,709
|
2
|
-
google/genai/_adapters.py,sha256=Kok38miNYJff2n--l0zEK_hbq0y2rWOH7k75J7SMYbQ,1744
|
3
|
-
google/genai/_api_client.py,sha256=ISgrtT7-XVOdyv3Dtwz2Eve9w3C3RO4ylEY1bND8ElY,52757
|
4
|
-
google/genai/_api_module.py,sha256=lj8eUWx8_LBGBz-49qz6_ywWm3GYp3d8Bg5JoOHbtbI,902
|
5
|
-
google/genai/_automatic_function_calling_util.py,sha256=IJkPq2fT9pYxYm5Pbu5-e0nBoZKoZla7yT4_txWRKLs,10324
|
6
|
-
google/genai/_base_url.py,sha256=E5H4dew14Y16qfnB3XRnjSCi19cJVlkaMNoM_8ip-PM,1597
|
7
|
-
google/genai/_common.py,sha256=CuG7wvroFu9kV0Im-asXJGmfbaFCAjCocZyRxYDss5g,19849
|
8
|
-
google/genai/_extra_utils.py,sha256=GoIh_SxB5nf_0sjErYkjm8wdg93sfemLKrU_5QhlcBo,20562
|
9
|
-
google/genai/_live_converters.py,sha256=mkxudlXXXAxuK6eWMj_-jVLQs9eOr4EX0GYCBvhIZAw,108962
|
10
|
-
google/genai/_mcp_utils.py,sha256=khECx-DMuHemKzOQQ3msWp7FivPeEOnl3n1lvWc_b5o,3833
|
11
|
-
google/genai/_replay_api_client.py,sha256=0IXroewCZbyZ01qN3ZQwW5OUZRMzCrf2-3nyfTerqNY,21363
|
12
|
-
google/genai/_test_api_client.py,sha256=4ruFIy5_1qcbKqqIBu3HSQbpSOBrxiecBtDZaTGFR1s,4797
|
13
|
-
google/genai/_tokens_converters.py,sha256=jQlwRZU4mlIBv6i8Lu62e6u9dvgNtOnko5WEYnjkU_A,49159
|
14
|
-
google/genai/_transformers.py,sha256=Nd_h_zYVOkWN1XTSnM9r3IR7R_qg3tPe2mE9jozaX-Q,36935
|
15
|
-
google/genai/batches.py,sha256=qnyWQ1RfAdSVQgV7vGor9BIWmRwUilJ0wfqOvxUwpq8,172745
|
16
|
-
google/genai/caches.py,sha256=q8N3YIpgJYWrLWSy-zUZ6w9CPRjH113E8ff4MyykYA8,66169
|
17
|
-
google/genai/chats.py,sha256=0QdOUeWEYDQgAWBy1f7a3z3yY9S8tXSowUzNrzazzj4,16651
|
18
|
-
google/genai/client.py,sha256=wXnfZBSv9p-yKtX_gabUrfBXoYHuqHhzK_VgwRttMgY,10777
|
19
|
-
google/genai/errors.py,sha256=UebysH1cDeIdtp1O06CW7lQjnNrWtuqZTeVgEJylX48,5589
|
20
|
-
google/genai/files.py,sha256=MCcHRXiMFKjbnt78yVPejszEgGz_MHRXfJyDi5-07Gs,39655
|
21
|
-
google/genai/live.py,sha256=8Vts1bX8ZWOa0PiS3zmYhG1QMhLtBPC_ATLTSAIrazs,38945
|
22
|
-
google/genai/live_music.py,sha256=3GG9nsto8Vhkohcs-4CPMS4DFp1ZtMuLYzHfvEPYAeg,6971
|
23
|
-
google/genai/models.py,sha256=DQx31b43CxVg2YCWHVGGKBzcuB-AfBApmPm9zPVLq6o,239567
|
24
|
-
google/genai/operations.py,sha256=99zs__fTWsyQu7rMGmBI1_4tuAJxLR0g3yp7ymsUsBA,19609
|
25
|
-
google/genai/pagers.py,sha256=nyVYxp92rS-UaewO_oBgP593knofeLU6yOn6RolNoGQ,6797
|
26
|
-
google/genai/py.typed,sha256=RsMFoLwBkAvY05t6izop4UHZtqOPLiKp3GkIEizzmQY,40
|
27
|
-
google/genai/tokens.py,sha256=oew9I0fGuGLlXMdCn2Ot9Lv_herHMnvZOYjjdOz2CAM,12324
|
28
|
-
google/genai/tunings.py,sha256=fSiD4RQZI8YsFaPbBoXOIoSDA0BIuJwGg2Ac_uy5_kM,49596
|
29
|
-
google/genai/types.py,sha256=dj1Va75V8kLkrtFPIiIYXQNukE5xuogoJmqo0nu0-N4,469923
|
30
|
-
google/genai/version.py,sha256=3V_J-TpVrcSp70_3LzpCOt3SQpDmFAXnGSiq5eVjSrU,627
|
31
|
-
google_genai-1.24.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
32
|
-
google_genai-1.24.0.dist-info/METADATA,sha256=yxyVgjMGvqGuGrRM8HO9fO35MTuewHnGMQYohChHULs,40539
|
33
|
-
google_genai-1.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
34
|
-
google_genai-1.24.0.dist-info/top_level.txt,sha256=_1QvSJIhFAGfxb79D6DhB7SUw2X6T4rwnz_LLrbcD3c,7
|
35
|
-
google_genai-1.24.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|