pydantic-ai-slim 0.2.10__py3-none-any.whl → 0.2.12__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.

Potentially problematic release.


This version of pydantic-ai-slim might be problematic. Click here for more details.

Files changed (51) hide show
  1. pydantic_ai/_agent_graph.py +29 -35
  2. pydantic_ai/{_pydantic.py → _function_schema.py} +48 -8
  3. pydantic_ai/_output.py +265 -118
  4. pydantic_ai/agent.py +15 -15
  5. pydantic_ai/mcp.py +1 -1
  6. pydantic_ai/messages.py +2 -2
  7. pydantic_ai/models/__init__.py +39 -3
  8. pydantic_ai/models/anthropic.py +6 -1
  9. pydantic_ai/models/bedrock.py +43 -16
  10. pydantic_ai/models/cohere.py +4 -0
  11. pydantic_ai/models/gemini.py +68 -108
  12. pydantic_ai/models/google.py +45 -110
  13. pydantic_ai/models/groq.py +17 -2
  14. pydantic_ai/models/mistral.py +4 -0
  15. pydantic_ai/models/openai.py +22 -157
  16. pydantic_ai/profiles/__init__.py +39 -0
  17. pydantic_ai/{models → profiles}/_json_schema.py +23 -2
  18. pydantic_ai/profiles/amazon.py +9 -0
  19. pydantic_ai/profiles/anthropic.py +8 -0
  20. pydantic_ai/profiles/cohere.py +8 -0
  21. pydantic_ai/profiles/deepseek.py +8 -0
  22. pydantic_ai/profiles/google.py +100 -0
  23. pydantic_ai/profiles/grok.py +8 -0
  24. pydantic_ai/profiles/meta.py +9 -0
  25. pydantic_ai/profiles/mistral.py +8 -0
  26. pydantic_ai/profiles/openai.py +144 -0
  27. pydantic_ai/profiles/qwen.py +9 -0
  28. pydantic_ai/providers/__init__.py +18 -0
  29. pydantic_ai/providers/anthropic.py +5 -0
  30. pydantic_ai/providers/azure.py +34 -0
  31. pydantic_ai/providers/bedrock.py +60 -1
  32. pydantic_ai/providers/cohere.py +5 -0
  33. pydantic_ai/providers/deepseek.py +12 -0
  34. pydantic_ai/providers/fireworks.py +99 -0
  35. pydantic_ai/providers/google.py +5 -0
  36. pydantic_ai/providers/google_gla.py +5 -0
  37. pydantic_ai/providers/google_vertex.py +5 -0
  38. pydantic_ai/providers/grok.py +82 -0
  39. pydantic_ai/providers/groq.py +25 -0
  40. pydantic_ai/providers/mistral.py +5 -0
  41. pydantic_ai/providers/openai.py +5 -0
  42. pydantic_ai/providers/openrouter.py +36 -0
  43. pydantic_ai/providers/together.py +96 -0
  44. pydantic_ai/result.py +34 -103
  45. pydantic_ai/tools.py +28 -58
  46. {pydantic_ai_slim-0.2.10.dist-info → pydantic_ai_slim-0.2.12.dist-info}/METADATA +5 -5
  47. pydantic_ai_slim-0.2.12.dist-info/RECORD +73 -0
  48. pydantic_ai_slim-0.2.10.dist-info/RECORD +0 -59
  49. {pydantic_ai_slim-0.2.10.dist-info → pydantic_ai_slim-0.2.12.dist-info}/WHEEL +0 -0
  50. {pydantic_ai_slim-0.2.10.dist-info → pydantic_ai_slim-0.2.12.dist-info}/entry_points.txt +0 -0
  51. {pydantic_ai_slim-0.2.10.dist-info → pydantic_ai_slim-0.2.12.dist-info}/licenses/LICENSE +0 -0
pydantic_ai/tools.py CHANGED
@@ -1,22 +1,22 @@
1
1
  from __future__ import annotations as _annotations
2
2
 
3
3
  import dataclasses
4
- import inspect
5
4
  import json
6
5
  from collections.abc import Awaitable, Sequence
7
6
  from dataclasses import dataclass, field
8
- from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, Union, cast
7
+ from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, Union
9
8
 
10
9
  from opentelemetry.trace import Tracer
11
10
  from pydantic import ValidationError
12
11
  from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
