pydantic-ai-slim 0.2.3__py3-none-any.whl → 0.2.5__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/_agent_graph.py +8 -6
- pydantic_ai/_cli.py +32 -24
- pydantic_ai/_output.py +7 -7
- pydantic_ai/_parts_manager.py +1 -1
- pydantic_ai/agent.py +19 -13
- pydantic_ai/direct.py +2 -0
- pydantic_ai/exceptions.py +2 -2
- pydantic_ai/messages.py +29 -11
- pydantic_ai/models/__init__.py +42 -5
- pydantic_ai/models/anthropic.py +17 -12
- pydantic_ai/models/bedrock.py +10 -9
- pydantic_ai/models/cohere.py +4 -4
- pydantic_ai/models/fallback.py +2 -2
- pydantic_ai/models/function.py +1 -1
- pydantic_ai/models/gemini.py +26 -22
- pydantic_ai/models/google.py +570 -0
- pydantic_ai/models/groq.py +12 -6
- pydantic_ai/models/instrumented.py +43 -33
- pydantic_ai/models/mistral.py +15 -9
- pydantic_ai/models/openai.py +45 -7
- pydantic_ai/models/test.py +1 -1
- pydantic_ai/models/wrapper.py +1 -1
- pydantic_ai/providers/__init__.py +4 -0
- pydantic_ai/providers/google.py +143 -0
- pydantic_ai/providers/google_vertex.py +3 -3
- pydantic_ai/providers/openrouter.py +69 -0
- pydantic_ai/result.py +13 -21
- pydantic_ai/tools.py +2 -2
- pydantic_ai/usage.py +1 -1
- {pydantic_ai_slim-0.2.3.dist-info → pydantic_ai_slim-0.2.5.dist-info}/METADATA +7 -5
- pydantic_ai_slim-0.2.5.dist-info/RECORD +59 -0
- pydantic_ai_slim-0.2.5.dist-info/licenses/LICENSE +21 -0
- pydantic_ai_slim-0.2.3.dist-info/RECORD +0 -55
- {pydantic_ai_slim-0.2.3.dist-info → pydantic_ai_slim-0.2.5.dist-info}/WHEEL +0 -0
- {pydantic_ai_slim-0.2.3.dist-info → pydantic_ai_slim-0.2.5.dist-info}/entry_points.txt +0 -0
pydantic_ai/result.py
CHANGED
|
@@ -114,7 +114,7 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
|
|
|
114
114
|
async for response in self.stream_responses(debounce_by=debounce_by):
|
|
115
115
|
if self._final_result_event is not None:
|
|
116
116
|
yield await self._validate_response(response, self._final_result_event.tool_name, allow_partial=True)
|
|
117
|
-
if self._final_result_event is not None:
|
|
117
|
+
if self._final_result_event is not None: # pragma: no branch
|
|
118
118
|
yield await self._validate_response(
|
|
119
119
|
self._raw_stream_response.get(), self._final_result_event.tool_name, allow_partial=False
|
|
120
120
|
)
|
|
@@ -124,7 +124,7 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
|
|
|
124
124
|
# if the message currently has any parts with content, yield before streaming
|
|
125
125
|
msg = self._raw_stream_response.get()
|
|
126
126
|
for part in msg.parts:
|
|
127
|
-
if part.has_content():
|
|
127
|
+
if part.has_content(): # pragma: no cover
|
|
128
128
|
yield msg
|
|
129
129
|
break
|
|
130
130
|
|
|
@@ -147,7 +147,7 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
|
|
|
147
147
|
if self._output_schema is not None and output_tool_name is not None:
|
|
148
148
|
match = self._output_schema.find_named_tool(message.parts, output_tool_name)
|
|
149
149
|
if match is None:
|
|
150
|
-
raise exceptions.UnexpectedModelBehavior(
|
|
150
|
+
raise exceptions.UnexpectedModelBehavior( # pragma: no cover
|
|
151
151
|
f'Invalid response, unable to find tool: {self._output_schema.tool_names()}'
|
|
152
152
|
)
|
|
153
153
|
|
|
@@ -188,11 +188,11 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
|
|
|
188
188
|
new_part = e.part
|
|
189
189
|
if isinstance(new_part, _messages.ToolCallPart):
|
|
190
190
|
if output_schema:
|
|
191
|
-
for call, _ in output_schema.find_tool([new_part]):
|
|
191
|
+
for call, _ in output_schema.find_tool([new_part]): # pragma: no branch
|
|
192
192
|
return _messages.FinalResultEvent(
|
|
193
193
|
tool_name=call.tool_name, tool_call_id=call.tool_call_id
|
|
194
194
|
)
|
|
195
|
-
elif allow_text_output:
|
|
195
|
+
elif allow_text_output: # pragma: no branch
|
|
196
196
|
assert_type(e, _messages.PartStartEvent)
|
|
197
197
|
return _messages.FinalResultEvent(tool_name=None, tool_call_id=None)
|
|
198
198
|
|
|
@@ -461,7 +461,7 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
|
|
|
461
461
|
if self._output_schema is not None and self._output_tool_name is not None:
|
|
462
462
|
match = self._output_schema.find_named_tool(message.parts, self._output_tool_name)
|
|
463
463
|
if match is None:
|
|
464
|
-
raise exceptions.UnexpectedModelBehavior(
|
|
464
|
+
raise exceptions.UnexpectedModelBehavior( # pragma: no cover
|
|
465
465
|
f'Invalid response, unable to find tool: {self._output_schema.tool_names()}'
|
|
466
466
|
)
|
|
467
467
|
|
|
@@ -469,26 +469,18 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
|
|
|
469
469
|
result_data = output_tool.validate(call, allow_partial=allow_partial, wrap_validation_errors=False)
|
|
470
470
|
|
|
471
471
|
for validator in self._output_validators:
|
|
472
|
-
result_data = await validator.validate(result_data, call, self._run_ctx)
|
|
472
|
+
result_data = await validator.validate(result_data, call, self._run_ctx) # pragma: no cover
|
|
473
473
|
return result_data
|
|
474
474
|
else:
|
|
475
475
|
text = '\n\n'.join(x.content for x in message.parts if isinstance(x, _messages.TextPart))
|
|
476
476
|
for validator in self._output_validators:
|
|
477
|
-
text = await validator.validate(
|
|
478
|
-
text,
|
|
479
|
-
None,
|
|
480
|
-
self._run_ctx,
|
|
481
|
-
)
|
|
477
|
+
text = await validator.validate(text, None, self._run_ctx) # pragma: no cover
|
|
482
478
|
# Since there is no output tool, we can assume that str is compatible with OutputDataT
|
|
483
479
|
return cast(OutputDataT, text)
|
|
484
480
|
|
|
485
481
|
async def _validate_text_output(self, text: str) -> str:
|
|
486
482
|
for validator in self._output_validators:
|
|
487
|
-
text = await validator.validate(
|
|
488
|
-
text,
|
|
489
|
-
None,
|
|
490
|
-
self._run_ctx,
|
|
491
|
-
)
|
|
483
|
+
text = await validator.validate(text, None, self._run_ctx) # pragma: no cover
|
|
492
484
|
return text
|
|
493
485
|
|
|
494
486
|
async def _marked_completed(self, message: _messages.ModelResponse) -> None:
|
|
@@ -526,8 +518,8 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
|
|
|
526
518
|
and isinstance(event.part, _messages.TextPart)
|
|
527
519
|
and event.part.content
|
|
528
520
|
):
|
|
529
|
-
yield event.part.content, event.index
|
|
530
|
-
elif (
|
|
521
|
+
yield event.part.content, event.index # pragma: no cover
|
|
522
|
+
elif ( # pragma: no branch
|
|
531
523
|
isinstance(event, _messages.PartDeltaEvent)
|
|
532
524
|
and isinstance(event.delta, _messages.TextPartDelta)
|
|
533
525
|
and event.delta.content_delta
|
|
@@ -576,12 +568,12 @@ def _get_usage_checking_stream_response(
|
|
|
576
568
|
) -> AsyncIterable[_messages.ModelResponseStreamEvent]:
|
|
577
569
|
if limits is not None and limits.has_token_limits():
|
|
578
570
|
|
|
579
|
-
async def _usage_checking_iterator():
|
|
571
|
+
async def _usage_checking_iterator(): # pragma: no cover
|
|
580
572
|
async for item in stream_response:
|
|
581
573
|
limits.check_tokens(get_usage())
|
|
582
574
|
yield item
|
|
583
575
|
|
|
584
|
-
return _usage_checking_iterator()
|
|
576
|
+
return _usage_checking_iterator() # pragma: no cover
|
|
585
577
|
else:
|
|
586
578
|
return stream_response
|
|
587
579
|
|
pydantic_ai/tools.py
CHANGED
|
@@ -68,7 +68,7 @@ class RunContext(Generic[AgentDepsT]):
|
|
|
68
68
|
kwargs = {}
|
|
69
69
|
if retry is not None:
|
|
70
70
|
kwargs['retry'] = retry
|
|
71
|
-
if tool_name is not _utils.UNSET:
|
|
71
|
+
if tool_name is not _utils.UNSET: # pragma: no branch
|
|
72
72
|
kwargs['tool_name'] = tool_name
|
|
73
73
|
return dataclasses.replace(self, **kwargs)
|
|
74
74
|
|
|
@@ -374,7 +374,7 @@ class Tool(Generic[AgentDepsT]):
|
|
|
374
374
|
)
|
|
375
375
|
args = [ctx] if self.takes_ctx else []
|
|
376
376
|
for positional_field in self._positional_fields:
|
|
377
|
-
args.append(args_dict.pop(positional_field))
|
|
377
|
+
args.append(args_dict.pop(positional_field)) # pragma: no cover
|
|
378
378
|
if self._var_positional_field:
|
|
379
379
|
args.extend(args_dict.pop(self._var_positional_field))
|
|
380
380
|
|
pydantic_ai/usage.py
CHANGED
|
@@ -61,7 +61,7 @@ class Usage:
|
|
|
61
61
|
'gen_ai.usage.output_tokens': self.response_tokens,
|
|
62
62
|
}
|
|
63
63
|
for key, value in (self.details or {}).items():
|
|
64
|
-
result[f'gen_ai.usage.details.{key}'] = value
|
|
64
|
+
result[f'gen_ai.usage.details.{key}'] = value # pragma: no cover
|
|
65
65
|
return {k: v for k, v in result.items() if v}
|
|
66
66
|
|
|
67
67
|
def has_values(self) -> bool:
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai-slim
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
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
|
|
7
|
+
License-File: LICENSE
|
|
7
8
|
Classifier: Development Status :: 4 - Beta
|
|
8
9
|
Classifier: Environment :: Console
|
|
9
10
|
Classifier: Environment :: MacOS X
|
|
@@ -26,15 +27,14 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
26
27
|
Requires-Python: >=3.9
|
|
27
28
|
Requires-Dist: eval-type-backport>=0.2.0
|
|
28
29
|
Requires-Dist: exceptiongroup; python_version < '3.11'
|
|
29
|
-
Requires-Dist: fasta2a==0.2.3
|
|
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.
|
|
33
|
+
Requires-Dist: pydantic-graph==0.2.5
|
|
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.
|
|
37
|
+
Requires-Dist: fasta2a==0.2.5; extra == 'a2a'
|
|
38
38
|
Provides-Extra: anthropic
|
|
39
39
|
Requires-Dist: anthropic>=0.49.0; extra == 'anthropic'
|
|
40
40
|
Provides-Extra: bedrock
|
|
@@ -48,7 +48,9 @@ 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.
|
|
51
|
+
Requires-Dist: pydantic-evals==0.2.5; extra == 'evals'
|
|
52
|
+
Provides-Extra: google
|
|
53
|
+
Requires-Dist: google-genai>=1.15.0; extra == 'google'
|
|
52
54
|
Provides-Extra: groq
|
|
53
55
|
Requires-Dist: groq>=0.15.0; extra == 'groq'
|
|
54
56
|
Provides-Extra: logfire
|
|
@@ -0,0 +1,59 @@
|
|
|
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=5iqJGu8goUErFRwg9Ih2KkIuMsOU1srZx5V25fDHG54,35334
|
|
5
|
+
pydantic_ai/_cli.py,sha256=TfFdDUQ86bLfdv0epo7Dy4awiVxijHCvGHVnqfQYCz4,13028
|
|
6
|
+
pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
|
|
7
|
+
pydantic_ai/_output.py,sha256=bN2gnIhtVW8-rIu6BUlXFqLbbDauipEdNHzaS5vMNv0,11357
|
|
8
|
+
pydantic_ai/_parts_manager.py,sha256=mG6uh2hqeMrkxbaBNbHkQF91rLXJZre4WejE7K3kFs8,12210
|
|
9
|
+
pydantic_ai/_pydantic.py,sha256=1EO1tv-ULj3l_L1qMcC7gIOKTL2e2a-xTbUD_kqKiOg,8921
|
|
10
|
+
pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
|
|
11
|
+
pydantic_ai/_utils.py,sha256=Vlww1AMQMTvFfGRlFKAyvl4VrE24Lk1MH28EwVTWy8c,10122
|
|
12
|
+
pydantic_ai/agent.py,sha256=-rcJGJMLcKrbgWmLR3jcyJFHDq39t3l5yRyJrWYPZUs,94123
|
|
13
|
+
pydantic_ai/direct.py,sha256=nGIPlp2edVEc3aixcRyT6mqGASWgTZbv3F9aXNwzIKA,8441
|
|
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=UsiBsg2ZuFh0OTMc-tvvxzfyW9YiPSIe6h8_KGloxqI,11312
|
|
18
|
+
pydantic_ai/messages.py,sha256=HTDWBpmEdhD1gN_mJgyugon6YuhvxHXDp-Cny9owGao,31191
|
|
19
|
+
pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
pydantic_ai/result.py,sha256=YgaF1c_LS2F2YcLNHTS-8KxqwnrBj7s3Z9s8WIB_oNA,27747
|
|
21
|
+
pydantic_ai/settings.py,sha256=U2XzZ9y1fIi_L6yCGTugZRxfk7_01rk5GKSgFqySHL4,3520
|
|
22
|
+
pydantic_ai/tools.py,sha256=17aOFiZ4LBP6TyNEHsswVDZXb6D_yfhSFiTm8vwjqAM,16964
|
|
23
|
+
pydantic_ai/usage.py,sha256=NoK2JXSFU6dFR7sd2vX7D16l8A2-BtOdCvJkhcBVbrs,5447
|
|
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=ydzV7W363CI0Uz3yfJeOc8u5VGIhRF-31rV2QCXvm18,22285
|
|
28
|
+
pydantic_ai/models/_json_schema.py,sha256=RD0cIU9mOGIdRuhkjLtPdlwfmF8XDOP1kLevIOLudaE,6540
|
|
29
|
+
pydantic_ai/models/anthropic.py,sha256=Q1gem9MieSRIbO6yxs7Fe29K7OfkXKC5IlMBwvC8epE,21360
|
|
30
|
+
pydantic_ai/models/bedrock.py,sha256=JCeHy0kRXJJEtZqBppdWsMZtt6aVhtvMih4CO7RT354,26368
|
|
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=7KDOOBFR9pbGGGokMevoW34SdOng1_Cnscs5yBgwMSg,37429
|
|
35
|
+
pydantic_ai/models/google.py,sha256=j378X5YdT9HvQCHZjIHNU1sKW-o9Jdogri0y_YdjWOQ,24329
|
|
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=nRFpY_QDAyH-FLYCqA9ZURPvL5r6uzMy7BJoMYzXKxk,29344
|
|
39
|
+
pydantic_ai/models/openai.py,sha256=hZTPmIN9DEBwTixVdkn2s2le2T9PwCXJPWf4ySh2C98,49781
|
|
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.5.dist-info/METADATA,sha256=fynyAmGF5KX49dbbeBK_eUwB5CQ1lrR0e2mV_408vhA,3846
|
|
56
|
+
pydantic_ai_slim-0.2.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
57
|
+
pydantic_ai_slim-0.2.5.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
|
|
58
|
+
pydantic_ai_slim-0.2.5.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
|
|
59
|
+
pydantic_ai_slim-0.2.5.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) Pydantic Services Inc. 2024 to present
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,55 +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=28JXHfSU78tBWZJr3ZES6gWB5wZoevyk8rMlbHDHfFc,35145
|
|
5
|
-
pydantic_ai/_cli.py,sha256=Y-oKnWFmCzeKhDQjDbv6Lx77kbn6dHrccSObhsTWPr8,12520
|
|
6
|
-
pydantic_ai/_griffe.py,sha256=Sf_DisE9k2TA0VFeVIK2nf1oOct5MygW86PBCACJkFA,5244
|
|
7
|
-
pydantic_ai/_output.py,sha256=w_kBc5Lx5AmI0APbohxxYgpFd5VAwh6K0IjP7QIOu9U,11209
|
|
8
|
-
pydantic_ai/_parts_manager.py,sha256=kG4xynxXHAr9uGFwCVqqhsGCac5a_UjFdRBucoTCXEE,12189
|
|
9
|
-
pydantic_ai/_pydantic.py,sha256=1EO1tv-ULj3l_L1qMcC7gIOKTL2e2a-xTbUD_kqKiOg,8921
|
|
10
|
-
pydantic_ai/_system_prompt.py,sha256=602c2jyle2R_SesOrITBDETZqsLk4BZ8Cbo8yEhmx04,1120
|
|
11
|
-
pydantic_ai/_utils.py,sha256=Vlww1AMQMTvFfGRlFKAyvl4VrE24Lk1MH28EwVTWy8c,10122
|
|
12
|
-
pydantic_ai/agent.py,sha256=C645hycMhltv5WkmGKwpaqN5E7312mb6vDXtyP1G7JU,93692
|
|
13
|
-
pydantic_ai/direct.py,sha256=x2uooElhReT_kCk2uEgQDPN5--x1VTZ4gqC7n7DMxoA,8389
|
|
14
|
-
pydantic_ai/exceptions.py,sha256=1ujJeB3jDDQ-pH5ydBYrgStvR35-GlEW0bYGTGEr4ME,3127
|
|
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=UsiBsg2ZuFh0OTMc-tvvxzfyW9YiPSIe6h8_KGloxqI,11312
|
|
18
|
-
pydantic_ai/messages.py,sha256=ruZW63ZJcr9VGewM4G4dkTPaL36IvNAfdGiH9FZ5q6g,30256
|
|
19
|
-
pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
-
pydantic_ai/result.py,sha256=DgoUd0LqNd9DWPab6iwculKYvZ5JZHuGvToj0kkibvs,27625
|
|
21
|
-
pydantic_ai/settings.py,sha256=U2XzZ9y1fIi_L6yCGTugZRxfk7_01rk5GKSgFqySHL4,3520
|
|
22
|
-
pydantic_ai/tools.py,sha256=Tq-Ba5_7Cx3N3iBExFy06JkelZAz_mOi-K8zLXgCBDU,16923
|
|
23
|
-
pydantic_ai/usage.py,sha256=IRWuLZdEtxldVJXdJcVOuXQMAZ3wiRFYltMDmDclsoU,5427
|
|
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=lg4OmJrNMksHgtZcQOPscB_4Nos9yWQlrcvL1mY9jyY,20016
|
|
28
|
-
pydantic_ai/models/_json_schema.py,sha256=RD0cIU9mOGIdRuhkjLtPdlwfmF8XDOP1kLevIOLudaE,6540
|
|
29
|
-
pydantic_ai/models/anthropic.py,sha256=0w2-XbyCTJquq8tcQzQdSiYMW3IOaWUgUiMKa0ycjhI,20952
|
|
30
|
-
pydantic_ai/models/bedrock.py,sha256=BZcgFzhM1MzQLgzkDrtIJXTZzmcfCruDlGPOi-f1vfA,26098
|
|
31
|
-
pydantic_ai/models/cohere.py,sha256=QXR3y8qTXkmTMVa_f0p-B0aUlqX_LEYt5x73SVzbbUI,11766
|
|
32
|
-
pydantic_ai/models/fallback.py,sha256=AFLfpLIne56O3sjhMQANL3-RfTBli10g42D6fkpjE-c,4940
|
|
33
|
-
pydantic_ai/models/function.py,sha256=sVmTymKCeZcmVSDDL2nzAG9aW1UP46i1EqH59cyB2pA,11437
|
|
34
|
-
pydantic_ai/models/gemini.py,sha256=NzgRuittq3kin7jC0IW0ElO8er52a4RxILdC_kts3_8,36906
|
|
35
|
-
pydantic_ai/models/groq.py,sha256=vEWFyg_2GhEokoBpmQ8AHoSLoe5KsBduwhfC4qumAHg,17294
|
|
36
|
-
pydantic_ai/models/instrumented.py,sha256=3brXPUATuOpjtkttPF2V7GCqyjh8fccRtw7hAVPKBe8,11861
|
|
37
|
-
pydantic_ai/models/mistral.py,sha256=ElYUZC4gtgoLgcaFtqXJ5XV131VWzwmn9PCfOknj93g,29061
|
|
38
|
-
pydantic_ai/models/openai.py,sha256=06ONhqMX96ZIIrMutZPdOiqnolUYArTAByLHzlqeS3E,48350
|
|
39
|
-
pydantic_ai/models/test.py,sha256=cupj6jiDg7DDJxEFjauDm5DgVjRoadRayplPQsGbwV0,16989
|
|
40
|
-
pydantic_ai/models/wrapper.py,sha256=_NUXpLFkJw90Ngq-hSS23vfEzWTPNCiJdeA5HTfLlyY,1670
|
|
41
|
-
pydantic_ai/providers/__init__.py,sha256=5NQ-LxVNGYXXcq1QaWua2Y8_QuA2GfiV852dtNRBMps,2572
|
|
42
|
-
pydantic_ai/providers/anthropic.py,sha256=0WzWEDseBaJ5eyEatvnDXBtDZKA9-od4BuPZn9NoTPw,2812
|
|
43
|
-
pydantic_ai/providers/azure.py,sha256=6liJWEgz5uHN1xkDG3J7aiMjL_twWuW7h51-RC3cLvo,4205
|
|
44
|
-
pydantic_ai/providers/bedrock.py,sha256=fHw3wF0qq-y0BmWfCxAX9ezQGAgeSkOtYyIS7-nT7bo,3454
|
|
45
|
-
pydantic_ai/providers/cohere.py,sha256=WOFZCllgVbWciF4nNkG3pCqw4poy57VEGyux2mVntbQ,2667
|
|
46
|
-
pydantic_ai/providers/deepseek.py,sha256=_5JPzDGWsyVyTBX-yYYdy5aZwUOWNCVgoWI-UoBamms,2193
|
|
47
|
-
pydantic_ai/providers/google_gla.py,sha256=MJM7aRZRdP4kFlNg0ZHgC95O0wH02OQgbNiDQeK9fZo,1600
|
|
48
|
-
pydantic_ai/providers/google_vertex.py,sha256=WAwPxKTARVzs8DFs2veEUOJSur0krDOo9-JWRHvfHew,9135
|
|
49
|
-
pydantic_ai/providers/groq.py,sha256=DoY6qkfhuemuKB5JXhUkqG-3t1HQkxwSXoE_kHQIAK0,2788
|
|
50
|
-
pydantic_ai/providers/mistral.py,sha256=FAS7yKn26yWy7LTmEiBSvqe0HpTXi8_nIf824vE6RFQ,2892
|
|
51
|
-
pydantic_ai/providers/openai.py,sha256=ePF-QWwLkGkSE5w245gTTDVR3VoTIUqFoIhQ0TAoUiA,2866
|
|
52
|
-
pydantic_ai_slim-0.2.3.dist-info/METADATA,sha256=MB6ePxAOWkEBJQceXGJqkmsIUtPM6EzmwREcESHHqCk,3776
|
|
53
|
-
pydantic_ai_slim-0.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
54
|
-
pydantic_ai_slim-0.2.3.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
|
|
55
|
-
pydantic_ai_slim-0.2.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|