pydantic-ai-slim 0.0.45__py3-none-any.whl → 0.0.47__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.
- pydantic_ai/__main__.py +6 -0
- pydantic_ai/_agent_graph.py +19 -13
- pydantic_ai/_cli.py +120 -77
- pydantic_ai/_result.py +4 -1
- pydantic_ai/_utils.py +1 -1
- pydantic_ai/agent.py +32 -32
- pydantic_ai/mcp.py +25 -1
- pydantic_ai/messages.py +1 -1
- pydantic_ai/models/__init__.py +221 -199
- pydantic_ai/models/anthropic.py +4 -1
- pydantic_ai/models/bedrock.py +7 -0
- pydantic_ai/models/cohere.py +4 -1
- pydantic_ai/models/gemini.py +4 -1
- pydantic_ai/models/groq.py +32 -15
- pydantic_ai/models/instrumented.py +6 -1
- pydantic_ai/models/mistral.py +6 -1
- pydantic_ai/models/openai.py +6 -3
- pydantic_ai/providers/anthropic.py +2 -1
- pydantic_ai/providers/azure.py +1 -1
- pydantic_ai/providers/bedrock.py +11 -0
- pydantic_ai/providers/cohere.py +2 -3
- pydantic_ai/providers/deepseek.py +2 -1
- pydantic_ai/providers/google_gla.py +1 -1
- pydantic_ai/providers/google_vertex.py +1 -1
- pydantic_ai/providers/groq.py +2 -3
- pydantic_ai/providers/mistral.py +2 -1
- pydantic_ai/providers/openai.py +2 -1
- pydantic_ai/tools.py +32 -1
- {pydantic_ai_slim-0.0.45.dist-info → pydantic_ai_slim-0.0.47.dist-info}/METADATA +6 -4
- pydantic_ai_slim-0.0.47.dist-info/RECORD +51 -0
- pydantic_ai_slim-0.0.45.dist-info/RECORD +0 -50
- {pydantic_ai_slim-0.0.45.dist-info → pydantic_ai_slim-0.0.47.dist-info}/WHEEL +0 -0
- {pydantic_ai_slim-0.0.45.dist-info → pydantic_ai_slim-0.0.47.dist-info}/entry_points.txt +0 -0
pydantic_ai/models/mistral.py
CHANGED
|
@@ -91,7 +91,10 @@ Since [the Mistral docs](https://docs.mistral.ai/getting-started/models/models_o
|
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
class MistralModelSettings(ModelSettings):
|
|
94
|
-
"""Settings used for a Mistral model request.
|
|
94
|
+
"""Settings used for a Mistral model request.
|
|
95
|
+
|
|
96
|
+
ALL FIELDS MUST BE `mistral_` PREFIXED SO YOU CAN MERGE THEM WITH OTHER MODELS.
|
|
97
|
+
"""
|
|
95
98
|
|
|
96
99
|
# This class is a placeholder for any future mistral-specific settings
|
|
97
100
|
|
|
@@ -397,6 +400,8 @@ class MistralModel(Model):
|
|
|
397
400
|
# 5) Object: Check for additionalProperties
|
|
398
401
|
if value_type == 'object':
|
|
399
402
|
additional_properties = value.get('additionalProperties', {})
|
|
403
|
+
if isinstance(additional_properties, bool):
|
|
404
|
+
return 'bool' # pragma: no cover
|
|
400
405
|
additional_properties_type = additional_properties.get('type')
|
|
401
406
|
if (
|
|
402
407
|
additional_properties_type in SIMPLE_JSON_TYPE_MAPPING
|
pydantic_ai/models/openai.py
CHANGED
|
@@ -74,7 +74,10 @@ OpenAISystemPromptRole = Literal['system', 'developer', 'user']
|
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
class OpenAIModelSettings(ModelSettings, total=False):
|
|
77
|
-
"""Settings used for an OpenAI model request.
|
|
77
|
+
"""Settings used for an OpenAI model request.
|
|
78
|
+
|
|
79
|
+
ALL FIELDS MUST BE `openai_` PREFIXED SO YOU CAN MERGE THEM WITH OTHER MODELS.
|
|
80
|
+
"""
|
|
78
81
|
|
|
79
82
|
openai_reasoning_effort: chat.ChatCompletionReasoningEffort
|
|
80
83
|
"""
|
|
@@ -83,7 +86,7 @@ class OpenAIModelSettings(ModelSettings, total=False):
|
|
|
83
86
|
result in faster responses and fewer tokens used on reasoning in a response.
|
|
84
87
|
"""
|
|
85
88
|
|
|
86
|
-
|
|
89
|
+
openai_user: str
|
|
87
90
|
"""A unique identifier representing the end-user, which can help OpenAI monitor and detect abuse.
|
|
88
91
|
|
|
89
92
|
See [OpenAI's safety best practices](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids) for more details.
|
|
@@ -229,7 +232,7 @@ class OpenAIModel(Model):
|
|
|
229
232
|
frequency_penalty=model_settings.get('frequency_penalty', NOT_GIVEN),
|
|
230
233
|
logit_bias=model_settings.get('logit_bias', NOT_GIVEN),
|
|
231
234
|
reasoning_effort=model_settings.get('openai_reasoning_effort', NOT_GIVEN),
|
|
232
|
-
user=model_settings.get('
|
|
235
|
+
user=model_settings.get('openai_user', NOT_GIVEN),
|
|
233
236
|
)
|
|
234
237
|
except APIStatusError as e:
|
|
235
238
|
if (status_code := e.status_code) >= 400:
|
|
@@ -70,4 +70,5 @@ class AnthropicProvider(Provider[AsyncAnthropic]):
|
|
|
70
70
|
if http_client is not None:
|
|
71
71
|
self._client = AsyncAnthropic(api_key=api_key, http_client=http_client)
|
|
72
72
|
else:
|
|
73
|
-
|
|
73
|
+
http_client = cached_async_http_client(provider='anthropic')
|
|
74
|
+
self._client = AsyncAnthropic(api_key=api_key, http_client=http_client)
|
pydantic_ai/providers/azure.py
CHANGED
|
@@ -97,7 +97,7 @@ class AzureProvider(Provider[AsyncOpenAI]):
|
|
|
97
97
|
'Must provide one of the `api_version` argument or the `OPENAI_API_VERSION` environment variable'
|
|
98
98
|
)
|
|
99
99
|
|
|
100
|
-
http_client = http_client or cached_async_http_client()
|
|
100
|
+
http_client = http_client or cached_async_http_client(provider='azure')
|
|
101
101
|
self._client = AsyncAzureOpenAI(
|
|
102
102
|
azure_endpoint=azure_endpoint,
|
|
103
103
|
api_key=api_key,
|
pydantic_ai/providers/bedrock.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations as _annotations
|
|
2
2
|
|
|
3
|
+
import os
|
|
3
4
|
from typing import overload
|
|
4
5
|
|
|
5
6
|
from pydantic_ai.exceptions import UserError
|
|
@@ -8,6 +9,7 @@ from pydantic_ai.providers import Provider
|
|
|
8
9
|
try:
|
|
9
10
|
import boto3
|
|
10
11
|
from botocore.client import BaseClient
|
|
12
|
+
from botocore.config import Config
|
|
11
13
|
from botocore.exceptions import NoRegionError
|
|
12
14
|
except ImportError as _import_error:
|
|
13
15
|
raise ImportError(
|
|
@@ -42,6 +44,8 @@ class BedrockProvider(Provider[BaseClient]):
|
|
|
42
44
|
aws_access_key_id: str | None = None,
|
|
43
45
|
aws_secret_access_key: str | None = None,
|
|
44
46
|
aws_session_token: str | None = None,
|
|
47
|
+
aws_read_timeout: float | None = None,
|
|
48
|
+
aws_connect_timeout: float | None = None,
|
|
45
49
|
) -> None: ...
|
|
46
50
|
|
|
47
51
|
def __init__(
|
|
@@ -52,6 +56,8 @@ class BedrockProvider(Provider[BaseClient]):
|
|
|
52
56
|
aws_access_key_id: str | None = None,
|
|
53
57
|
aws_secret_access_key: str | None = None,
|
|
54
58
|
aws_session_token: str | None = None,
|
|
59
|
+
aws_read_timeout: float | None = None,
|
|
60
|
+
aws_connect_timeout: float | None = None,
|
|
55
61
|
) -> None:
|
|
56
62
|
"""Initialize the Bedrock provider.
|
|
57
63
|
|
|
@@ -61,17 +67,22 @@ class BedrockProvider(Provider[BaseClient]):
|
|
|
61
67
|
aws_access_key_id: The AWS access key ID.
|
|
62
68
|
aws_secret_access_key: The AWS secret access key.
|
|
63
69
|
aws_session_token: The AWS session token.
|
|
70
|
+
aws_read_timeout: The read timeout for Bedrock client.
|
|
71
|
+
aws_connect_timeout: The connect timeout for Bedrock client.
|
|
64
72
|
"""
|
|
65
73
|
if bedrock_client is not None:
|
|
66
74
|
self._client = bedrock_client
|
|
67
75
|
else:
|
|
68
76
|
try:
|
|
77
|
+
read_timeout = aws_read_timeout or float(os.getenv('AWS_READ_TIMEOUT', 300))
|
|
78
|
+
connect_timeout = aws_connect_timeout or float(os.getenv('AWS_CONNECT_TIMEOUT', 60))
|
|
69
79
|
self._client = boto3.client( # type: ignore[reportUnknownMemberType]
|
|
70
80
|
'bedrock-runtime',
|
|
71
81
|
aws_access_key_id=aws_access_key_id,
|
|
72
82
|
aws_secret_access_key=aws_secret_access_key,
|
|
73
83
|
aws_session_token=aws_session_token,
|
|
74
84
|
region_name=region_name,
|
|
85
|
+
config=Config(read_timeout=read_timeout, connect_timeout=connect_timeout),
|
|
75
86
|
)
|
|
76
87
|
except NoRegionError as exc: # pragma: no cover
|
|
77
88
|
raise UserError('You must provide a `region_name` or a boto3 client for Bedrock Runtime.') from exc
|
pydantic_ai/providers/cohere.py
CHANGED
|
@@ -66,6 +66,5 @@ class CohereProvider(Provider[AsyncClientV2]):
|
|
|
66
66
|
if http_client is not None:
|
|
67
67
|
self._client = AsyncClientV2(api_key=api_key, httpx_client=http_client, base_url=base_url)
|
|
68
68
|
else:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
)
|
|
69
|
+
http_client = cached_async_http_client(provider='cohere')
|
|
70
|
+
self._client = AsyncClientV2(api_key=api_key, httpx_client=http_client, base_url=base_url)
|
|
@@ -65,4 +65,5 @@ class DeepSeekProvider(Provider[AsyncOpenAI]):
|
|
|
65
65
|
elif http_client is not None:
|
|
66
66
|
self._client = AsyncOpenAI(base_url=self.base_url, api_key=api_key, http_client=http_client)
|
|
67
67
|
else:
|
|
68
|
-
|
|
68
|
+
http_client = cached_async_http_client(provider='deepseek')
|
|
69
|
+
self._client = AsyncOpenAI(base_url=self.base_url, api_key=api_key, http_client=http_client)
|
|
@@ -39,7 +39,7 @@ class GoogleGLAProvider(Provider[httpx.AsyncClient]):
|
|
|
39
39
|
'to use the Google GLA provider.'
|
|
40
40
|
)
|
|
41
41
|
|
|
42
|
-
self._client = http_client or cached_async_http_client()
|
|
42
|
+
self._client = http_client or cached_async_http_client(provider='google-gla')
|
|
43
43
|
self._client.base_url = self.base_url
|
|
44
44
|
# https://cloud.google.com/docs/authentication/api-keys-use#using-with-rest
|
|
45
45
|
self._client.headers['X-Goog-Api-Key'] = api_key
|
|
@@ -97,7 +97,7 @@ class GoogleVertexProvider(Provider[httpx.AsyncClient]):
|
|
|
97
97
|
if service_account_file and service_account_info:
|
|
98
98
|
raise ValueError('Only one of `service_account_file` or `service_account_info` can be provided.')
|
|
99
99
|
|
|
100
|
-
self._client = http_client or cached_async_http_client()
|
|
100
|
+
self._client = http_client or cached_async_http_client(provider='google-vertex')
|
|
101
101
|
self.service_account_file = service_account_file
|
|
102
102
|
self.service_account_info = service_account_info
|
|
103
103
|
self.project_id = project_id
|
pydantic_ai/providers/groq.py
CHANGED
|
@@ -71,6 +71,5 @@ class GroqProvider(Provider[AsyncGroq]):
|
|
|
71
71
|
elif http_client is not None:
|
|
72
72
|
self._client = AsyncGroq(base_url=self.base_url, api_key=api_key, http_client=http_client)
|
|
73
73
|
else:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
)
|
|
74
|
+
http_client = cached_async_http_client(provider='groq')
|
|
75
|
+
self._client = AsyncGroq(base_url=self.base_url, api_key=api_key, http_client=http_client)
|
pydantic_ai/providers/mistral.py
CHANGED
|
@@ -69,4 +69,5 @@ class MistralProvider(Provider[Mistral]):
|
|
|
69
69
|
elif http_client is not None:
|
|
70
70
|
self._client = Mistral(api_key=api_key, async_client=http_client)
|
|
71
71
|
else:
|
|
72
|
-
|
|
72
|
+
http_client = cached_async_http_client(provider='mistral')
|
|
73
|
+
self._client = Mistral(api_key=api_key, async_client=http_client)
|
pydantic_ai/providers/openai.py
CHANGED
|
@@ -63,4 +63,5 @@ class OpenAIProvider(Provider[AsyncOpenAI]):
|
|
|
63
63
|
elif http_client is not None:
|
|
64
64
|
self._client = AsyncOpenAI(base_url=base_url, api_key=api_key, http_client=http_client)
|
|
65
65
|
else:
|
|
66
|
-
|
|
66
|
+
http_client = cached_async_http_client(provider='openai')
|
|
67
|
+
self._client = AsyncOpenAI(base_url=base_url, api_key=api_key, http_client=http_client)
|
pydantic_ai/tools.py
CHANGED
|
@@ -2,10 +2,12 @@ from __future__ import annotations as _annotations
|
|
|
2
2
|
|
|
3
3
|
import dataclasses
|
|
4
4
|
import inspect
|
|
5
|
+
import json
|
|
5
6
|
from collections.abc import Awaitable, Sequence
|
|
6
7
|
from dataclasses import dataclass, field
|
|
7
8
|
from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, Union, cast
|
|
8
9
|
|
|
10
|
+
from opentelemetry.trace import Tracer
|
|
9
11
|
from pydantic import ValidationError
|
|
10
12
|
from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue
|
|
11
13
|
from pydantic_core import SchemaValidator, core_schema
|
|
@@ -286,9 +288,38 @@ class Tool(Generic[AgentDepsT]):
|
|
|
286
288
|
return tool_def
|
|
287
289
|
|
|
288
290
|
async def run(
|
|
291
|
+
self, message: _messages.ToolCallPart, run_context: RunContext[AgentDepsT], tracer: Tracer
|
|
292
|
+
) -> _messages.ToolReturnPart | _messages.RetryPromptPart:
|
|
293
|
+
"""Run the tool function asynchronously.
|
|
294
|
+
|
|
295
|
+
This method wraps `_run` in an OpenTelemetry span.
|
|
296
|
+
|
|
297
|
+
See <https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/#execute-tool-span>.
|
|
298
|
+
"""
|
|
299
|
+
span_attributes = {
|
|
300
|
+
'gen_ai.tool.name': self.name,
|
|
301
|
+
# NOTE: this means `gen_ai.tool.call.id` will be included even if it was generated by pydantic-ai
|
|
302
|
+
'gen_ai.tool.call.id': message.tool_call_id,
|
|
303
|
+
'tool_arguments': message.args_as_json_str(),
|
|
304
|
+
'logfire.msg': f'running tool: {self.name}',
|
|
305
|
+
# add the JSON schema so these attributes are formatted nicely in Logfire
|
|
306
|
+
'logfire.json_schema': json.dumps(
|
|
307
|
+
{
|
|
308
|
+
'type': 'object',
|
|
309
|
+
'properties': {
|
|
310
|
+
'tool_arguments': {'type': 'object'},
|
|
311
|
+
'gen_ai.tool.name': {},
|
|
312
|
+
'gen_ai.tool.call.id': {},
|
|
313
|
+
},
|
|
314
|
+
}
|
|
315
|
+
),
|
|
316
|
+
}
|
|
317
|
+
with tracer.start_as_current_span('running tool', attributes=span_attributes):
|
|
318
|
+
return await self._run(message, run_context)
|
|
319
|
+
|
|
320
|
+
async def _run(
|
|
289
321
|
self, message: _messages.ToolCallPart, run_context: RunContext[AgentDepsT]
|
|
290
322
|
) -> _messages.ToolReturnPart | _messages.RetryPromptPart:
|
|
291
|
-
"""Run the tool function asynchronously."""
|
|
292
323
|
try:
|
|
293
324
|
if isinstance(message.args, str):
|
|
294
325
|
args_dict = self._validator.validate_json(message.args)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai-slim
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.47
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs, slim package
|
|
5
5
|
Author-email: Samuel Colvin <samuel@pydantic.dev>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -29,7 +29,7 @@ Requires-Dist: exceptiongroup; python_version < '3.11'
|
|
|
29
29
|
Requires-Dist: griffe>=1.3.2
|
|
30
30
|
Requires-Dist: httpx>=0.27
|
|
31
31
|
Requires-Dist: opentelemetry-api>=1.28.0
|
|
32
|
-
Requires-Dist: pydantic-graph==0.0.
|
|
32
|
+
Requires-Dist: pydantic-graph==0.0.47
|
|
33
33
|
Requires-Dist: pydantic>=2.10
|
|
34
34
|
Requires-Dist: typing-inspection>=0.4.0
|
|
35
35
|
Provides-Extra: anthropic
|
|
@@ -41,13 +41,15 @@ Requires-Dist: argcomplete>=3.5.0; extra == 'cli'
|
|
|
41
41
|
Requires-Dist: prompt-toolkit>=3; extra == 'cli'
|
|
42
42
|
Requires-Dist: rich>=13; extra == 'cli'
|
|
43
43
|
Provides-Extra: cohere
|
|
44
|
-
Requires-Dist: cohere>=5.13.11; extra == 'cohere'
|
|
44
|
+
Requires-Dist: cohere>=5.13.11; (platform_system != 'Emscripten') and extra == 'cohere'
|
|
45
45
|
Provides-Extra: duckduckgo
|
|
46
46
|
Requires-Dist: duckduckgo-search>=7.0.0; extra == 'duckduckgo'
|
|
47
|
+
Provides-Extra: evals
|
|
48
|
+
Requires-Dist: pydantic-evals==0.0.41; extra == 'evals'
|
|
47
49
|
Provides-Extra: groq
|
|
48
50
|
Requires-Dist: groq>=0.15.0; extra == 'groq'
|
|
49
51
|
Provides-Extra: logfire
|
|
50
|
-
Requires-Dist: logfire>=
|
|
52
|
+
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
51
53
|
Provides-Extra: mcp
|
|
52
54
|
Requires-Dist: mcp>=1.4.1; (python_version >= '3.10') and extra == 'mcp'
|
|
53
55
|
Provides-Extra: mistral
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
pydantic_ai/__init__.py,sha256=5or1fE25gmemJGCznkFHC4VMeNT7vTLU6BiGxkmSA2A,959
|
|
2
|
+
pydantic_ai/__main__.py,sha256=AW8FzscUWPFtIrQBG0QExLxTQehKtt5FnFVnOT200OE,122
|
|
3
|
+
pydantic_ai/_agent_graph.py,sha256=MWNNug-bGJcgOVonkkD38Yz3X4R0XfUxzFJ9_fpNnyQ,32532
|
|
4
|
+
pydantic_ai/_cli.py,sha256=_uK04vLLT08suu-VNd0ynMtzpUiF-jw8YpZaEVTiUUk,10360
|
|
5
|
+
pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
|
|
6
|
+
pydantic_ai/_parts_manager.py,sha256=HIi6eth7z2g0tOn6iQYc633xMqy4d_xZ8vwka8J8150,12016
|
|
7
|
+
pydantic_ai/_pydantic.py,sha256=12hX5hON88meO1QxbWrEPXSvr6RTNgr6ubKY6KRwab4,8890
|
|
8
|
+
pydantic_ai/_result.py,sha256=32wDrq4F93f0BI9gcXeWposN49YaifF77qnyd_D57f0,10213
|
|
9
|
+
pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
|
|
10
|
+
pydantic_ai/_utils.py,sha256=VXbR6FG6WQU_TTN1NMmBDbZ6e6DT7PDiUiBHFHf348U,9703
|
|
11
|
+
pydantic_ai/agent.py,sha256=qBUE9uPgomSj09sHe6kQYxjXGMVsRs3nkPn5neRVlYg,69285
|
|
12
|
+
pydantic_ai/exceptions.py,sha256=gvbFsFkAzSXOo_d1nfjy09kDHUGv1j5q70Uk-wKYGi8,3167
|
|
13
|
+
pydantic_ai/format_as_xml.py,sha256=QE7eMlg5-YUMw1_2kcI3h0uKYPZZyGkgXFDtfZTMeeI,4480
|
|
14
|
+
pydantic_ai/mcp.py,sha256=2Unphn9azcQVtf4_wXsqypkrWaLUoKoUCK9WAp-OOsI,8108
|
|
15
|
+
pydantic_ai/messages.py,sha256=IQS6vabH72yhvTQY1ciQxRqJDHpGMMR0MKiO5xcJ0SE,27112
|
|
16
|
+
pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
pydantic_ai/result.py,sha256=LXKxRzy_rGMkdZ8xJ7yknPP3wGZtGNeZl-gh5opXbaQ,22542
|
|
18
|
+
pydantic_ai/settings.py,sha256=q__Hordc4dypesNxpy_cBT5rFdSiEY-rQt9G6zfyFaM,3101
|
|
19
|
+
pydantic_ai/tools.py,sha256=5BGwmZYx4Aer6REoGPbk4CbrPJ3Uutass1RdcOhogKk,15744
|
|
20
|
+
pydantic_ai/usage.py,sha256=9sqoIv_RVVUhKXQScTDqUJc074gifsuSzc9_NOt7C3g,5394
|
|
21
|
+
pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
pydantic_ai/common_tools/duckduckgo.py,sha256=Iw8Dl2YQ28S483mzfa8CXs-dc-ujS8un085R2O6oOEw,2241
|
|
23
|
+
pydantic_ai/common_tools/tavily.py,sha256=h8deBDrpG-8BGzydM_zXs7z1ASrhdVvUxL4-CAbncBo,2589
|
|
24
|
+
pydantic_ai/models/__init__.py,sha256=kDGQmOsOyHNgp1VHdDRyfQeg-JSuDdDKbrB6OVol-Ek,18270
|
|
25
|
+
pydantic_ai/models/anthropic.py,sha256=fUX_iID4s3FRzm451xOlFXTg7_eg-GR1PM0ZrR-B_8A,21732
|
|
26
|
+
pydantic_ai/models/bedrock.py,sha256=EmnBwxx_FzKMM8xAed_1aTmDwASWo26GA6Q8Z92waVc,20706
|
|
27
|
+
pydantic_ai/models/cohere.py,sha256=ePOWml56gQcGgV1__pxbhMts0ZLDOfxrpiqsC4WutQM,11338
|
|
28
|
+
pydantic_ai/models/fallback.py,sha256=y0bYXM3DfzJNAsyyMzclt33lzZazL-5_hwdgc33gfuM,4876
|
|
29
|
+
pydantic_ai/models/function.py,sha256=HUSgPB3mKVfYI0OSJJJJRiQN-yeewjYIbrtrPfsvlgI,11365
|
|
30
|
+
pydantic_ai/models/gemini.py,sha256=hcIB3TU6jnHHAYJDKobc3VDPNhr0jhRv_73-HmI-khQ,33304
|
|
31
|
+
pydantic_ai/models/groq.py,sha256=IbO2jMNC5yiYRuUJf-j4blpPvoQDromQNBKJyPjs2A4,16518
|
|
32
|
+
pydantic_ai/models/instrumented.py,sha256=ErFRDiOehOYlJBp4mSNj7yEIMtMqjlGcamEAwgW_Il4,11163
|
|
33
|
+
pydantic_ai/models/mistral.py,sha256=8pdG9oRW6Dx7H5P88ZgiRIZbkGkPUfEateuyvzoULOE,27439
|
|
34
|
+
pydantic_ai/models/openai.py,sha256=7i8KRbuiqAdt-UUILPuVlNJh1DiHriFlhu1azO1l_XA,20163
|
|
35
|
+
pydantic_ai/models/test.py,sha256=qQ8ZIaVRdbJv-tKGu6lrdakVAhOsTlyf68TFWyGwOWE,16861
|
|
36
|
+
pydantic_ai/models/wrapper.py,sha256=ff6JPTuIv9C_6Zo4kyYIO7Cn0VI1uSICz1v1aKUyeOc,1506
|
|
37
|
+
pydantic_ai/providers/__init__.py,sha256=lsJn3BStrPMMAFWEkCYPyfMj3fEVfaeS2xllnvE6Gdk,2489
|
|
38
|
+
pydantic_ai/providers/anthropic.py,sha256=0WzWEDseBaJ5eyEatvnDXBtDZKA9-od4BuPZn9NoTPw,2812
|
|
39
|
+
pydantic_ai/providers/azure.py,sha256=1mJalM4W8Do4g6ZXAZ2u6EUHBTrDR_sAuAePLnI25CA,4213
|
|
40
|
+
pydantic_ai/providers/bedrock.py,sha256=BV1Zi4asU4Bmcv4t7VRIy2U44Tk_Jrf26x8_mPJiYHQ,3216
|
|
41
|
+
pydantic_ai/providers/cohere.py,sha256=WOFZCllgVbWciF4nNkG3pCqw4poy57VEGyux2mVntbQ,2667
|
|
42
|
+
pydantic_ai/providers/deepseek.py,sha256=_5JPzDGWsyVyTBX-yYYdy5aZwUOWNCVgoWI-UoBamms,2193
|
|
43
|
+
pydantic_ai/providers/google_gla.py,sha256=MJM7aRZRdP4kFlNg0ZHgC95O0wH02OQgbNiDQeK9fZo,1600
|
|
44
|
+
pydantic_ai/providers/google_vertex.py,sha256=WAwPxKTARVzs8DFs2veEUOJSur0krDOo9-JWRHvfHew,9135
|
|
45
|
+
pydantic_ai/providers/groq.py,sha256=DoY6qkfhuemuKB5JXhUkqG-3t1HQkxwSXoE_kHQIAK0,2788
|
|
46
|
+
pydantic_ai/providers/mistral.py,sha256=fcR1uSwORo0jtevX7-wOjvcfT8ojMAaKY81uN5uYymM,2661
|
|
47
|
+
pydantic_ai/providers/openai.py,sha256=ePF-QWwLkGkSE5w245gTTDVR3VoTIUqFoIhQ0TAoUiA,2866
|
|
48
|
+
pydantic_ai_slim-0.0.47.dist-info/METADATA,sha256=Df32-4l7OYVBjxRByOvG3XjV0XWEMbozcZDaIrMzNAs,3555
|
|
49
|
+
pydantic_ai_slim-0.0.47.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
+
pydantic_ai_slim-0.0.47.dist-info/entry_points.txt,sha256=KxQSmlMS8GMTkwTsl4_q9a5nJvBjj3HWeXx688wLrKg,45
|
|
51
|
+
pydantic_ai_slim-0.0.47.dist-info/RECORD,,
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
pydantic_ai/__init__.py,sha256=5or1fE25gmemJGCznkFHC4VMeNT7vTLU6BiGxkmSA2A,959
|
|
2
|
-
pydantic_ai/_agent_graph.py,sha256=aZHgDDEL0kYl7G0LAAPrrf4UufqB_FUN8s4PlnVqA-o,32557
|
|
3
|
-
pydantic_ai/_cli.py,sha256=YrNi4vodEH-o5MlfG4CemdkdJl5kQx56nyCMp2QqRMw,8610
|
|
4
|
-
pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
|
|
5
|
-
pydantic_ai/_parts_manager.py,sha256=HIi6eth7z2g0tOn6iQYc633xMqy4d_xZ8vwka8J8150,12016
|
|
6
|
-
pydantic_ai/_pydantic.py,sha256=12hX5hON88meO1QxbWrEPXSvr6RTNgr6ubKY6KRwab4,8890
|
|
7
|
-
pydantic_ai/_result.py,sha256=SlxqR-AKWzDoc7cRRN2jmIZ7pCv3DKzaP-dnZW-e7us,10117
|
|
8
|
-
pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
|
|
9
|
-
pydantic_ai/_utils.py,sha256=s_cVIKiJk1wkLhXDRxxWZGd1QgXFey6HYJ0OGU8Kezs,9657
|
|
10
|
-
pydantic_ai/agent.py,sha256=QF3MQWKjglbtGVWLHSAizN0gDrC1d0B09BKNF03dSow,69491
|
|
11
|
-
pydantic_ai/exceptions.py,sha256=gvbFsFkAzSXOo_d1nfjy09kDHUGv1j5q70Uk-wKYGi8,3167
|
|
12
|
-
pydantic_ai/format_as_xml.py,sha256=QE7eMlg5-YUMw1_2kcI3h0uKYPZZyGkgXFDtfZTMeeI,4480
|
|
13
|
-
pydantic_ai/mcp.py,sha256=d6odfllUQ94ROnkZ1MeEMg5L23rKhOnEs_JVWkWAC-Y,7068
|
|
14
|
-
pydantic_ai/messages.py,sha256=KQXG8BLnQtZzgU4ykOJT6LIs03Vem2eb0VqMyXmFt7I,27067
|
|
15
|
-
pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
pydantic_ai/result.py,sha256=LXKxRzy_rGMkdZ8xJ7yknPP3wGZtGNeZl-gh5opXbaQ,22542
|
|
17
|
-
pydantic_ai/settings.py,sha256=q__Hordc4dypesNxpy_cBT5rFdSiEY-rQt9G6zfyFaM,3101
|
|
18
|
-
pydantic_ai/tools.py,sha256=ImFy3V4fw_tvh5h8FZFpCrgnzlmoHCo-Y_9EjMwOSWc,14393
|
|
19
|
-
pydantic_ai/usage.py,sha256=9sqoIv_RVVUhKXQScTDqUJc074gifsuSzc9_NOt7C3g,5394
|
|
20
|
-
pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
pydantic_ai/common_tools/duckduckgo.py,sha256=Iw8Dl2YQ28S483mzfa8CXs-dc-ujS8un085R2O6oOEw,2241
|
|
22
|
-
pydantic_ai/common_tools/tavily.py,sha256=h8deBDrpG-8BGzydM_zXs7z1ASrhdVvUxL4-CAbncBo,2589
|
|
23
|
-
pydantic_ai/models/__init__.py,sha256=HSjLtlnhtYGXHql46WK_V01lmc9PO7X66Dkf-plCafo,16671
|
|
24
|
-
pydantic_ai/models/anthropic.py,sha256=O7gHDqM6V4zQLwjg5xyB6zDCAUXGaXcWtyXjV6vHLu0,21640
|
|
25
|
-
pydantic_ai/models/bedrock.py,sha256=Fh5kNnH0H_OyKOUzSlVJYhc0K_wz3mrOH5Y4-oS6lmU,20532
|
|
26
|
-
pydantic_ai/models/cohere.py,sha256=ogu97Strxsp6wzlNqT22SfgvltTeP1lLC5S86d037Ic,11249
|
|
27
|
-
pydantic_ai/models/fallback.py,sha256=y0bYXM3DfzJNAsyyMzclt33lzZazL-5_hwdgc33gfuM,4876
|
|
28
|
-
pydantic_ai/models/function.py,sha256=HUSgPB3mKVfYI0OSJJJJRiQN-yeewjYIbrtrPfsvlgI,11365
|
|
29
|
-
pydantic_ai/models/gemini.py,sha256=ox9WoqWgZ7Q-xTRJBv9loTy9P49uAwvJwCPoiqljhPM,33215
|
|
30
|
-
pydantic_ai/models/groq.py,sha256=H-7Eu61EOxKoIPjI6wvofrA2PxSQxhd-BJOHT1p7KiA,15862
|
|
31
|
-
pydantic_ai/models/instrumented.py,sha256=FMEcQ8RnASD7bR8Ol5a16W6yTq1P1F8FojgBIUXdt3w,10962
|
|
32
|
-
pydantic_ai/models/mistral.py,sha256=0bA5vRGXOJulY7r-8jUT8gicAuTSg_sSN0riDP_j9oY,27243
|
|
33
|
-
pydantic_ai/models/openai.py,sha256=W_J_pnoJLSYKTfs_4G9SpFzLPdD2trIDFqtNVSmJ1D4,20060
|
|
34
|
-
pydantic_ai/models/test.py,sha256=qQ8ZIaVRdbJv-tKGu6lrdakVAhOsTlyf68TFWyGwOWE,16861
|
|
35
|
-
pydantic_ai/models/wrapper.py,sha256=ff6JPTuIv9C_6Zo4kyYIO7Cn0VI1uSICz1v1aKUyeOc,1506
|
|
36
|
-
pydantic_ai/providers/__init__.py,sha256=lsJn3BStrPMMAFWEkCYPyfMj3fEVfaeS2xllnvE6Gdk,2489
|
|
37
|
-
pydantic_ai/providers/anthropic.py,sha256=RfYpsKMZxUqE1_PbfJi3JCVmYelN-cwtC5vmw-PmIIA,2750
|
|
38
|
-
pydantic_ai/providers/azure.py,sha256=M1QYzoLGBg23V8eXo4e7xSNJgoDGvLeMFgiYD-3iTNc,4197
|
|
39
|
-
pydantic_ai/providers/bedrock.py,sha256=lSfK0mDqrmWLxzDKvtiY_nN2J3S_GGSPMRLJYeyvLrQ,2544
|
|
40
|
-
pydantic_ai/providers/cohere.py,sha256=qk5fu0ao1EjLVgvDOGWjpGw-rE5iEggeyEgm6tou9O4,2646
|
|
41
|
-
pydantic_ai/providers/deepseek.py,sha256=q_-ybngI2IvRl_sKlkARKuKwYCNC2lElIT4eo43UCf8,2136
|
|
42
|
-
pydantic_ai/providers/google_gla.py,sha256=vrzzf8BkGLfJKy4GO3Ywswhf-b9OPr54O6LvBKVSwko,1579
|
|
43
|
-
pydantic_ai/providers/google_vertex.py,sha256=TrMUzNwEJpFdE9lMuTwiQzGA-Qvf8TCOBrztgwk8u0c,9111
|
|
44
|
-
pydantic_ai/providers/groq.py,sha256=BM0hNwSmf4gTuQoH2iiT96HApdqskEafeK_Yq9V_L6c,2769
|
|
45
|
-
pydantic_ai/providers/mistral.py,sha256=oap2wjzc20byC8W0O6qaRUkMo7fFpibwhRvqEXAFI3g,2601
|
|
46
|
-
pydantic_ai/providers/openai.py,sha256=gKbq12z4rzwDmTvWnpMULcyP5bCSagTQKApK9ukROOA,2811
|
|
47
|
-
pydantic_ai_slim-0.0.45.dist-info/METADATA,sha256=TuKSPs8TaUefJ9drnwrQqZ2CmDqXkK1SXbYJ_iwYX38,3436
|
|
48
|
-
pydantic_ai_slim-0.0.45.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
49
|
-
pydantic_ai_slim-0.0.45.dist-info/entry_points.txt,sha256=KxQSmlMS8GMTkwTsl4_q9a5nJvBjj3HWeXx688wLrKg,45
|
|
50
|
-
pydantic_ai_slim-0.0.45.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|