13
- from pydantic_core import SchemaValidator, core_schema
12
+ from pydantic_core import core_schema
14
13
  from typing_extensions import Concatenate, ParamSpec, TypeAlias, TypeVar
15
14
 
16
- from . import _pydantic, _utils, messages as _messages, models
15
+ from . import _function_schema, _utils, messages as _messages
17
16
  from .exceptions import ModelRetry, UnexpectedModelBehavior
18
17
 
19
18
  if TYPE_CHECKING:
19
+ from .models import Model
20
20
  from .result import Usage
21
21
 
22
22
  __all__ = (
@@ -45,7 +45,7 @@ class RunContext(Generic[AgentDepsT]):
45
45
 
46
46
  deps: AgentDepsT
47
47
  """Dependencies for the agent."""
48
- model: models.Model
48
+ model: Model
49
49
  """The model used in this run."""
50
50
  usage: Usage
51
51
  """LLM usage associated with the run."""
@@ -208,12 +208,7 @@ class Tool(Generic[AgentDepsT]):
208
208
  docstring_format: DocstringFormat
209
209
  require_parameter_descriptions: bool
210
210
  strict: bool | None
211
- _is_async: bool = field(init=False)
212
- _single_arg_name: str | None = field(init=False)
213
- _positional_fields: list[str] = field(init=False)
214
- _var_positional_field: str | None = field(init=False)
215
- _validator: SchemaValidator = field(init=False, repr=False)
216
- _base_parameters_json_schema: ObjectJsonSchema = field(init=False)
211
+ function_schema: _function_schema.FunctionSchema
217
212
  """
218
213
  The base JSON schema for the tool's parameters.
219
214
 
@@ -237,6 +232,7 @@ class Tool(Generic[AgentDepsT]):
237
232
  require_parameter_descriptions: bool = False,
238
233
  schema_generator: type[GenerateJsonSchema] = GenerateToolJsonSchema,
239
234
  strict: bool | None = None,
235
+ function_schema: _function_schema.FunctionSchema | None = None,
240
236
  ):
241
237
  """Create a new tool instance.
242
238
 
@@ -289,28 +285,24 @@ class Tool(Generic[AgentDepsT]):
289
285
  schema_generator: The JSON schema generator class to use. Defaults to `GenerateToolJsonSchema`.
290
286
  strict: Whether to enforce JSON schema compliance (only affects OpenAI).
291
287
  See [`ToolDefinition`][pydantic_ai.tools.ToolDefinition] for more info.
288
+ function_schema: The function schema to use for the tool. If not provided, it will be generated.
292
289
  """
293
- if takes_ctx is None:
294
- takes_ctx = _pydantic.takes_ctx(function)
295
-
296
- f = _pydantic.function_schema(
297
- function, takes_ctx, docstring_format, require_parameter_descriptions, schema_generator
298
- )
299
290
  self.function = function
300
- self.takes_ctx = takes_ctx
291
+ self.function_schema = function_schema or _function_schema.function_schema(
292
+ function,
293
+ schema_generator,
294
+ takes_ctx=takes_ctx,
295
+ docstring_format=docstring_format,
296
+ require_parameter_descriptions=require_parameter_descriptions,
297
+ )
298
+ self.takes_ctx = self.function_schema.takes_ctx
301
299
  self.max_retries = max_retries
302
300
  self.name = name or function.__name__
303
- self.description = description or f['description']
301
+ self.description = description or self.function_schema.description
304
302
  self.prepare = prepare
305
303
  self.docstring_format = docstring_format
306
304
  self.require_parameter_descriptions = require_parameter_descriptions
307
305
  self.strict = strict
308
- self._is_async = inspect.iscoroutinefunction(self.function)
309
- self._single_arg_name = f['single_arg_name']
310
- self._positional_fields = f['positional_fields']
311
- self._var_positional_field = f['var_positional_field']
312
- self._validator = f['validator']
313
- self._base_parameters_json_schema = f['json_schema']
314
306
 
315
307
  async def prepare_tool_def(self, ctx: RunContext[AgentDepsT]) -> ToolDefinition | None:
316
308
  """Get the tool definition.
@@ -324,7 +316,7 @@ class Tool(Generic[AgentDepsT]):
324
316
  tool_def = ToolDefinition(
325
317
  name=self.name,
326
318
  description=self.description,
327
- parameters_json_schema=self._base_parameters_json_schema,
319
+ parameters_json_schema=self.function_schema.json_schema,
328
320
  strict=self.strict,
329
321
  )
330
322
  if self.prepare is not None:
@@ -366,21 +358,22 @@ class Tool(Generic[AgentDepsT]):
366
358
  self, message: _messages.ToolCallPart, run_context: RunContext[AgentDepsT]
367
359
  ) -> _messages.ToolReturnPart | _messages.RetryPromptPart:
