google-genai 1.55.0__py3-none-any.whl → 1.56.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.
Files changed (241) hide show
  1. google/genai/_interactions/_base_client.py +8 -2
  2. google/genai/_interactions/resources/interactions.py +6 -6
  3. google/genai/_interactions/types/__init__.py +2 -0
  4. google/genai/_interactions/types/audio_content.py +0 -1
  5. google/genai/_interactions/types/audio_content_param.py +0 -1
  6. google/genai/_interactions/types/code_execution_call_content.py +0 -1
  7. google/genai/_interactions/types/code_execution_call_content_param.py +0 -1
  8. google/genai/_interactions/types/code_execution_result_content.py +0 -1
  9. google/genai/_interactions/types/code_execution_result_content_param.py +0 -1
  10. google/genai/_interactions/types/content_delta.py +7 -23
  11. google/genai/_interactions/types/deep_research_agent_config.py +0 -1
  12. google/genai/_interactions/types/deep_research_agent_config_param.py +0 -1
  13. google/genai/_interactions/types/document_content.py +3 -2
  14. google/genai/_interactions/types/document_content_param.py +3 -2
  15. google/genai/{tests/__init__.py → _interactions/types/document_mime_type.py} +5 -3
  16. google/genai/{tests/afc/__init__.py → _interactions/types/document_mime_type_param.py} +8 -4
  17. google/genai/_interactions/types/dynamic_agent_config.py +0 -1
  18. google/genai/_interactions/types/dynamic_agent_config_param.py +0 -1
  19. google/genai/_interactions/types/file_search_result_content.py +0 -1
  20. google/genai/_interactions/types/file_search_result_content_param.py +0 -1
  21. google/genai/_interactions/types/function_call_content.py +0 -1
  22. google/genai/_interactions/types/function_call_content_param.py +0 -1
  23. google/genai/_interactions/types/function_result_content.py +1 -2
  24. google/genai/_interactions/types/function_result_content_param.py +1 -2
  25. google/genai/_interactions/types/google_search_call_content.py +0 -1
  26. google/genai/_interactions/types/google_search_call_content_param.py +0 -1
  27. google/genai/_interactions/types/google_search_result_content.py +0 -1
  28. google/genai/_interactions/types/google_search_result_content_param.py +0 -1
  29. google/genai/_interactions/types/image_content.py +1 -2
  30. google/genai/_interactions/types/image_content_param.py +1 -2
  31. google/genai/_interactions/types/mcp_server_tool_call_content.py +0 -1
  32. google/genai/_interactions/types/mcp_server_tool_call_content_param.py +0 -1
  33. google/genai/_interactions/types/mcp_server_tool_result_content.py +1 -2
  34. google/genai/_interactions/types/mcp_server_tool_result_content_param.py +1 -2
  35. google/genai/_interactions/types/text_content.py +0 -1
  36. google/genai/_interactions/types/text_content_param.py +0 -1
  37. google/genai/_interactions/types/thinking_level.py +1 -1
  38. google/genai/_interactions/types/thought_content.py +0 -1
  39. google/genai/_interactions/types/thought_content_param.py +0 -1
  40. google/genai/_interactions/types/url_context_call_content.py +0 -1
  41. google/genai/_interactions/types/url_context_call_content_param.py +0 -1
  42. google/genai/_interactions/types/url_context_result_content.py +0 -1
  43. google/genai/_interactions/types/url_context_result_content_param.py +0 -1
  44. google/genai/_interactions/types/video_content.py +1 -2
  45. google/genai/_interactions/types/video_content_param.py +1 -2
  46. google/genai/_live_converters.py +2 -30
  47. google/genai/client.py +3 -1
  48. google/genai/models.py +2 -29
  49. google/genai/tunings.py +1 -27
  50. google/genai/types.py +20 -22
  51. google/genai/version.py +1 -1
  52. {google_genai-1.55.0.dist-info → google_genai-1.56.0.dist-info}/METADATA +224 -22
  53. google_genai-1.56.0.dist-info/RECORD +162 -0
  54. google/genai/tests/afc/test_convert_if_exist_pydantic_model.py +0 -309
  55. google/genai/tests/afc/test_convert_number_values_for_function_call_args.py +0 -63
  56. google/genai/tests/afc/test_find_afc_incompatible_tool_indexes.py +0 -240
  57. google/genai/tests/afc/test_generate_content_stream_afc.py +0 -530
  58. google/genai/tests/afc/test_generate_content_stream_afc_thoughts.py +0 -77
  59. google/genai/tests/afc/test_get_function_map.py +0 -176
  60. google/genai/tests/afc/test_get_function_response_parts.py +0 -277
  61. google/genai/tests/afc/test_get_max_remote_calls_for_afc.py +0 -130
  62. google/genai/tests/afc/test_invoke_function_from_dict_args.py +0 -241
  63. google/genai/tests/afc/test_raise_error_for_afc_incompatible_config.py +0 -159
  64. google/genai/tests/afc/test_should_append_afc_history.py +0 -53
  65. google/genai/tests/afc/test_should_disable_afc.py +0 -214
  66. google/genai/tests/batches/__init__.py +0 -17
  67. google/genai/tests/batches/test_cancel.py +0 -77
  68. google/genai/tests/batches/test_create.py +0 -78
  69. google/genai/tests/batches/test_create_with_bigquery.py +0 -113
  70. google/genai/tests/batches/test_create_with_file.py +0 -82
  71. google/genai/tests/batches/test_create_with_gcs.py +0 -125
  72. google/genai/tests/batches/test_create_with_inlined_requests.py +0 -255
  73. google/genai/tests/batches/test_delete.py +0 -86
  74. google/genai/tests/batches/test_embedding.py +0 -157
  75. google/genai/tests/batches/test_get.py +0 -78
  76. google/genai/tests/batches/test_list.py +0 -79
  77. google/genai/tests/caches/__init__.py +0 -17
  78. google/genai/tests/caches/constants.py +0 -29
  79. google/genai/tests/caches/test_create.py +0 -210
  80. google/genai/tests/caches/test_create_custom_url.py +0 -105
  81. google/genai/tests/caches/test_delete.py +0 -54
  82. google/genai/tests/caches/test_delete_custom_url.py +0 -52
  83. google/genai/tests/caches/test_get.py +0 -94
  84. google/genai/tests/caches/test_get_custom_url.py +0 -52
  85. google/genai/tests/caches/test_list.py +0 -68
  86. google/genai/tests/caches/test_update.py +0 -70
  87. google/genai/tests/caches/test_update_custom_url.py +0 -58
  88. google/genai/tests/chats/__init__.py +0 -1
  89. google/genai/tests/chats/test_get_history.py +0 -597
  90. google/genai/tests/chats/test_send_message.py +0 -844
  91. google/genai/tests/chats/test_validate_response.py +0 -90
  92. google/genai/tests/client/__init__.py +0 -17
  93. google/genai/tests/client/test_async_stream.py +0 -427
  94. google/genai/tests/client/test_client_close.py +0 -197
  95. google/genai/tests/client/test_client_initialization.py +0 -1687
  96. google/genai/tests/client/test_client_requests.py +0 -355
  97. google/genai/tests/client/test_custom_client.py +0 -77
  98. google/genai/tests/client/test_http_options.py +0 -178
  99. google/genai/tests/client/test_replay_client_equality.py +0 -168
  100. google/genai/tests/client/test_retries.py +0 -846
  101. google/genai/tests/client/test_upload_errors.py +0 -136
  102. google/genai/tests/common/__init__.py +0 -17
  103. google/genai/tests/common/test_common.py +0 -954
  104. google/genai/tests/conftest.py +0 -162
  105. google/genai/tests/documents/__init__.py +0 -17
  106. google/genai/tests/documents/test_delete.py +0 -51
  107. google/genai/tests/documents/test_get.py +0 -85
  108. google/genai/tests/documents/test_list.py +0 -72
  109. google/genai/tests/errors/__init__.py +0 -1
  110. google/genai/tests/errors/test_api_error.py +0 -417
  111. google/genai/tests/file_search_stores/__init__.py +0 -17
  112. google/genai/tests/file_search_stores/test_create.py +0 -66
  113. google/genai/tests/file_search_stores/test_delete.py +0 -64
  114. google/genai/tests/file_search_stores/test_get.py +0 -94
  115. google/genai/tests/file_search_stores/test_import_file.py +0 -112
  116. google/genai/tests/file_search_stores/test_list.py +0 -57
  117. google/genai/tests/file_search_stores/test_upload_to_file_search_store.py +0 -141
  118. google/genai/tests/files/__init__.py +0 -17
  119. google/genai/tests/files/test_delete.py +0 -46
  120. google/genai/tests/files/test_download.py +0 -85
  121. google/genai/tests/files/test_get.py +0 -46
  122. google/genai/tests/files/test_list.py +0 -72
  123. google/genai/tests/files/test_upload.py +0 -255
  124. google/genai/tests/imports/test_no_optional_imports.py +0 -28
  125. google/genai/tests/interactions/test_integration.py +0 -80
  126. google/genai/tests/live/__init__.py +0 -16
  127. google/genai/tests/live/test_live.py +0 -2177
  128. google/genai/tests/live/test_live_music.py +0 -362
  129. google/genai/tests/live/test_live_response.py +0 -163
  130. google/genai/tests/live/test_send_client_content.py +0 -147
  131. google/genai/tests/live/test_send_realtime_input.py +0 -268
  132. google/genai/tests/live/test_send_tool_response.py +0 -222
  133. google/genai/tests/local_tokenizer/__init__.py +0 -17
  134. google/genai/tests/local_tokenizer/test_local_tokenizer.py +0 -343
  135. google/genai/tests/local_tokenizer/test_local_tokenizer_loader.py +0 -235
  136. google/genai/tests/mcp/__init__.py +0 -17
  137. google/genai/tests/mcp/test_has_mcp_tool_usage.py +0 -89
  138. google/genai/tests/mcp/test_mcp_to_gemini_tools.py +0 -191
  139. google/genai/tests/mcp/test_parse_config_for_mcp_sessions.py +0 -201
  140. google/genai/tests/mcp/test_parse_config_for_mcp_usage.py +0 -130
  141. google/genai/tests/mcp/test_set_mcp_usage_header.py +0 -72
  142. google/genai/tests/models/__init__.py +0 -17
  143. google/genai/tests/models/constants.py +0 -8
  144. google/genai/tests/models/test_compute_tokens.py +0 -120
  145. google/genai/tests/models/test_count_tokens.py +0 -159
  146. google/genai/tests/models/test_delete.py +0 -107
  147. google/genai/tests/models/test_edit_image.py +0 -264
  148. google/genai/tests/models/test_embed_content.py +0 -94
  149. google/genai/tests/models/test_function_call_streaming.py +0 -442
  150. google/genai/tests/models/test_generate_content.py +0 -2502
  151. google/genai/tests/models/test_generate_content_cached_content.py +0 -132
  152. google/genai/tests/models/test_generate_content_config_zero_value.py +0 -103
  153. google/genai/tests/models/test_generate_content_from_apikey.py +0 -44
  154. google/genai/tests/models/test_generate_content_http_options.py +0 -40
  155. google/genai/tests/models/test_generate_content_image_generation.py +0 -143
  156. google/genai/tests/models/test_generate_content_mcp.py +0 -343
  157. google/genai/tests/models/test_generate_content_media_resolution.py +0 -97
  158. google/genai/tests/models/test_generate_content_model.py +0 -139
  159. google/genai/tests/models/test_generate_content_part.py +0 -821
  160. google/genai/tests/models/test_generate_content_thought.py +0 -76
  161. google/genai/tests/models/test_generate_content_tools.py +0 -1761
  162. google/genai/tests/models/test_generate_images.py +0 -191
  163. google/genai/tests/models/test_generate_videos.py +0 -759
  164. google/genai/tests/models/test_get.py +0 -104
  165. google/genai/tests/models/test_list.py +0 -233
  166. google/genai/tests/models/test_recontext_image.py +0 -189
  167. google/genai/tests/models/test_segment_image.py +0 -148
  168. google/genai/tests/models/test_update.py +0 -95
  169. google/genai/tests/models/test_upscale_image.py +0 -157
  170. google/genai/tests/operations/__init__.py +0 -17
  171. google/genai/tests/operations/test_get.py +0 -38
  172. google/genai/tests/public_samples/__init__.py +0 -17
  173. google/genai/tests/public_samples/test_gemini_text_only.py +0 -34
  174. google/genai/tests/pytest_helper.py +0 -229
  175. google/genai/tests/shared/__init__.py +0 -16
  176. google/genai/tests/shared/batches/__init__.py +0 -14
  177. google/genai/tests/shared/batches/test_create_delete.py +0 -57
  178. google/genai/tests/shared/batches/test_create_get_cancel.py +0 -56
  179. google/genai/tests/shared/batches/test_list.py +0 -40
  180. google/genai/tests/shared/caches/__init__.py +0 -14
  181. google/genai/tests/shared/caches/test_create_get_delete.py +0 -67
  182. google/genai/tests/shared/caches/test_create_update_get.py +0 -71
  183. google/genai/tests/shared/caches/test_list.py +0 -40
  184. google/genai/tests/shared/chats/__init__.py +0 -14
  185. google/genai/tests/shared/chats/test_send_message.py +0 -48
  186. google/genai/tests/shared/chats/test_send_message_stream.py +0 -50
  187. google/genai/tests/shared/files/__init__.py +0 -14
  188. google/genai/tests/shared/files/test_list.py +0 -41
  189. google/genai/tests/shared/files/test_upload_get_delete.py +0 -54
  190. google/genai/tests/shared/models/__init__.py +0 -14
  191. google/genai/tests/shared/models/test_compute_tokens.py +0 -41
  192. google/genai/tests/shared/models/test_count_tokens.py +0 -40
  193. google/genai/tests/shared/models/test_edit_image.py +0 -67
  194. google/genai/tests/shared/models/test_embed.py +0 -40
  195. google/genai/tests/shared/models/test_generate_content.py +0 -39
  196. google/genai/tests/shared/models/test_generate_content_stream.py +0 -54
  197. google/genai/tests/shared/models/test_generate_images.py +0 -40
  198. google/genai/tests/shared/models/test_generate_videos.py +0 -38
  199. google/genai/tests/shared/models/test_list.py +0 -37
  200. google/genai/tests/shared/models/test_recontext_image.py +0 -55
  201. google/genai/tests/shared/models/test_segment_image.py +0 -52
  202. google/genai/tests/shared/models/test_upscale_image.py +0 -52
  203. google/genai/tests/shared/tunings/__init__.py +0 -16
  204. google/genai/tests/shared/tunings/test_create.py +0 -46
  205. google/genai/tests/shared/tunings/test_create_get_cancel.py +0 -56
  206. google/genai/tests/shared/tunings/test_list.py +0 -39
  207. google/genai/tests/tokens/__init__.py +0 -16
  208. google/genai/tests/tokens/test_create.py +0 -154
  209. google/genai/tests/transformers/__init__.py +0 -17
  210. google/genai/tests/transformers/test_blobs.py +0 -71
  211. google/genai/tests/transformers/test_bytes.py +0 -15
  212. google/genai/tests/transformers/test_duck_type.py +0 -96
  213. google/genai/tests/transformers/test_function_responses.py +0 -72
  214. google/genai/tests/transformers/test_schema.py +0 -653
  215. google/genai/tests/transformers/test_t_batch.py +0 -286
  216. google/genai/tests/transformers/test_t_content.py +0 -160
  217. google/genai/tests/transformers/test_t_contents.py +0 -398
  218. google/genai/tests/transformers/test_t_part.py +0 -85
  219. google/genai/tests/transformers/test_t_parts.py +0 -87
  220. google/genai/tests/transformers/test_t_tool.py +0 -157
  221. google/genai/tests/transformers/test_t_tools.py +0 -195
  222. google/genai/tests/tunings/__init__.py +0 -16
  223. google/genai/tests/tunings/test_cancel.py +0 -39
  224. google/genai/tests/tunings/test_end_to_end.py +0 -106
  225. google/genai/tests/tunings/test_get.py +0 -67
  226. google/genai/tests/tunings/test_list.py +0 -75
  227. google/genai/tests/tunings/test_tune.py +0 -268
  228. google/genai/tests/types/__init__.py +0 -16
  229. google/genai/tests/types/test_bytes_internal.py +0 -271
  230. google/genai/tests/types/test_bytes_type.py +0 -152
  231. google/genai/tests/types/test_future.py +0 -101
  232. google/genai/tests/types/test_optional_types.py +0 -36
  233. google/genai/tests/types/test_part_type.py +0 -616
  234. google/genai/tests/types/test_schema_from_json_schema.py +0 -417
  235. google/genai/tests/types/test_schema_json_schema.py +0 -468
  236. google/genai/tests/types/test_types.py +0 -2903
  237. google_genai-1.55.0.dist-info/RECORD +0 -345
  238. /google/genai/{tests/interactions/__init__.py → _interactions/py.typed} +0 -0
  239. {google_genai-1.55.0.dist-info → google_genai-1.56.0.dist-info}/WHEEL +0 -0
  240. {google_genai-1.55.0.dist-info → google_genai-1.56.0.dist-info}/licenses/LICENSE +0 -0
  241. {google_genai-1.55.0.dist-info → google_genai-1.56.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-genai
3
- Version: 1.55.0
3
+ Version: 1.56.0
4
4
  Summary: GenAI Python SDK
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  License-Expression: Apache-2.0
@@ -20,7 +20,7 @@ Requires-Python: >=3.10
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
22
  Requires-Dist: anyio<5.0.0,>=4.8.0
23
- Requires-Dist: google-auth[requests]<3.0.0,>=2.14.1
23
+ Requires-Dist: google-auth[requests]<3.0.0,>=2.45.0
24
24
  Requires-Dist: httpx<1.0.0,>=0.28.1
25
25
  Requires-Dist: pydantic<3.0.0,>=2.9.0
26
26
  Requires-Dist: requests<3.0.0,>=2.28.1
@@ -57,11 +57,7 @@ APIs.
57
57
 
58
58
  Generative models are often unaware of recent API and SDK updates and may suggest outdated or legacy code.
59
59
 
60
- We recommend using our Code Generation instructions [codegen_instructions.md](https://raw.githubusercontent.com/googleapis/python-genai/refs/heads/main/codegen_instructions.md) when generating Google Gen AI SDK code to guide your model towards using the more recent SDK features.
61
-
62
- Copy and paste the instructions from [this file](https://raw.githubusercontent.com/googleapis/python-genai/refs/heads/main/codegen_instructions.md)
63
- into your development environment to provide the model with the necessary
64
- context
60
+ We recommend using our Code Generation instructions [`codegen_instructions.md`](https://raw.githubusercontent.com/googleapis/python-genai/refs/heads/main/codegen_instructions.md) when generating Google Gen AI SDK code to guide your model towards using the more recent SDK features. Copy and paste the instructions into your development environment to provide the model with the necessary context.
65
61
 
66
62
  ## Installation
67
63
 
@@ -174,7 +170,7 @@ client = genai.Client()
174
170
  ## Close a client
175
171
 
176
172
  Explicitly close the sync client to ensure that resources, such as the
177
- underlying HTTP connections, are properly cleaned up and closed.
173
+ underlying HTTP connections, are properly cleaned up and closed.
178
174
 
179
175
  ```python
180
176
  from google.genai import Client
@@ -215,7 +211,7 @@ await aclient.aclose()
215
211
  ## Client context managers
216
212
 
217
213
  By using the sync client context manager, it will close the underlying
218
- sync client when exiting the with block and avoid httpx "client has been closed" error like [issues#1763](https://github.com/googleapis/python-genai/issues/1763).
214
+ sync client when exiting the with block and avoid httpx "client has been closed" error like [issues#1763](https://github.com/googleapis/python-genai/issues/1763).
219
215
 
220
216
  ```python
221
217
  from google.genai import Client
@@ -286,7 +282,7 @@ client = genai.Client(
286
282
  By default we use httpx for both sync and async client implementations. In order
287
283
  to have faster performance, you may install `google-genai[aiohttp]`. In Gen AI
288
284
  SDK we configure `trust_env=True` to match with the default behavior of httpx.
289
- Additional args of `aiohttp.ClientSession.request()` ([see _RequestOptions args](https://github.com/aio-libs/aiohttp/blob/v3.12.13/aiohttp/client.py#L170)) can be passed
285
+ Additional args of `aiohttp.ClientSession.request()` ([see `_RequestOptions` args](https://github.com/aio-libs/aiohttp/blob/v3.12.13/aiohttp/client.py#L170)) can be passed
290
286
  through the following way:
291
287
 
292
288
  ```python
@@ -301,7 +297,7 @@ client=Client(..., http_options=http_options)
301
297
 
302
298
  Both httpx and aiohttp libraries use `urllib.request.getproxies` from
303
299
  environment variables. Before client initialization, you may set proxy (and
304
- optional SSL_CERT_FILE) by setting the environment variables:
300
+ optional `SSL_CERT_FILE`) by setting the environment variables:
305
301
 
306
302
  ```bash
307
303
  export HTTPS_PROXY='http://username:password@proxy_uri:port'
@@ -324,7 +320,7 @@ client=Client(..., http_options=http_options)
324
320
  ### Custom base url
325
321
 
326
322
  In some cases you might need a custom base url (for example, API gateway proxy
327
- server) and bypass some authentication checks for project, location, or API key.
323
+ server) and bypass some authentication checks for project, location, or API key.
328
324
  You may pass the custom base url like this:
329
325
 
330
326
  ```python
@@ -383,7 +379,8 @@ for part in response.parts:
383
379
  ```
384
380
 
385
381
  #### with uploaded file (Gemini Developer API only)
386
- download the file in console.
382
+
383
+ Download the file in console.
387
384
 
388
385
  ```sh
389
386
  !wget -q https://storage.googleapis.com/generativeai-downloads/data/a11.txt
@@ -401,11 +398,13 @@ print(response.text)
401
398
  ```
402
399
 
403
400
  #### How to structure `contents` argument for `generate_content`
401
+
404
402
  The SDK always converts the inputs to the `contents` argument into
405
403
  `list[types.Content]`.
406
404
  The following shows some common ways to provide your inputs.
407
405
 
408
406
  ##### Provide a `list[types.Content]`
407
+
409
408
  This is the canonical way to provide contents, SDK will not do any conversion.
410
409
 
411
410
  ##### Provide a `types.Content` instance
@@ -451,7 +450,7 @@ The SDK will assume this is a text part, and it converts this into the following
451
450
  Where a `types.UserContent` is a subclass of `types.Content`, it sets the
452
451
  `role` field to be `user`.
453
452
 
454
- ##### Provide a list of string
453
+ ##### Provide a list of strings
455
454
 
456
455
  ```python
457
456
  contents=['Why is the sky blue?', 'Why is the cloud white?']
@@ -520,7 +519,7 @@ contents = [
520
519
  ]
521
520
  ```
522
521
 
523
- The SDK converts a list of function call parts to the a content with a `model` role:
522
+ The SDK converts a list of function call parts to a content with a `model` role:
524
523
 
525
524
  ```python
526
525
  [
@@ -712,7 +711,9 @@ response = client.models.generate_content(
712
711
 
713
712
  print(response.text)
714
713
  ```
714
+
715
715
  #### Disabling automatic function calling
716
+
716
717
  If you pass in a python function as a tool directly, and do not want
717
718
  automatic function calling, you can disable automatic function calling
718
719
  as follows:
@@ -944,7 +945,9 @@ including by giving examples of expected JSON output. If you do, the generated
944
945
  output might be lower in quality.
945
946
 
946
947
  #### JSON Schema support
948
+
947
949
  Schemas can be provided as standard JSON schema.
950
+
948
951
  ```python
949
952
  user_profile = {
950
953
  'properties': {
@@ -1071,7 +1074,7 @@ print(response.text)
1071
1074
 
1072
1075
  #### JSON Response
1073
1076
 
1074
- You can also set response_mime_type to 'application/json', the response will be
1077
+ You can also set `response_mime_type` to `'application/json'`, the response will be
1075
1078
  identical but in quotes.
1076
1079
 
1077
1080
  ```python
@@ -1561,6 +1564,205 @@ response = client.models.generate_content(
1561
1564
  print(response.text)
1562
1565
  ```
1563
1566
 
1567
+ ## Interactions (Preview)
1568
+
1569
+ > **Warning:** The Interactions API is in **Beta**. This is a preview of an experimental feature. Features and schemas are subject to **breaking changes**.
1570
+
1571
+ The Interactions API is a unified interface for interacting with Gemini models and agents. It simplifies state management, tool orchestration, and long-running tasks.
1572
+
1573
+ See the [documentation site](https://ai.google.dev/gemini-api/docs/interactions) for more details.
1574
+
1575
+ ### Basic Interaction
1576
+
1577
+ ```python
1578
+ interaction = client.interactions.create(
1579
+ model='gemini-2.5-flash',
1580
+ input='Tell me a short joke about programming.'
1581
+ )
1582
+ print(interaction.outputs[-1].text)
1583
+
1584
+ ```
1585
+
1586
+ ### Stateful Conversation
1587
+
1588
+ The Interactions API supports server-side state management. You can continue a conversation by referencing the `previous_interaction_id`.
1589
+
1590
+ ```python
1591
+ # 1. First turn
1592
+ interaction1 = client.interactions.create(
1593
+ model='gemini-2.5-flash',
1594
+ input='Hi, my name is Amir.'
1595
+ )
1596
+ print(f"Model: {interaction1.outputs[-1].text}")
1597
+
1598
+ # 2. Second turn (passing previous_interaction_id)
1599
+ interaction2 = client.interactions.create(
1600
+ model='gemini-2.5-flash',
1601
+ input='What is my name?',
1602
+ previous_interaction_id=interaction1.id
1603
+ )
1604
+ print(f"Model: {interaction2.outputs[-1].text}")
1605
+
1606
+ ```
1607
+
1608
+ ### Agents (Deep Research)
1609
+
1610
+ You can use specialized agents like `deep-research-pro-preview-12-2025` for complex tasks.
1611
+
1612
+ ```python
1613
+ import time
1614
+
1615
+ # 1. Start the Deep Research Agent
1616
+ initial_interaction = client.interactions.create(
1617
+ input='Research the history of the Google TPUs with a focus on 2025 and 2026.',
1618
+ agent='deep-research-pro-preview-12-2025',
1619
+ background=True
1620
+ )
1621
+ print(f"Research started. Interaction ID: {initial_interaction.id}")
1622
+
1623
+ # 2. Poll for results
1624
+ while True:
1625
+ interaction = client.interactions.get(id=initial_interaction.id)
1626
+ print(f"Status: {interaction.status}")
1627
+
1628
+ if interaction.status == "completed":
1629
+ print("\nFinal Report:\n", interaction.outputs[-1].text)
1630
+ break
1631
+ elif interaction.status in ["failed", "cancelled"]:
1632
+ print(f"Failed with status: {interaction.status}")
1633
+ break
1634
+
1635
+ time.sleep(10)
1636
+
1637
+ ```
1638
+
1639
+ ### Multimodal Input
1640
+
1641
+ You can provide multimodal data (text, images, audio, etc.) in the input list.
1642
+
1643
+ ```python
1644
+ import base64
1645
+
1646
+ # Assuming you have an image loaded as bytes
1647
+ # base64_image = ...
1648
+
1649
+ interaction = client.interactions.create(
1650
+ model='gemini-2.5-flash',
1651
+ input=[
1652
+ {'type': 'text', 'text': 'Describe the image.'},
1653
+ {'type': 'image', 'data': base64_image, 'mime_type': 'image/png'}
1654
+ ]
1655
+ )
1656
+ print(interaction.outputs[-1].text)
1657
+
1658
+ ```
1659
+
1660
+ ### Function Calling
1661
+
1662
+ You can define custom functions for the model to use. The Interactions API handles the tool selection, and you provide the execution result back to the model.
1663
+
1664
+ ```python
1665
+ # 1. Define the tool
1666
+ def get_weather(location: str):
1667
+ """Gets the weather for a given location."""
1668
+ return f"The weather in {location} is sunny."
1669
+
1670
+ weather_tool = {
1671
+ 'type': 'function',
1672
+ 'name': 'get_weather',
1673
+ 'description': 'Gets the weather for a given location.',
1674
+ 'parameters': {
1675
+ 'type': 'object',
1676
+ 'properties': {
1677
+ 'location': {'type': 'string', 'description': 'The city and state, e.g. San Francisco, CA'}
1678
+ },
1679
+ 'required': ['location']
1680
+ }
1681
+ }
1682
+
1683
+ # 2. Send the request with tools
1684
+ interaction = client.interactions.create(
1685
+ model='gemini-2.5-flash',
1686
+ input='What is the weather in Mountain View, CA?',
1687
+ tools=[weather_tool]
1688
+ )
1689
+
1690
+ # 3. Handle the tool call
1691
+ for output in interaction.outputs:
1692
+ if output.type == 'function_call':
1693
+ print(f"Tool Call: {output.name}({output.arguments})")
1694
+
1695
+ # Execute your actual function here
1696
+ result = get_weather(**output.arguments)
1697
+
1698
+ # Send result back to the model
1699
+ interaction = client.interactions.create(
1700
+ model='gemini-2.5-flash',
1701
+ previous_interaction_id=interaction.id,
1702
+ input=[{
1703
+ 'type': 'function_result',
1704
+ 'name': output.name,
1705
+ 'call_id': output.id,
1706
+ 'result': result
1707
+ }]
1708
+ )
1709
+ print(f"Response: {interaction.outputs[-1].text}")
1710
+
1711
+ ```
1712
+
1713
+ ### Built-in Tools
1714
+ You can also use Google's built-in tools, such as **Google Search** or **Code Execution**.
1715
+
1716
+ #### Grounding with Google Search
1717
+
1718
+ ```python
1719
+ interaction = client.interactions.create(
1720
+ model='gemini-2.5-flash',
1721
+ input='Who won the last Super Bowl?',
1722
+ tools=[{'type': 'google_search'}]
1723
+ )
1724
+
1725
+ # Find the text output (not the GoogleSearchResultContent)
1726
+ text_output = next((o for o in interaction.outputs if o.type == 'text'), None)
1727
+ if text_output:
1728
+ print(text_output.text)
1729
+
1730
+ ```
1731
+
1732
+ #### Code Execution
1733
+
1734
+ ```python
1735
+ interaction = client.interactions.create(
1736
+ model='gemini-2.5-flash',
1737
+ input='Calculate the 50th Fibonacci number.',
1738
+ tools=[{'type': 'code_execution'}]
1739
+ )
1740
+ print(interaction.outputs[-1].text)
1741
+
1742
+ ```
1743
+
1744
+ ### Multimodal Output
1745
+
1746
+ The Interactions API can generate multimodal outputs, such as images. You must specify the `response_modalities`.
1747
+
1748
+ ```python
1749
+ import base64
1750
+
1751
+ interaction = client.interactions.create(
1752
+ model='gemini-3-pro-image-preview',
1753
+ input='Generate an image of a futuristic city.',
1754
+ response_modalities=['IMAGE']
1755
+ )
1756
+
1757
+ for output in interaction.outputs:
1758
+ if output.type == 'image':
1759
+ print(f"Generated image with mime_type: {output.mime_type}")
1760
+ # Save the image
1761
+ with open("generated_city.png", "wb") as f:
1762
+ f.write(base64.b64decode(output.data))
1763
+
1764
+ ```
1765
+
1564
1766
  ## Tunings
1565
1767
 
1566
1768
  `client.tunings` contains tuning job APIs and supports supervised fine
@@ -1756,13 +1958,14 @@ job
1756
1958
  ```
1757
1959
 
1758
1960
  In order to create a batch job with file name. Need to upload a json file.
1759
- For example myrequests.json:
1961
+ For example `myrequests.json`:
1760
1962
 
1761
- ```
1963
+ ```json
1762
1964
  {"key":"request_1", "request": {"contents": [{"parts": [{"text":
1763
1965
  "Explain how AI works in a few words"}]}], "generation_config": {"response_modalities": ["TEXT"]}}}
1764
1966
  {"key":"request_2", "request": {"contents": [{"parts": [{"text": "Explain how Crypto works in a few words"}]}]}}
1765
1967
  ```
1968
+
1766
1969
  Then upload the file.
1767
1970
 
1768
1971
  ```python
@@ -1779,7 +1982,6 @@ batch_job = client.batches.create(
1779
1982
  )
1780
1983
  ```
1781
1984
 
1782
-
1783
1985
  ```python
1784
1986
  # Get a job by name
1785
1987
  job = client.batches.get(name=job.name)
@@ -1850,7 +2052,7 @@ delete_job
1850
2052
 
1851
2053
  ## Error Handling
1852
2054
 
1853
- To handle errors raised by the model service, the SDK provides this [APIError](https://github.com/googleapis/python-genai/blob/main/google/genai/errors.py) class.
2055
+ To handle errors raised by the model service, the SDK provides this [`APIError`](https://github.com/googleapis/python-genai/blob/main/google/genai/errors.py) class.
1854
2056
 
1855
2057
  ```python
1856
2058
  from google.genai import errors
@@ -1872,8 +2074,8 @@ properties to include in the request body. This can be used to access new or
1872
2074
  experimental backend features that are not yet formally supported in the SDK.
1873
2075
  The structure of the dictionary must match the backend API's request structure.
1874
2076
 
1875
- - VertexAI backend API docs: https://cloud.google.com/vertex-ai/docs/reference/rest
1876
- - GeminiAPI backend API docs: https://ai.google.dev/api/rest
2077
+ - Vertex AI backend API docs: https://cloud.google.com/vertex-ai/docs/reference/rest
2078
+ - Gemini API backend API docs: https://ai.google.dev/api/rest
1877
2079
 
1878
2080
  ```python
1879
2081
  response = client.models.generate_content(
@@ -0,0 +1,162 @@
1
+ google/genai/__init__.py,sha256=dIAk6AHhyy3b77cVKPvDyrZzkd9ibddrHZuieCq_eaA,756
2
+ google/genai/_adapters.py,sha256=Kok38miNYJff2n--l0zEK_hbq0y2rWOH7k75J7SMYbQ,1744
3
+ google/genai/_api_client.py,sha256=CrHSu9Hd4rhhEpv5ds5jU_5xk0XwixTY055pRQRbFnE,67216
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=9HOP8GtEnTGTF-5A92hQdcPWeaCS6ig3vgnmm-8jiTY,25421
9
+ google/genai/_extra_utils.py,sha256=GXsUfyKAPZaW9_ySvdzSAXThvuzaKwXcAmdHW_hoHpY,25309
10
+ google/genai/_live_converters.py,sha256=Ra71M2dTM0B_RL5oiyjP49M_qFayR2QUcmqSBPYVr1M,43830
11
+ google/genai/_local_tokenizer_loader.py,sha256=7yvJfEkWIpw2ueY4ZmoOAamJD-G7bm_9g44glD6bVwM,7147
12
+ google/genai/_mcp_utils.py,sha256=HuWJ8FUjquv40Mf_QjcL5r5yXWrS-JjINsjlOSbbyAc,3870
13
+ google/genai/_operations_converters.py,sha256=zw8DqkgJWHphrw9waAjAiH98QbE2Rnum3zGm02dHQWo,11695
14
+ google/genai/_replay_api_client.py,sha256=-sZY8pM8JulqTfuqIKaKHCy9MNXF7HJnX6fCzyTMpS0,22617
15
+ google/genai/_test_api_client.py,sha256=4ruFIy5_1qcbKqqIBu3HSQbpSOBrxiecBtDZaTGFR1s,4797
16
+ google/genai/_tokens_converters.py,sha256=_8Uy4ziG2N9OAZInqKVXiHWSpJ11DH_shMEfrCEiBLc,15593
17
+ google/genai/_transformers.py,sha256=I19zzGXCrRd64lrBPpeawhBq7vifKn3fNUX9iIJ8Kwo,43266
18
+ google/genai/batches.py,sha256=3uCErp_k2xSF7WmnP_zR859Nko2UAe0xZ61npHAH1EU,78628
19
+ google/genai/caches.py,sha256=MPYIElWqWtXkxiZ2FFCZspRVdT9sTrZzWEkBpQ-XII0,48118
20
+ google/genai/chats.py,sha256=pIBw8d13llupLn4a7vP6vnpbzDcvCCrZZ-Q2r8Cvo7g,16652
21
+ google/genai/client.py,sha256=hEnr1VYP8St7gUzwnZpjBNlhvLpgR1w-3c-bLMxMfFI,21297
22
+ google/genai/documents.py,sha256=GuYWVgRaYBzHv9aMgcZBrVkFlpBeaAeZsfhgvC_SLTA,16218
23
+ google/genai/errors.py,sha256=2Iux-5iGUJzEB6OWE3R18SckMEvNimOfpNCQIYL6cn8,8118
24
+ google/genai/file_search_stores.py,sha256=4EW_hRjkaGYu4gbQyNbiswTWk5nUgooxB5pqMi_WAME,41418
25
+ google/genai/files.py,sha256=g-geVkMmcgAsI7CPJqt3jzucEcjQf6He1fhnscUdxvs,31766
26
+ google/genai/interactions.py,sha256=GLpo-rTdxb1JfL3LXE0c52JWaEGloLnPeCI9hoO_M2g,642
27
+ google/genai/live.py,sha256=oe5tcR3nvvHzPe7RxZx-InZJW_dH-MtFH3NEMk7VuWc,41771
28
+ google/genai/live_music.py,sha256=Y7I7jh5SAKgyjBIMLboH0oTnZJ18uOT2SpRDKURvp94,6783
29
+ google/genai/local_tokenizer.py,sha256=EKZ72cV2Zfutlo_efMOPnLRNZN4WQe57rD3G80cF340,14109
30
+ google/genai/models.py,sha256=EKw9LpEIwZzOYFbRzJ8jk0UO5CnRwO6dBxgy7g9Xjn8,238406
31
+ google/genai/operations.py,sha256=FXJOnYp2HA5Xqa5mHW67mSa9p1D_EaGGyUoKc09xFPQ,16384
32
+ google/genai/pagers.py,sha256=1i8NXDuKuQznFin5H5-I0hmj6H5YMTYsEJP7S0ITSbY,7158
33
+ google/genai/py.typed,sha256=RsMFoLwBkAvY05t6izop4UHZtqOPLiKp3GkIEizzmQY,40
34
+ google/genai/tokens.py,sha256=4BPW0gGWFeFVk3INkuY2tfREnsrvzQDhouvRI6_F9Q8,12235
35
+ google/genai/tunings.py,sha256=HNC3c_9MFwXDp-hcChvmDqkFinrD4kyLkNZPFiW72Tw,75536
36
+ google/genai/types.py,sha256=a-PY6BtT0kr8BmX8N7mbK2--VSZ3iGto3Y0SrwHoeaw,648704
37
+ google/genai/version.py,sha256=1-WFLRfVzpPivdFCsMUiferjcYyznRIPYVsXtTz2o_4,627
38
+ google/genai/_interactions/__init__.py,sha256=-G17C_xmrnumwpH4kpFEGd5l9-Y5UnZx3RLbGuCPYZc,3398
39
+ google/genai/_interactions/_base_client.py,sha256=sXaUr_MAT2DiKoZDDGlHlefMmKXjz-97tZjRY8QJw1A,68286
40
+ google/genai/_interactions/_client.py,sha256=QWqbkzAwjNpoz6gBetWYYSeWHMLVkFQm67-1HzbRUxY,18775
41
+ google/genai/_interactions/_compat.py,sha256=1HosuxO1kuZL6GwDmAoJD5kY999gjys4ifLdhXiJ4KI,7139
42
+ google/genai/_interactions/_constants.py,sha256=t7rpey7f7Z65WNYx8OzR-VGkTEHaz_WCLOREzHLjFhk,1039
43
+ google/genai/_interactions/_exceptions.py,sha256=XvtN0Ir69uwzlI9s-2gvXZJyDa3NZ0IqsMapC9nM8Bc,3825
44
+ google/genai/_interactions/_files.py,sha256=K7qgCZWoSaNI4RrdY1cUnNMXNF3Usq1IgCvzqwFgfMQ,4144
45
+ google/genai/_interactions/_models.py,sha256=naQPvxL0gipx0FTLC3jOCd2aG3eINFVq-WAUTsVOX8Y,32436
46
+ google/genai/_interactions/_qs.py,sha256=ZaB5ZsbJnq0L7s-Y30_7k1jAVNAgcPAh45xa2xeE1GQ,5405
47
+ google/genai/_interactions/_resource.py,sha256=2SnZ1mvldUzurojYs_Pg_aItzP5A9WmhjjMCh_dXnCg,1773
48
+ google/genai/_interactions/_response.py,sha256=rJ8tQXfKYgFxjxML63XGSQuH_Su9OQfqGtw0ann1iT4,29507
49
+ google/genai/_interactions/_streaming.py,sha256=bjjyV9iuZxEOP0PaQGSA-_xIeK3Yuip2qb2tTqRkJn4,11016
50
+ google/genai/_interactions/_types.py,sha256=OZXQrS3qydYn9F-YnTDrxv5lBoKiTLha3fr202M5QOQ,7892
51
+ google/genai/_interactions/_version.py,sha256=HYUoiFQBODx2RJNZpIxeUnGFUe8Gc9FEO6tSeZQgO-I,668
52
+ google/genai/_interactions/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ google/genai/_interactions/_utils/__init__.py,sha256=fNs6SzzZLqVABQ0TgZ3z1LBri3iVIdtvKo0GcTiNXJM,2882
54
+ google/genai/_interactions/_utils/_compat.py,sha256=NfPeqV7YsaW2h40s7NODt-uOngiMLf9KboR0W-f64gU,1794
55
+ google/genai/_interactions/_utils/_datetime_parse.py,sha256=dYUm7Y3pBD4dzQmpr-onIalbkEQH8gSqdSok5wx24wE,4781
56
+ google/genai/_interactions/_utils/_logs.py,sha256=z9QPllBTUdyCkIpb3iHi_NZnM3GTG_OQtD4t1Htpex4,1404
57
+ google/genai/_interactions/_utils/_proxy.py,sha256=V_QfMtbDL4_OFaYynWeyCCkP7KPBuV7GEJspth55rS0,2552
58
+ google/genai/_interactions/_utils/_reflection.py,sha256=F4i9cYP3sGnxZ-dhp3lcFSRiB115znLodOM-gcVh-wA,1941
59
+ google/genai/_interactions/_utils/_resources_proxy.py,sha256=oblNXyW_PaDX3oFD5HPfSj4nEk5t7yTfPN6CXfMchv8,1266
60
+ google/genai/_interactions/_utils/_streams.py,sha256=qFn4GbF3Vvdx7oc65J7WjeEyUBF8rlMB_HvubXAlhII,866
61
+ google/genai/_interactions/_utils/_sync.py,sha256=mLePq9GOEBxScaapheKwO4ON-pCfXpzktYj6a5xdKTQ,2166
62
+ google/genai/_interactions/_utils/_transform.py,sha256=TjAN4LumRdzvMD0rcrFQhrlC31Mivg-c2kgRBIrn4Cg,16528
63
+ google/genai/_interactions/_utils/_typing.py,sha256=Z5S4PcLWBL5GEhqU6j_XKaoh9ANrTSDyMDDTlMB0KJ8,5385
64
+ google/genai/_interactions/_utils/_utils.py,sha256=qWdNSrAUkn_wYeK5YFSeHyZWtEYJQkbh_Sg2t7impKQ,12851
65
+ google/genai/_interactions/resources/__init__.py,sha256=TNMFv_-Zv9ayAgjkecVIBOnIK-goQIIvkvR3WiQl_DA,1207
66
+ google/genai/_interactions/resources/interactions.py,sha256=6D94_eI2VQfxse4X3qfVInAw6SesxknOLtu917xFBMs,56663
67
+ google/genai/_interactions/types/__init__.py,sha256=M3NQZxHLRihkBa_2cxqP6lyB7wbpXp0ytEs1ZXT3PCo,7566
68
+ google/genai/_interactions/types/allowed_tools.py,sha256=Hke2IEAT_lc51MCt0_tGZGx3yvE7HTSawIlm-prCCGg,1047
69
+ google/genai/_interactions/types/allowed_tools_param.py,sha256=PAAFKM2qX_Pj_pTxqcc0IQvii9soKLW_scMud2nUwMc,1092
70
+ google/genai/_interactions/types/annotation.py,sha256=MKyItDJXCQ6ofAPjjBjioy7jagQNlpKZ9yqyc4MJcSI,1266
71
+ google/genai/_interactions/types/annotation_param.py,sha256=ZUBT1UE66xVNdaRwjVPP3mcDTCaVUf2Zb5yabNAYpHE,1253
72
+ google/genai/_interactions/types/audio_content.py,sha256=dIm3CIMV-bq_ZZD6LoMHpGo9Yi8pQ9-DAjJZgKuPg7o,1077
73
+ google/genai/_interactions/types/audio_content_param.py,sha256=09BDVJ34w5EVadJfBK0SRpgIKP5W6hR5QbUiXlOR6xs,1363
74
+ google/genai/_interactions/types/audio_mime_type.py,sha256=kyVb8nPfzkVp6q7nNroQxdPjr4F2tkUmrKU9n4xHZR4,901
75
+ google/genai/_interactions/types/audio_mime_type_param.py,sha256=rGJ8h1nRuLmWeJ9kVD6xPEUDy8yA-S5ZRmYulvIBBaE,947
76
+ google/genai/_interactions/types/code_execution_call_arguments.py,sha256=0EaxrwSqMBrASkdMBDktqgM0ou2iWO1Llq49swL6d0M,1070
77
+ google/genai/_interactions/types/code_execution_call_arguments_param.py,sha256=gvbXJt_cdTCpU7WQo1IeM0Bj-E5Hrj3H2OybcnlO9NE,1045
78
+ google/genai/_interactions/types/code_execution_call_content.py,sha256=PzLOPGmcRxqv8GVCrlgRxDw-7hfgAm1A9N_Btv3i0XU,1190
79
+ google/genai/_interactions/types/code_execution_call_content_param.py,sha256=1ghTk7il0hdUlbXI5Pj61tW1lS27ew-ZtAxna72vXkc,1202
80
+ google/genai/_interactions/types/code_execution_result_content.py,sha256=-xGHcQyez_P46lQpQ9TF_yPIUe6HYQHRVeFd2GJiBuo,1299
81
+ google/genai/_interactions/types/code_execution_result_content_param.py,sha256=7YT4Cjyltgh2C9PWZe2gN1-BX4pW3-M_gn4pwpjpLiI,1260
82
+ google/genai/_interactions/types/content_delta.py,sha256=Ej1MUwuOjYEndyLIbcEOXeP_zTZ43CI3pvPw-RKV3hM,9312
83
+ google/genai/_interactions/types/content_start.py,sha256=v3gK_l4Yn_RoCdRPpHePNX7I7v6ZMO59N2-C8BUQXwA,2758
84
+ google/genai/_interactions/types/content_stop.py,sha256=gEBJge1galuttrwkgJqMImSVVVleRNDIIO0QjZAb0gA,1053
85
+ google/genai/_interactions/types/deep_research_agent_config.py,sha256=iKkzEpE5jFoaeIlLE4nNOuf7mPgR1RHI-MUAnexw57I,1082
86
+ google/genai/_interactions/types/deep_research_agent_config_param.py,sha256=K8cZ85618_BNpXWnAsOG4fJV7whihXAT2cMoDqwZo0g,1057
87
+ google/genai/_interactions/types/document_content.py,sha256=DlwJ0zJ5pjQI9s_I3wZlYaDg4ubYHEcxnEGbC7Ti0B0,1100
88
+ google/genai/_interactions/types/document_content_param.py,sha256=hyGaTJEHsvOoXMUaavhylwZhevVEw9vAQv66aD7_UcI,1389
89
+ google/genai/_interactions/types/document_mime_type.py,sha256=rGlvsd0Ctg9a5SfkYrnVq2-kKroail0-chFjDT9srxM,840
90
+ google/genai/_interactions/types/document_mime_type_param.py,sha256=tH1GaDE__hZUsrb2OJ0ZveuC8etG2JWtIXZewFDi038,886
91
+ google/genai/_interactions/types/dynamic_agent_config.py,sha256=tYsRt0V1ApMz1fUXcRN9KZM6ZmeUGswG1FF96mP8d_8,1607
92
+ google/genai/_interactions/types/dynamic_agent_config_param.py,sha256=wkafw6vuC7eLrK5lfRPjqtLGJYXAy8b9ovmscraLWPo,1060
93
+ google/genai/_interactions/types/error_event.py,sha256=DYHKnCft2l1LLs-LEt37Ic6TTsXxbxjhqC_pdMblGKg,1328
94
+ google/genai/_interactions/types/file_search_result_content.py,sha256=aN333JlOMhel-A92tPYCzaYH5SII6vRzHNAiD3tVw4I,1332
95
+ google/genai/_interactions/types/file_search_result_content_param.py,sha256=tDxY2eb7vosePBQt9sFxbPQo9MAvolfKgInwia76WN4,1332
96
+ google/genai/_interactions/types/function.py,sha256=0lh1qn73ZVJ7THAOq0pcfUV_37u9VspSCMlOXVKUed4,1141
97
+ google/genai/_interactions/types/function_call_content.py,sha256=QFjNqGfnc0OHPUds8cCFkDc4Uh45xeEvLkNMO3zKF20,1118
98
+ google/genai/_interactions/types/function_call_content_param.py,sha256=GNj_GRYddGqIy7X-IWsv3kZf1NtFoQvl1ycSLmIp9ZM,1205
99
+ google/genai/_interactions/types/function_param.py,sha256=GMSumys9sCsWix9f4db6Pbc3pg7mGYrQJgWuawiANAY,1119
100
+ google/genai/_interactions/types/function_result_content.py,sha256=clzkD9fq7vTCHSv0NTqnd0oxH92SrIjtaQYWlypaSfE,1542
101
+ google/genai/_interactions/types/function_result_content_param.py,sha256=KXCzjjlovC6OnfW0kH_HSDK88k1-TWhFA7kQ5V09ztM,1628
102
+ google/genai/_interactions/types/generation_config.py,sha256=J1SsfXD6d_EwGW9xnhmxXqCkiVmOdjhhVNiHwpoTxik,1991
103
+ google/genai/_interactions/types/generation_config_param.py,sha256=3x83t0S4Du3-W5QWoYZsw6jfQlDSQnQlgPHYt8Jyb_0,1952
104
+ google/genai/_interactions/types/google_search_call_arguments.py,sha256=KZbdLhr6kFCZruO-nIkZaq2qm_wMlQjH65xZHwlfOGU,971
105
+ google/genai/_interactions/types/google_search_call_arguments_param.py,sha256=6W-HI1t2QOFJWDy8yfNU88ACq9sxigFufi74AIqMQX8,1033
106
+ google/genai/_interactions/types/google_search_call_content.py,sha256=2kg2ZTZSbVfkmiAZ5i6e_6NARA6KamrTpt2XdNHwdzA,1178
107
+ google/genai/_interactions/types/google_search_call_content_param.py,sha256=ZweBrIzxKXO24L6P8VBF7u75ojca7yymzvdXw8f7gCA,1190
108
+ google/genai/_interactions/types/google_search_result.py,sha256=hrnggr-PKW-JwHk4p1G24h1rr_k3U7DeKK8D0Ys8408,1117
109
+ google/genai/_interactions/types/google_search_result_content.py,sha256=nMzuWYcj2QeBFLUiCx7IaaJDuSHlSO7ccB0l9WDGodc,1375
110
+ google/genai/_interactions/types/google_search_result_content_param.py,sha256=gcLR7zJUbqsIeXPLLjCQa27W3JR7LnDAyo-pZ-3DvB8,1379
111
+ google/genai/_interactions/types/google_search_result_param.py,sha256=MXdWoqxfKxP6tPEYWvmgHzg2xjXyT4AnkD_GjHe9rhg,1104
112
+ google/genai/_interactions/types/image_content.py,sha256=2ddYQLwiORq8Q_aVCE5AXdOm14oGmzszy2xXw4fIZWQ,1197
113
+ google/genai/_interactions/types/image_content_param.py,sha256=o3YgzqhxgOLPR5iKni_YrcqHkQJM6DaooLtjIIBHG54,1466
114
+ google/genai/_interactions/types/image_mime_type.py,sha256=JSM0MElIy62mLFjKiuheHeV0px02I-Nrh8H2yZTDU3I,884
115
+ google/genai/_interactions/types/image_mime_type_param.py,sha256=syGoPn7nm3LoxqFbJhg3q9Bno68ywKU9hzoufbOm8xQ,930
116
+ google/genai/_interactions/types/interaction.py,sha256=iHLsZyj76OfmXg4wXzl_0f2ULYxtuXt6tDwoHz1cEUA,5355
117
+ google/genai/_interactions/types/interaction_create_params.py,sha256=9AizkOR2bl4MuDTjjzT0hL8fXEcbJcPwSPXjZpTMKes,7322
118
+ google/genai/_interactions/types/interaction_event.py,sha256=CDV6XDgpsbtbtDEDBSrCQEqIltQyIGfYLtdvtEXiLRk,1179
119
+ google/genai/_interactions/types/interaction_get_params.py,sha256=kJnLjBS-uX6K4JeDdp1gaezb-I58aWtHBl3w8TNn3Os,1628
120
+ google/genai/_interactions/types/interaction_sse_event.py,sha256=oZwSYZyNFpaOwa3BcraHdiCjZ14ttv8qjKRUvSQHhVA,1172
121
+ google/genai/_interactions/types/interaction_status_update.py,sha256=FbtOHzybStxWVb1o30ppXPJ8F9f-Cgq9LgeV4VU_Jc0,1207
122
+ google/genai/_interactions/types/mcp_server_tool_call_content.py,sha256=J58FpA3gM4EeMSrsCbtzZzmkwhD5r1ChEMw_aT9X-aE,1210
123
+ google/genai/_interactions/types/mcp_server_tool_call_content_param.py,sha256=kCe6nCCQz0M7biVvpItnPdyarbIa_Z_8xxY1rpsuTSA,1307
124
+ google/genai/_interactions/types/mcp_server_tool_result_content.py,sha256=SV9YX_2-jyq_zZ9-Xy0yAGf25VeiX1IGUFOkMSjWe78,1574
125
+ google/genai/_interactions/types/mcp_server_tool_result_content_param.py,sha256=wHeZoDX3MxRomKs_oWM-1mM9whPqm2YEHrKbriHQKwA,1660
126
+ google/genai/_interactions/types/model.py,sha256=oaThuxzODsttc6PmkOTAqisa1KV6OEz578xJ2Imfe8g,1165
127
+ google/genai/_interactions/types/model_param.py,sha256=g6yMfGxz-WUJAmTVM3kR1oszmZCW3zy60zNu2Xssopo,1211
128
+ google/genai/_interactions/types/speech_config.py,sha256=VHJj9KCC9NMO0hbczIZn7KkPnO7ktcDmwajR5xUv11g,1100
129
+ google/genai/_interactions/types/speech_config_param.py,sha256=ByojkgPZiLXUjT5aVmiGyDOtLzKZpG-B8VPJJjjvGmI,1087
130
+ google/genai/_interactions/types/text_content.py,sha256=0Bt31M2Jo1wyNfy0hGFFQ_ElLQgMz9EY-ojqnH9XhyQ,1094
131
+ google/genai/_interactions/types/text_content_param.py,sha256=EQhWFhjXQGwjxozfodH8O8rf7RWUaYn_npzESyvE2mM,1132
132
+ google/genai/_interactions/types/thinking_level.py,sha256=mmoPse7-zDLEqinDsxk7r5NWy21vRSUBur1CEaJxCVk,814
133
+ google/genai/_interactions/types/thought_content.py,sha256=qQI78dluucYjOlr4jqWwk5XsIBqJXu2gytA9cksHHOk,1349
134
+ google/genai/_interactions/types/thought_content_param.py,sha256=3zho-ybUfDtL6LVIq0o0aL-PWkxonm9hrUXDnJjk0tY,1579
135
+ google/genai/_interactions/types/tool.py,sha256=Y6_IKoEK-sYpXZkLfzKlU_-_iqeSqtkfGpAjDzWVYEc,3098
136
+ google/genai/_interactions/types/tool_choice.py,sha256=DwSp7WJDuJTxmV37aAVFWwCYMEr9JSjDSQfshZOOAF8,915
137
+ google/genai/_interactions/types/tool_choice_config.py,sha256=yioQ81sexGoFcyqSEHw0r4oMwe1NP7UtniklbzzkSNM,930
138
+ google/genai/_interactions/types/tool_choice_config_param.py,sha256=OQggpC9EMJv9eJm4rTi0E3GsHizEvpH_OSo-LhKp1fQ,968
139
+ google/genai/_interactions/types/tool_choice_param.py,sha256=AFbr5Lw2g1hJWfDk3sU5hYHoFNAT0fQ9AbYSjl8qboM,977
140
+ google/genai/_interactions/types/tool_choice_type.py,sha256=XtE6ZbwRYXmMYwNBe8zmw_0INIVzwgXfRStVWbmwuAU,816
141
+ google/genai/_interactions/types/tool_param.py,sha256=vDR2p3wi2sRA2YMuj7g8frzhzwJlvEKKhMFU7ubibb0,3111
142
+ google/genai/_interactions/types/turn.py,sha256=3miXeXGw74UOeFvaTTEPx0Br6HYQM3l4v_LyDIJpcFY,2687
143
+ google/genai/_interactions/types/turn_param.py,sha256=dhf4pXBARCFS_zlMYlj8Bjuhy7n0VFhIzh0LuXU-IOo,2790
144
+ google/genai/_interactions/types/url_context_call_arguments.py,sha256=JLPsuJmq816_lgT8qq_Sc8tMD0sAax5EmHWvTTMessc,933
145
+ google/genai/_interactions/types/url_context_call_arguments_param.py,sha256=lMBhQVJlaaUgOTZwqwwxoeOJvbFekO21GVBNMvPjt98,995
146
+ google/genai/_interactions/types/url_context_call_content.py,sha256=Gfi7BrkJDUMS3r8pUP5xG7h-6a1gTMYsfJzVZlktRUk,1166
147
+ google/genai/_interactions/types/url_context_call_content_param.py,sha256=IJKvDol32HD0syob0xDzmvmMybAp_Bq8tC3-pifx5M4,1178
148
+ google/genai/_interactions/types/url_context_result.py,sha256=R4TzIKOiG59aA2gbXHIuJFW3C2FukolXOOtUIpCTIM0,1062
149
+ google/genai/_interactions/types/url_context_result_content.py,sha256=3QRDzQH3ED_MbwpkhjpSb-VrkRdUy-Pl-sTg5De9VgM,1353
150
+ google/genai/_interactions/types/url_context_result_content_param.py,sha256=1p7pfNi_vSZ4bu-vwCQOxLcKPdWNjBLZ0vB9ayN08MA,1357
151
+ google/genai/_interactions/types/url_context_result_param.py,sha256=XmQ2EgunZDshXUbuy50J88kY1h2p1REzrIZV4Qp1mDI,1037
152
+ google/genai/_interactions/types/usage.py,sha256=4_IBkdFED7YUtwRrFPkMHGlOHxTbjbpDZMkUw5t-JOM,3472
153
+ google/genai/_interactions/types/usage_param.py,sha256=SeaR5IlizjKB3tKJvm-z65ggVhKUZWknu2EExzSVDDc,3265
154
+ google/genai/_interactions/types/video_content.py,sha256=-uRbyjQRhdyMIUHbrDDLw95ZyuE2adgRCzXn6jgdf2M,1196
155
+ google/genai/_interactions/types/video_content_param.py,sha256=SlpqbbPl_hZQaBd4qdm9TcEerCmVVIc5E_dmMwhCdhk,1465
156
+ google/genai/_interactions/types/video_mime_type.py,sha256=W5uRyEoRCcgbP8TF26ddkYwcpFCmNVSGF9aOUKHrRaU,1027
157
+ google/genai/_interactions/types/video_mime_type_param.py,sha256=eg7TeSxg6MXu5_kYiYVpzNlNidDieAqqEYvUWa-xb9k,1073
158
+ google_genai-1.56.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
159
+ google_genai-1.56.0.dist-info/METADATA,sha256=PNE193fBhgLSf3PEzC4mTPtowJPjZ5hH9gd6_vnAqqY,53313
160
+ google_genai-1.56.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
161
+ google_genai-1.56.0.dist-info/top_level.txt,sha256=_1QvSJIhFAGfxb79D6DhB7SUw2X6T4rwnz_LLrbcD3c,7
162
+ google_genai-1.56.0.dist-info/RECORD,,