368
360
  try:
361
+ validator = self.function_schema.validator
369
362
  if isinstance(message.args, str):
370
- args_dict = self._validator.validate_json(message.args or '{}')
363
+ args_dict = validator.validate_json(message.args or '{}')
371
364
  else:
372
- args_dict = self._validator.validate_python(message.args or {})
365
+ args_dict = validator.validate_python(message.args or {})
373
366
  except ValidationError as e:
374
367
  return self._on_error(e, message)
375
368
 
376
- args, kwargs = self._call_args(args_dict, message, run_context)
369
+ ctx = dataclasses.replace(
370
+ run_context,
371
+ retry=self.current_retry,
372
+ tool_name=message.tool_name,
373
+ tool_call_id=message.tool_call_id,
374
+ )
377
375
  try:
378
- if self._is_async:
379
- function = cast(Callable[[Any], Awaitable[str]], self.function)
380
- response_content = await function(*args, **kwargs)
381
- else:
382
- function = cast(Callable[[Any], str], self.function)
383
- response_content = await _utils.run_in_executor(function, *args, **kwargs)
376
+ response_content = await self.function_schema.call(args_dict, ctx)
384
377
  except ModelRetry as e:
385
378
  return self._on_error(e, message)
386
379
 
@@ -391,29 +384,6 @@ class Tool(Generic[AgentDepsT]):
391
384
  tool_call_id=message.tool_call_id,
392
385
  )
393
386
 
394
- def _call_args(
395
- self,
396
- args_dict: dict[str, Any],
397
- message: _messages.ToolCallPart,
398
- run_context: RunContext[AgentDepsT],
399
- ) -> tuple[list[Any], dict[str, Any]]:
400
- if self._single_arg_name:
401
- args_dict = {self._single_arg_name: args_dict}
402
-
403
- ctx = dataclasses.replace(
404
- run_context,
405
- retry=self.current_retry,
406
- tool_name=message.tool_name,
407
- tool_call_id=message.tool_call_id,
408
- )
409
- args = [ctx] if self.takes_ctx else []
410
- for positional_field in self._positional_fields:
411
- args.append(args_dict.pop(positional_field)) # pragma: no cover
412
- if self._var_positional_field:
413
- args.extend(args_dict.pop(self._var_positional_field))
414
-
415
- return args, args_dict
416
-
417
387
  def _on_error(
418
388
  self, exc: ValidationError | ModelRetry, call_message: _messages.ToolCallPart
419
389
  ) -> _messages.RetryPromptPart:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-slim
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: Agent Framework / shim to use Pydantic with LLMs, slim package
5
5
  Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>
6
6
  License-Expression: MIT
@@ -30,11 +30,11 @@ Requires-Dist: exceptiongroup; python_version < '3.11'
30
30
  Requires-Dist: griffe>=1.3.2
31
31
  Requires-Dist: httpx>=0.27
32
32
  Requires-Dist: opentelemetry-api>=1.28.0
33
- Requires-Dist: pydantic-graph==0.2.10
33
+ Requires-Dist: pydantic-graph==0.2.12
34
34
  Requires-Dist: pydantic>=2.10
35
35
  Requires-Dist: typing-inspection>=0.4.0
36
36
  Provides-Extra: a2a
37
- Requires-Dist: fasta2a==0.2.10; extra == 'a2a'
37
+ Requires-Dist: fasta2a==0.2.12; extra == 'a2a'
38
38
  Provides-Extra: anthropic
39
39
  Requires-Dist: anthropic>=0.52.0; extra == 'anthropic'
40
40
  Provides-Extra: bedrock
@@ -48,7 +48,7 @@ Requires-Dist: cohere>=5.13.11; (platform_system != 'Emscripten') and extra == '
48
48
  Provides-Extra: duckduckgo
49
49
  Requires-Dist: duckduckgo-search>=7.0.0; extra == 'duckduckgo'
50
50
  Provides-Extra: evals
51
- Requires-Dist: pydantic-evals==0.2.10; extra == 'evals'
51
+ Requires-Dist: pydantic-evals==0.2.12; extra == 'evals'
52
52
  Provides-Extra: google
53
53
  Requires-Dist: google-genai>=1.15.0; extra == 'google'
54
54
  Provides-Extra: groq
@@ -56,7 +56,7 @@ Requires-Dist: groq>=0.15.0; extra == 'groq'
56
56
  Provides-Extra: logfire
57
57
  Requires-Dist: logfire>=3.11.0; extra == 'logfire'
58
58
  Provides-Extra: mcp
59
- Requires-Dist: mcp>=1.8.0; (python_version >= '3.10') and extra == 'mcp'
59
+ Requires-Dist: mcp>=1.9.0; (python_version >= '3.10') and extra == 'mcp'
60
60
  Provides-Extra: mistral
61
61
  Requires-Dist: mistralai>=1.2.5; extra == 'mistral'
62
62
  Provides-Extra: openai
@@ -0,0 +1,73 @@
1
+ pydantic_ai/__init__.py,sha256=5flxyMQJVrHRMQ3MYaZf1el2ctNs0JmPClKbw2Q-Lsk,1160
2
+ pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
+ pydantic_ai/_a2a.py,sha256=8nNtx6GENDt2Ej3f1ui9L-FuNQBYVELpJFfwz-y7fUw,7234
4
+ pydantic_ai/_agent_graph.py,sha256=_7iJLLpOwCqViTE2BGTZfI42zdmsz7QPhgP0hdclsvg,36251
5
+ pydantic_ai/_cli.py,sha256=kc9UxGjYsKK0IR4No-V5BGiAtq2fY6eZZ9rBkAdHWOM,12948
6
+ pydantic_ai/_function_schema.py,sha256=Ciah-kyw-QiMeM8PtIe4DhOAlmyCZf98D1U0FIdl930,10563
7
+ pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
8
+ pydantic_ai/_output.py,sha256=PSx8xbgS4kxb6b7b_oWMcB8mmZ1jU8IEjV8zgxkEIzM,16775
9
+ pydantic_ai/_parts_manager.py,sha256=c0Gj29FH8K20AmxIr7MY8_SQVdb7SRIRcJYTQVmVYgc,12204
10
+ pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
11
+ pydantic_ai/_utils.py,sha256=XfZ7mZmrv5ZsU3DwjwLXwmbVNTQrgX_kIL9SIfatg90,10456
12
+ pydantic_ai/agent.py,sha256=1j3Wkk-wgJQWhaIFiOqc2uvQ2ISqMFoTdoG_8m2faHk,93558
13
+ pydantic_ai/direct.py,sha256=tXRcQ3fMkykaawO51VxnSwQnqcEmu1LhCy7U9gOyM-g,7768
14
+ pydantic_ai/exceptions.py,sha256=IdFw594Ou7Vn4YFa7xdZ040_j_6nmyA3MPANbC7sys4,3175
15
+ pydantic_ai/format_as_xml.py,sha256=IINfh1evWDphGahqHNLBArB5dQ4NIqS3S-kru35ztGg,372
16
+ pydantic_ai/format_prompt.py,sha256=qdKep95Sjlr7u1-qag4JwPbjoURbG0GbeU_l5ODTNw4,4466
17
+ pydantic_ai/mcp.py,sha256=QriH7D-DBSr7FyAMUqSLBahv57M3Nl-YRNKlJlHNX0k,13955
18
+ pydantic_ai/messages.py,sha256=K5zHLOgTLCr2AlqPYA_-WyDJ9B-rAvSiylATbzvZSfc,32410
19
+ pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ pydantic_ai/result.py,sha256=YlcR0QAQIejz3fbZ50zYfHKIZco0dwmnZTxytV-n3oM,24609
21
+ pydantic_ai/settings.py,sha256=U2XzZ9y1fIi_L6yCGTugZRxfk7_01rk5GKSgFqySHL4,3520
22
+ pydantic_ai/tools.py,sha256=m74jwTEr-FNi-seWjAujVrVEMemuIqihAeyKcMcQBwk,16844
23
+ pydantic_ai/usage.py,sha256=35YPmItlzfNOwP35Rhh0qBUOlg5On5rUE7xqHQWrpaU,5596
24
+ pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ pydantic_ai/common_tools/duckduckgo.py,sha256=Ty9tu1rCwMfGKgz1JAaC2q_4esmL6QvpkHQUN8F0Ecc,2152
26
+ pydantic_ai/common_tools/tavily.py,sha256=Q1xxSF5HtXAaZ10Pp-OaDOHXwJf2mco9wScGEQXD7E4,2495
27
+ pydantic_ai/models/__init__.py,sha256=M_KXHIFCCVGYr52Rc0xe-uQOMuLJC1AC1Zmj0H9JB00,24725
28
+ pydantic_ai/models/anthropic.py,sha256=2R4VpnuXyM1WPB4vV2Ssl7urPwD1IiOAbVJDWplJ0Wc,21201
29
+ pydantic_ai/models/bedrock.py,sha256=Y_JMGe09JlFrfS2U3m39EGLViFbJ_WSMljZCQpxSuEI,27519
30
+ pydantic_ai/models/cohere.py,sha256=bQLTQguqVXkzkPgWmMncrxApO9CQ7YtgrmFwa057g7g,12116
31
+ pydantic_ai/models/fallback.py,sha256=idOYGMo3CZzpCBT8DDiuPAAgnV2jzluDUq3ESb3KteM,4981
32
+ pydantic_ai/models/function.py,sha256=rnihsyakyieCGbEyxfqzvoBHnR_3LJn4x6DXQqdAAM4,11458
33
+ pydantic_ai/models/gemini.py,sha256=y-Yw6bPnNt1FcEvisAuryqZGtKOk5obO2LRzkSOGogM,35483
34
+ pydantic_ai/models/google.py,sha256=cGgYkOGlBLb_IH3LFP_Y8Iprg5Y2SKOIOEmCWmvsVeA,20967
35
+ pydantic_ai/models/groq.py,sha256=MVJO8DQbgO7NlRA898hTdFnKz1Y42c31u8BDoYDxGIg,17848
36
+ pydantic_ai/models/instrumented.py,sha256=Y3SxAlP9cCX_Ch02c8qN9mrWMY9_tuyj6zMeN5Gz-W0,12356
37
+ pydantic_ai/models/mistral.py,sha256=pTywq_QCjjAlRC5uTQ9DQeONH0Fsc1cYUVku9BW21Wk,29614
38
+ pydantic_ai/models/openai.py,sha256=QlbYQQr6vgy5peS0nLZnAtQLBoGDFvvAlDNX_WGNeGI,44466
39
+ pydantic_ai/models/test.py,sha256=Jlq-YQ9dhzENgmBMVerZpM4L-I2aPf7HH7ifIncyDlE,17010
40
+ pydantic_ai/models/wrapper.py,sha256=43ntRkTF7rVBYLC-Ihdo1fkwpeveOpA_1fXe1fd3W9Y,1690
41
+ pydantic_ai/profiles/__init__.py,sha256=uO_f1kSqrnXuO0x5U0EHTTMRYcmOiOoa-tS1OZppxBk,1426
42
+ pydantic_ai/profiles/_json_schema.py,sha256=3ofRGnBca9WzqlUbw0C1ywhv_V7eGTmFAf2O7Bs5zgk,7199
43
+ pydantic_ai/profiles/amazon.py,sha256=O4ijm1Lpz01vaSiHrkSeGQhbCKV5lyQVtHYqh0pCW_k,339
44
+ pydantic_ai/profiles/anthropic.py,sha256=DtTGh85tbkTrrrn2OrJ4FJKXWUIxUH_1Vw6y5fyMRyM,222
45
+ pydantic_ai/profiles/cohere.py,sha256=lcL34Ht1jZopwuqoU6OV9l8vN4zwF-jiPjlsEABbSRo,215
46
+ pydantic_ai/profiles/deepseek.py,sha256=DS_idprnXpMliKziKF0k1neLDJOwUvpatZ3YLaiYnCM,219
47
+ pydantic_ai/profiles/google.py,sha256=TL8WxCuFKQ7FZnDQpBYvtd26_qOwPDpLfDeTdAOdrBE,4812
48
+ pydantic_ai/profiles/grok.py,sha256=nBOxOCYCK9aiLmz2Q-esqYhotNbbBC1boAoOYIk1tVw,211
49
+ pydantic_ai/profiles/meta.py,sha256=IAGPoUrLWd-g9ajAgpWp9fIeOrP-7dBlZ2HEFjIhUbY,334
50
+ pydantic_ai/profiles/mistral.py,sha256=ll01PmcK3szwlTfbaJLQmfd0TADN8lqjov9HpPJzCMQ,217
51
+ pydantic_ai/profiles/openai.py,sha256=6fRJxA-m196OfzfhG3_2zdZl2plwW0kBNUbQorJUSSE,5459
52
+ pydantic_ai/profiles/qwen.py,sha256=u7pL8uomoQTVl45g5wDrHx0P_oFDLaN6ALswuwmkWc0,334
53
+ pydantic_ai/providers/__init__.py,sha256=N2rneMydEhq6BbcCxvza1Sv_cdh9HFyNQkjlaiyU6zA,3252
54
+ pydantic_ai/providers/anthropic.py,sha256=D35UXxCPXv8yIbD0fj9Zg2FvNyoMoJMeDUtVM8Sn78I,3046
55
+ pydantic_ai/providers/azure.py,sha256=y77IHGiSQ9Ttx9f4SGMgdpin2Daq6eYyzUdM9ET22RQ,5819
56
+ pydantic_ai/providers/bedrock.py,sha256=ycdTXnkj_WNqPMA7DNDPeYia0C37FP0_l0CygSQmWYI,5694
57
+ pydantic_ai/providers/cohere.py,sha256=LT6QaLPJBBlFUgYgXQOfKpbM9SXLzorWFxI7jNfOX_4,2892
58
+ pydantic_ai/providers/deepseek.py,sha256=kUdM8eVp1lse4bS_uy70Gy7wgog94NTZ36GY-vhSB50,3060
59
+ pydantic_ai/providers/fireworks.py,sha256=TPbqOpNgXG59qovBaHWbbV2vsvROwlHwQ3PvqHUBH-s,3626
60
+ pydantic_ai/providers/google.py,sha256=3thJwFxJi5R21LuAGhSBYIwmThZ3Bk-6DOCaVhHLDto,5380
61
+ pydantic_ai/providers/google_gla.py,sha256=BCF5_6EVtpkCZ6qIDuvgY1Qa9EirS71l51CBqPqk4C4,1825
62
+ pydantic_ai/providers/google_vertex.py,sha256=NZKMaTQqiopyU4fYJ2WN09GAupPU-g4iKXz82DwQ3zg,9422
63
+ pydantic_ai/providers/grok.py,sha256=mtlx7KP6xEDrDnYR1pmuT61wjUlYbCJNASNCDfVGQ5A,2912
64
+ pydantic_ai/providers/groq.py,sha256=LcD0vXiZhWOsMatz0yKzt9NCIAw6H7OhJsQ5GPDqL44,3835
65
+ pydantic_ai/providers/mistral.py,sha256=EIUSENjFuGzBhvbdrarUTM4VPkesIMnZrzfnEKHOsc4,3120
66
+ pydantic_ai/providers/openai.py,sha256=7iGij0EaFylab7dTZAZDgXr78tr-HsZrn9EI9AkWBNQ,3091
67
+ pydantic_ai/providers/openrouter.py,sha256=NXjNdnlXIBrBMMqbzcWQnowXOuZh4NHikXenBn5h3mc,4061
68
+ pydantic_ai/providers/together.py,sha256=zFVSMSm5jXbpkNouvBOTjWrPmlPpCp6sQS5LMSyVjrQ,3482
69
+ pydantic_ai_slim-0.2.12.dist-info/METADATA,sha256=bQm36Co0UI5lXFfgkrLP4d30YhZRQlawSwiBhLt6hl0,3850
70
+ pydantic_ai_slim-0.2.12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
71
+ pydantic_ai_slim-0.2.12.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
72
+ pydantic_ai_slim-0.2.12.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
73
+ pydantic_ai_slim-0.2.12.dist-info/RECORD,,
@@ -1,59 +0,0 @@
1
- pydantic_ai/__init__.py,sha256=5flxyMQJVrHRMQ3MYaZf1el2ctNs0JmPClKbw2Q-Lsk,1160
2
- pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
- pydantic_ai/_a2a.py,sha256=8nNtx6GENDt2Ej3f1ui9L-FuNQBYVELpJFfwz-y7fUw,7234
4
- pydantic_ai/_agent_graph.py,sha256=vabNuwWnJlvmLls8RkOgoda9T-kb_xf5TnzIgk-DeBI,36516
5
- pydantic_ai/_cli.py,sha256=kc9UxGjYsKK0IR4No-V5BGiAtq2fY6eZZ9rBkAdHWOM,12948
6
- pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
7
- pydantic_ai/_output.py,sha256=fJ3xyaIUf7R_QmYQaTZLqNBbZdVgzFTYsS2NxyqsybI,11447
8
- pydantic_ai/_parts_manager.py,sha256=c0Gj29FH8K20AmxIr7MY8_SQVdb7SRIRcJYTQVmVYgc,12204
9
- pydantic_ai/_pydantic.py,sha256=Dz9pVp-mcxBtIUK6TnfSZIAVXdsB1JKErZsINgX8Fpk,9161
10
- pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
11
- pydantic_ai/_utils.py,sha256=XfZ7mZmrv5ZsU3DwjwLXwmbVNTQrgX_kIL9SIfatg90,10456
12
- pydantic_ai/agent.py,sha256=gz_AFp5dO2xSbf9ej-jTNLa6-LZFV_JCWeRwA4Kq0tc,93721
13
- pydantic_ai/direct.py,sha256=tXRcQ3fMkykaawO51VxnSwQnqcEmu1LhCy7U9gOyM-g,7768
14
- pydantic_ai/exceptions.py,sha256=IdFw594Ou7Vn4YFa7xdZ040_j_6nmyA3MPANbC7sys4,3175
15
- pydantic_ai/format_as_xml.py,sha256=IINfh1evWDphGahqHNLBArB5dQ4NIqS3S-kru35ztGg,372
16
- pydantic_ai/format_prompt.py,sha256=qdKep95Sjlr7u1-qag4JwPbjoURbG0GbeU_l5ODTNw4,4466
17
- pydantic_ai/mcp.py,sha256=otT4TICJYgZEYIjIaWEwz5AjMArH79BPGdO0qIPmV2g,13947
18
- pydantic_ai/messages.py,sha256=jJUh10-NGp58YkiTrKUUzffmd7JC2w2HXUlKWVhbGUM,32442
19
- pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- pydantic_ai/result.py,sha256=un7AHAY3Rtqh1naSacZiTcrPgDGYo1vvAGlW7-95EO8,27825
21
- pydantic_ai/settings.py,sha256=U2XzZ9y1fIi_L6yCGTugZRxfk7_01rk5GKSgFqySHL4,3520
22
- pydantic_ai/tools.py,sha256=UspUFXFa54ohFX5FNEN34cMTObqkCSN6gXOrKizm5C0,18124
23
- pydantic_ai/usage.py,sha256=35YPmItlzfNOwP35Rhh0qBUOlg5On5rUE7xqHQWrpaU,5596
24
- pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- pydantic_ai/common_tools/duckduckgo.py,sha256=Ty9tu1rCwMfGKgz1JAaC2q_4esmL6QvpkHQUN8F0Ecc,2152
26
- pydantic_ai/common_tools/tavily.py,sha256=Q1xxSF5HtXAaZ10Pp-OaDOHXwJf2mco9wScGEQXD7E4,2495
27
- pydantic_ai/models/__init__.py,sha256=oqyIvNEwwoRmsBXYzFdxN6PVauOvVcKa4sU1lm711eQ,23154
28
- pydantic_ai/models/_json_schema.py,sha256=RD0cIU9mOGIdRuhkjLtPdlwfmF8XDOP1kLevIOLudaE,6540
29
- pydantic_ai/models/anthropic.py,sha256=W1PjxksRr3-VGLm3W-vyvcq8i7Ug2bTNaNrtw6_yeCY,20884
30
- pydantic_ai/models/bedrock.py,sha256=mv-NFtnbaXS4NyGgLjExItrD6Hcu-8gHh1wVu2a-gZQ,26369
31
- pydantic_ai/models/cohere.py,sha256=a9dxjrH5StfvPP5CTituQsOhujO2KPHD6JOGpsx1E9o,11852
32
- pydantic_ai/models/fallback.py,sha256=idOYGMo3CZzpCBT8DDiuPAAgnV2jzluDUq3ESb3KteM,4981
33
- pydantic_ai/models/function.py,sha256=rnihsyakyieCGbEyxfqzvoBHnR_3LJn4x6DXQqdAAM4,11458
34
- pydantic_ai/models/gemini.py,sha256=xG15g65r_kSqMC8Hg1yJSIem2uBEz7hKV8KEdPnzeR4,37870
35
- pydantic_ai/models/google.py,sha256=I18u5MZ9sYxRm88vSJf3XwcziuDmljuBazfajYAF4LU,24523
36
- pydantic_ai/models/groq.py,sha256=px2C3oW6Yvrk695E0dzDzDRUav6XiwkjyJvjro4Tb9M,17520
37
- pydantic_ai/models/instrumented.py,sha256=Y3SxAlP9cCX_Ch02c8qN9mrWMY9_tuyj6zMeN5Gz-W0,12356
38
- pydantic_ai/models/mistral.py,sha256=h24_VwAx2iaAN8FHW9W72U6y5YyhYm1X9XK5rIQvTGI,29350
39
- pydantic_ai/models/openai.py,sha256=YEn9D-bhU-iOdyeB6vQoEnKaM_OK8uXCq45JyyOsLL8,49774
40
- pydantic_ai/models/test.py,sha256=Jlq-YQ9dhzENgmBMVerZpM4L-I2aPf7HH7ifIncyDlE,17010
41
- pydantic_ai/models/wrapper.py,sha256=43ntRkTF7rVBYLC-Ihdo1fkwpeveOpA_1fXe1fd3W9Y,1690
42
- pydantic_ai/providers/__init__.py,sha256=mBRULL9WaiGAgjKGY5aPQ7KatYoIOhkHSJJ3DkP6jvE,2695
43
- pydantic_ai/providers/anthropic.py,sha256=0WzWEDseBaJ5eyEatvnDXBtDZKA9-od4BuPZn9NoTPw,2812
44
- pydantic_ai/providers/azure.py,sha256=6liJWEgz5uHN1xkDG3J7aiMjL_twWuW7h51-RC3cLvo,4205
45
- pydantic_ai/providers/bedrock.py,sha256=fHw3wF0qq-y0BmWfCxAX9ezQGAgeSkOtYyIS7-nT7bo,3454
46
- pydantic_ai/providers/cohere.py,sha256=WOFZCllgVbWciF4nNkG3pCqw4poy57VEGyux2mVntbQ,2667
47
- pydantic_ai/providers/deepseek.py,sha256=_5JPzDGWsyVyTBX-yYYdy5aZwUOWNCVgoWI-UoBamms,2193
48
- pydantic_ai/providers/google.py,sha256=8YgEdOz4VfiSN8wMGpKWq8PsvK8u8PtvwfENsUfrp3c,5155
49
- pydantic_ai/providers/google_gla.py,sha256=MJM7aRZRdP4kFlNg0ZHgC95O0wH02OQgbNiDQeK9fZo,1600
50
- pydantic_ai/providers/google_vertex.py,sha256=tvokVpZvR-3DIRkyEsEYy6wZMlCKQVmUKpoSk3r3_fI,9197
51
- pydantic_ai/providers/groq.py,sha256=DoY6qkfhuemuKB5JXhUkqG-3t1HQkxwSXoE_kHQIAK0,2788
52
- pydantic_ai/providers/mistral.py,sha256=FAS7yKn26yWy7LTmEiBSvqe0HpTXi8_nIf824vE6RFQ,2892
53
- pydantic_ai/providers/openai.py,sha256=ePF-QWwLkGkSE5w245gTTDVR3VoTIUqFoIhQ0TAoUiA,2866
54
- pydantic_ai/providers/openrouter.py,sha256=ZwlpGjrHFqZefohdGJGL6MQiLOGKwu6kOCHziymJA_E,2215
55
- pydantic_ai_slim-0.2.10.dist-info/METADATA,sha256=apMT3swFs8UGg72jcYIixG7NedylIxuj4Pvn3rL_nkY,3850
56
- pydantic_ai_slim-0.2.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
57
- pydantic_ai_slim-0.2.10.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
58
- pydantic_ai_slim-0.2.10.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
59
- pydantic_ai_slim-0.2.10.dist-info/RECORD,,