pydantic-ai-slim 0.4.2__py3-none-any.whl → 0.4.3__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/result.py CHANGED
@@ -19,6 +19,7 @@ from ._output import (
19
19
  PlainTextOutputSchema,
20
20
  TextOutputSchema,
21
21
  ToolOutputSchema,
22
+ TraceContext,
22
23
  )
23
24
  from ._run_context import AgentDepsT, RunContext
24
25
  from .messages import AgentStreamEvent, FinalResultEvent
@@ -46,6 +47,7 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
46
47
  _output_schema: OutputSchema[OutputDataT]
47
48
  _output_validators: list[OutputValidator[AgentDepsT, OutputDataT]]
48
49
  _run_ctx: RunContext[AgentDepsT]
50
+ _trace_ctx: TraceContext
49
51
  _usage_limits: UsageLimits | None
50
52
 
51
53
  _agent_stream_iterator: AsyncIterator[AgentStreamEvent] | None = field(default=None, init=False)
@@ -105,13 +107,17 @@ class AgentStream(Generic[AgentDepsT, OutputDataT]):
105
107
 
106
108
  call, output_tool = match
107
109
  result_data = await output_tool.process(
108
- call, self._run_ctx, allow_partial=allow_partial, wrap_validation_errors=False
110
+ call,
111
+ self._run_ctx,
112
+ self._trace_ctx,
113
+ allow_partial=allow_partial,
114
+ wrap_validation_errors=False,
109
115
  )
110
116
  elif isinstance(self._output_schema, TextOutputSchema):
111
117
  text = '\n\n'.join(x.content for x in message.parts if isinstance(x, _messages.TextPart))
112
118
 
113
119
  result_data = await self._output_schema.process(
114
- text, self._run_ctx, allow_partial=allow_partial, wrap_validation_errors=False
120
+ text, self._run_ctx, self._trace_ctx, allow_partial=allow_partial, wrap_validation_errors=False
115
121
  )
116
122
  else:
117
123
  raise exceptions.UnexpectedModelBehavior( # pragma: no cover
@@ -177,6 +183,7 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
177
183
  _stream_response: models.StreamedResponse
178
184
  _output_schema: OutputSchema[OutputDataT]
179
185
  _run_ctx: RunContext[AgentDepsT]
186
+ _trace_ctx: TraceContext
180
187
  _output_validators: list[OutputValidator[AgentDepsT, OutputDataT]]
181
188
  _output_tool_name: str | None
182
189
  _on_complete: Callable[[], Awaitable[None]]
@@ -320,7 +327,7 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
320
327
  yield await self.validate_structured_output(structured_message, allow_partial=not is_last)
321
328
  except ValidationError:
322
329
  if is_last:
323
- raise # pragma: lax no cover
330
+ raise # pragma: no cover
324
331
 
325
332
  async def stream_text(self, *, delta: bool = False, debounce_by: float | None = 0.1) -> AsyncIterator[str]:
326
333
  """Stream the text result as an async iterable.
@@ -423,13 +430,17 @@ class StreamedRunResult(Generic[AgentDepsT, OutputDataT]):
423
430
 
424
431
  call, output_tool = match
425
432
  result_data = await output_tool.process(
426
- call, self._run_ctx, allow_partial=allow_partial, wrap_validation_errors=False
433
+ call,
434
+ self._run_ctx,
435
+ self._trace_ctx,
436
+ allow_partial=allow_partial,
437
+ wrap_validation_errors=False,
427
438
  )
428
439
  elif isinstance(self._output_schema, TextOutputSchema):
429
440
  text = '\n\n'.join(x.content for x in message.parts if isinstance(x, _messages.TextPart))
430
441
 
431
442
  result_data = await self._output_schema.process(
432
- text, self._run_ctx, allow_partial=allow_partial, wrap_validation_errors=False
443
+ text, self._run_ctx, self._trace_ctx, allow_partial=allow_partial, wrap_validation_errors=False
433
444
  )
434
445
  else:
435
446
  raise exceptions.UnexpectedModelBehavior( # pragma: no cover
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-slim
3
- Version: 0.4.2
3
+ Version: 0.4.3
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,7 +30,7 @@ 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.4.2
33
+ Requires-Dist: pydantic-graph==0.4.3
34
34
  Requires-Dist: pydantic>=2.10
35
35
  Requires-Dist: typing-inspection>=0.4.0
36
36
  Provides-Extra: a2a
@@ -46,13 +46,15 @@ Requires-Dist: rich>=13; extra == 'cli'
46
46
  Provides-Extra: cohere
47
47
  Requires-Dist: cohere>=5.13.11; (platform_system != 'Emscripten') and extra == 'cohere'
48
48
  Provides-Extra: duckduckgo
49
- Requires-Dist: duckduckgo-search>=7.0.0; extra == 'duckduckgo'
49
+ Requires-Dist: ddgs>=9.0.0; extra == 'duckduckgo'
50
50
  Provides-Extra: evals
51
- Requires-Dist: pydantic-evals==0.4.2; extra == 'evals'
51
+ Requires-Dist: pydantic-evals==0.4.3; extra == 'evals'
52
52
  Provides-Extra: google
53
53
  Requires-Dist: google-genai>=1.24.0; extra == 'google'
54
54
  Provides-Extra: groq
55
55
  Requires-Dist: groq>=0.19.0; extra == 'groq'
56
+ Provides-Extra: huggingface
57
+ Requires-Dist: huggingface-hub[inference]>=0.33.2; extra == 'huggingface'
56
58
  Provides-Extra: logfire
57
59
  Requires-Dist: logfire>=3.11.0; extra == 'logfire'
58
60
  Provides-Extra: mcp
@@ -1,49 +1,50 @@
1
1
  pydantic_ai/__init__.py,sha256=h6Rll8pEzUUUX6SckosummoAFbq7ctfBlI6WSyaXR4I,1300
2
2
  pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
3
  pydantic_ai/_a2a.py,sha256=PFgqW6I3qh3deY4WFfubTUroig9-NaAWxbeMxYjdtfI,12067
4
- pydantic_ai/_agent_graph.py,sha256=rtzyBXN4bzEDBeRkRwF031ORktSMbuGz9toZmSqUxNI,42153
4
+ pydantic_ai/_agent_graph.py,sha256=2XGCD8Or0zIKkXJLX0jY3eLI38km4mp_jHTQ8yxFw2g,42367
5
5
  pydantic_ai/_cli.py,sha256=R-sE-9gYqPxV5-5utso4g-bzAKMiTCdo33XOVqE0ZEg,13206
6
6
  pydantic_ai/_function_schema.py,sha256=BZus5y51eqiGQKxQIcCiDoSPml3AtAb12-st_aujU2k,10813
7
7
  pydantic_ai/_griffe.py,sha256=Ugft16ZHw9CN_6-lW0Svn6jESK9zHXO_x4utkGBkbBI,5253
8
8
  pydantic_ai/_mcp.py,sha256=PuvwnlLjv7YYOa9AZJCrklevBug99zGMhwJCBGG7BHQ,5626
9
- pydantic_ai/_output.py,sha256=pZfHuMDqDilYDmS6xkjGTfsAdeFqsbefJ2tPVHWalbw,33296
9
+ pydantic_ai/_output.py,sha256=Z30MgZ7M3WMFwud6sJDIJ-N6Yil10Q8BrTHO5z5FBv0,37954
10
10
  pydantic_ai/_parts_manager.py,sha256=Lioi8b7Nfyax09yQu8jTkMzxd26dYDrdAqhYvjRSKqQ,16182
11
11
  pydantic_ai/_run_context.py,sha256=zNkSyiQSH-YweO39ii3iB2taouUOodo3sTjz2Lrj4Pc,1792
12
12
  pydantic_ai/_system_prompt.py,sha256=lUSq-gDZjlYTGtd6BUm54yEvTIvgdwBmJ8mLsNZZtYU,1142
13
13
  pydantic_ai/_thinking_part.py,sha256=mzx2RZSfiQxAKpljEflrcXRXmFKxtp6bKVyorY3UYZk,1554
14
14
  pydantic_ai/_utils.py,sha256=9QSHZhbrCbUK18ckchC55OkBkP-1o6xhAxUkEMo9DSQ,15741
15
- pydantic_ai/agent.py,sha256=BCrhhRcdrt77vhakFv8iI0It8uD_yjcHwfnYiuNKAns,96409
15
+ pydantic_ai/agent.py,sha256=eAWi7onlDdaXOj2DAriVtzf3cTUrAUrt-oGYx--UJiA,96481
16
16
  pydantic_ai/direct.py,sha256=WRfgke3zm-eeR39LTuh9XI2TrdHXAqO81eDvFwih4Ko,14803
17
- pydantic_ai/exceptions.py,sha256=IdFw594Ou7Vn4YFa7xdZ040_j_6nmyA3MPANbC7sys4,3175
17
+ pydantic_ai/exceptions.py,sha256=1ujJeB3jDDQ-pH5ydBYrgStvR35-GlEW0bYGTGEr4ME,3127
18
18
  pydantic_ai/format_as_xml.py,sha256=IINfh1evWDphGahqHNLBArB5dQ4NIqS3S-kru35ztGg,372
19
19
  pydantic_ai/format_prompt.py,sha256=qdKep95Sjlr7u1-qag4JwPbjoURbG0GbeU_l5ODTNw4,4466
20
20
  pydantic_ai/mcp.py,sha256=6RvxXIn6bUlL2XWpX69i8G3atU-HLLZBgKc93dYqeVo,21830
21
- pydantic_ai/messages.py,sha256=ykB4jzDwPGFkgQSJagOdurBv5-DTtCaY-y9671FYz7E,39256
21
+ pydantic_ai/messages.py,sha256=1G6cQs1tlBaCUhuv17RXyCkkiXzad6nYrjg-ZevNsjM,39421
22
22
  pydantic_ai/output.py,sha256=HU1dIiKyCaCvSxg8U6YMRvn1U50l0D9NMvGt_wqp_xI,11512
23
23
  pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- pydantic_ai/result.py,sha256=GVzXf7yjR2lKBDw9k-8PlhJgCpE3dVHiyLL0dFPvs7I,25603
24
+ pydantic_ai/result.py,sha256=PQNWopb0Jb-VD7C-DtIECDX-xjqaFWi8Grhn2Tte66g,25873
25
25
  pydantic_ai/settings.py,sha256=yuUZ7-GkdPB-Gbx71kSdh8dSr6gwM9gEwk84qNxPO_I,3552
26
26
  pydantic_ai/tools.py,sha256=ZZ5DZMzSLMZkM9y_G3fx5YnVTki6daPYgRkfuNXAQ-M,17774
27
27
  pydantic_ai/usage.py,sha256=35YPmItlzfNOwP35Rhh0qBUOlg5On5rUE7xqHQWrpaU,5596
28
28
  pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- pydantic_ai/common_tools/duckduckgo.py,sha256=Ty9tu1rCwMfGKgz1JAaC2q_4esmL6QvpkHQUN8F0Ecc,2152
29
+ pydantic_ai/common_tools/duckduckgo.py,sha256=aQsm7zKuoRNgPM8ltbdyj8dPkREEkQenimsf_laF6kc,2245
30
30
  pydantic_ai/common_tools/tavily.py,sha256=Q1xxSF5HtXAaZ10Pp-OaDOHXwJf2mco9wScGEQXD7E4,2495
31
31
  pydantic_ai/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  pydantic_ai/ext/aci.py,sha256=eiuWamUh90kexWyuGw_Fw2kM-EAA6Pv-IfNhf5hQ8fs,2123
33
33
  pydantic_ai/ext/langchain.py,sha256=iSyACZiJDDvxr0BKYl9dLxe4BPezCBHxgz_2Vk3W-Ak,1973
34
- pydantic_ai/models/__init__.py,sha256=-zXNNMR5E9bPzbxO95m4fQ2RCGotzkuZVkF4OyGKBoA,29730
35
- pydantic_ai/models/anthropic.py,sha256=v-Nyx0Bvp8XdNVQvOh5NW1PXM_3plcYbvHH8e2DPgUc,23826
36
- pydantic_ai/models/bedrock.py,sha256=LIathJMiwwbACCEwTwM4EwCMYEwvomeQ_M_SoDnzPnQ,29403
37
- pydantic_ai/models/cohere.py,sha256=NXk2Fvs6eSGTCuBrGfPB1ioAmDnjI3Ug_1mDc_0bZP0,12792
34
+ pydantic_ai/models/__init__.py,sha256=SdGY1rsTsQADjsxFbkK-8BSO_ALjTVFj5XazthwWi8w,30299
35
+ pydantic_ai/models/anthropic.py,sha256=DqG1Y9q3rqXYKI2I-AEWTD1jUyoAjlxnuN0FgT5CRXc,23822
36
+ pydantic_ai/models/bedrock.py,sha256=WnYykDnkyBd340tpt4l35T8SjT3z50RO83EZ8n77FVA,29399
37
+ pydantic_ai/models/cohere.py,sha256=PTqwMRsgaLGVUrzb80sh9jS6CNuvDokvPHKT5KTYR_g,12788
38
38
  pydantic_ai/models/fallback.py,sha256=URaV-dTQWkg99xrlkmknue5lXZWDcEt7cJ1Vsky4oB4,5130
39
39
  pydantic_ai/models/function.py,sha256=Qyvg7n9SMyhNVugd9T525OrbWYW8BQedy7kBRpHu48Q,12457
40
- pydantic_ai/models/gemini.py,sha256=U_hjUMW6R7b8Ik4m1nYf1vQIrbkzGpgkZLtlHTvc0fw,38651
41
- pydantic_ai/models/google.py,sha256=P8eKVf5DXwxfR11t34c1YlYTD90yYVWEj4weklQqhNk,24216
42
- pydantic_ai/models/groq.py,sha256=Y4cAoKHjMMkK0Ggs10LfhSJ-Wc-LPJoX-6GPLqZYprc,18669
43
- pydantic_ai/models/instrumented.py,sha256=pFbVRmDMb30TZdbTejQZQk3lwcFiED9n-kz7Wl23Lb8,16102
40
+ pydantic_ai/models/gemini.py,sha256=iyuw3FBfLsdeUT10sHz5xWXsesUrhE0yLa7R6hy8HJs,38603
41
+ pydantic_ai/models/google.py,sha256=w6G9rXmL0x-PCI7KyBJFlqUdQV5feCpTR2kgCi52hTI,24192
42
+ pydantic_ai/models/groq.py,sha256=fMT1WPkhuLH2G0iQ8IMxZ1oc7zQVgTLhzVZYydASt88,18665
43
+ pydantic_ai/models/huggingface.py,sha256=DTkbfySeBfRqIrbMzgUunGnIo-3mLuaDyQjBYTT42bI,18857
44
+ pydantic_ai/models/instrumented.py,sha256=dkVCY_SIoPEBLyAr7jODTsJWh6LzslPVzPwOfvqy3iA,16078
44
45
  pydantic_ai/models/mcp_sampling.py,sha256=q9nnjNEAAbhrfRc_Qw5z9TtCHMG_SwlCWW9FvKWjh8k,3395
45
- pydantic_ai/models/mistral.py,sha256=KaIpO_vx8YnhcvlRlbmZwarivQpr0Y_r4e_Fj9JdYsQ,30724
46
- pydantic_ai/models/openai.py,sha256=bjLk7CH_YXaETsfhNOWbrtn6qvuxFqtyUNRd094gS9s,54272
46
+ pydantic_ai/models/mistral.py,sha256=fvR5ijjOGdV3OHBKtQFPBNjNO2qXhB0hxzXZkkSLMmY,30716
47
+ pydantic_ai/models/openai.py,sha256=gyN9idM3164ftEW4iW9fFogKP_xQh4--ChwkHQxG-5Q,54264
47
48
  pydantic_ai/models/test.py,sha256=S8hp3fJZJVSwWl01bBi-q7YpijdbstXhGg3aCPon98o,18227
48
49
  pydantic_ai/models/wrapper.py,sha256=A5-ncYhPF8c9S_czGoXkd55s2KOQb65p3jbVpwZiFPA,2043
49
50
  pydantic_ai/profiles/__init__.py,sha256=BXMqUpgRfosmYgcxjKAI9ESCj47JTSa30DhKXEgVLzM,2419
@@ -58,7 +59,7 @@ pydantic_ai/profiles/meta.py,sha256=IAGPoUrLWd-g9ajAgpWp9fIeOrP-7dBlZ2HEFjIhUbY,
58
59
  pydantic_ai/profiles/mistral.py,sha256=ll01PmcK3szwlTfbaJLQmfd0TADN8lqjov9HpPJzCMQ,217
59
60
  pydantic_ai/profiles/openai.py,sha256=wFFtzbM22HbxxRNDXYEs6tr6_RSbv8xN_xBPz6RsP9s,6698
60
61
  pydantic_ai/profiles/qwen.py,sha256=u7pL8uomoQTVl45g5wDrHx0P_oFDLaN6ALswuwmkWc0,334
61
- pydantic_ai/providers/__init__.py,sha256=JNsVZ1PBx_9hUJZbnoRIDJCkWbrJbk69w-SFqjoG-6c,3654
62
+ pydantic_ai/providers/__init__.py,sha256=8D685KEGzwtgeg1Z5tC9ugr_O16E1VWWmeqSgAnx69k,3779
62
63
  pydantic_ai/providers/anthropic.py,sha256=D35UXxCPXv8yIbD0fj9Zg2FvNyoMoJMeDUtVM8Sn78I,3046
63
64
  pydantic_ai/providers/azure.py,sha256=y77IHGiSQ9Ttx9f4SGMgdpin2Daq6eYyzUdM9ET22RQ,5819
64
65
  pydantic_ai/providers/bedrock.py,sha256=ycdTXnkj_WNqPMA7DNDPeYia0C37FP0_l0CygSQmWYI,5694
@@ -66,18 +67,19 @@ pydantic_ai/providers/cohere.py,sha256=LT6QaLPJBBlFUgYgXQOfKpbM9SXLzorWFxI7jNfOX
66
67
  pydantic_ai/providers/deepseek.py,sha256=kUdM8eVp1lse4bS_uy70Gy7wgog94NTZ36GY-vhSB50,3060
67
68
  pydantic_ai/providers/fireworks.py,sha256=TPbqOpNgXG59qovBaHWbbV2vsvROwlHwQ3PvqHUBH-s,3626
68
69
  pydantic_ai/providers/github.py,sha256=zPu3oVJKjUE4zIqZ0YfgcTFBNdEy5rIBrSOdPCHJEG4,4406
69
- pydantic_ai/providers/google.py,sha256=eAELGtZDArdmYMVnyHLqJdOMBvMd_qLGUa4m1TSKWso,5994
70
+ pydantic_ai/providers/google.py,sha256=b8MOCsawPm07HrFEZGip5OGzW3zfq3HcCDzDNwXgPY4,5946
70
71
  pydantic_ai/providers/google_gla.py,sha256=BCF5_6EVtpkCZ6qIDuvgY1Qa9EirS71l51CBqPqk4C4,1825
71
- pydantic_ai/providers/google_vertex.py,sha256=_uiPHisYbQJxygESUUsRKBIG-DjeTwEQVvioS4JpEXc,9446
72
+ pydantic_ai/providers/google_vertex.py,sha256=MN3hnZg06pp2VFAmr3o_aAeop7LHj8TbgPSaF5D6PZE,9596
72
73
  pydantic_ai/providers/grok.py,sha256=mtlx7KP6xEDrDnYR1pmuT61wjUlYbCJNASNCDfVGQ5A,2912
73
74
  pydantic_ai/providers/groq.py,sha256=LcD0vXiZhWOsMatz0yKzt9NCIAw6H7OhJsQ5GPDqL44,3835
74
75
  pydantic_ai/providers/heroku.py,sha256=NmDIkAdxtWsvCjlX-bKI5FgI4HW1zO9-e0mrNQNGMCk,2990
76
+ pydantic_ai/providers/huggingface.py,sha256=LRmJcJpQRRYvam3IAPkYs2fMUJf70GgE3aDgQltGRCU,3821
75
77
  pydantic_ai/providers/mistral.py,sha256=EIUSENjFuGzBhvbdrarUTM4VPkesIMnZrzfnEKHOsc4,3120
76
78
  pydantic_ai/providers/openai.py,sha256=7iGij0EaFylab7dTZAZDgXr78tr-HsZrn9EI9AkWBNQ,3091
77
79
  pydantic_ai/providers/openrouter.py,sha256=NXjNdnlXIBrBMMqbzcWQnowXOuZh4NHikXenBn5h3mc,4061
78
80
  pydantic_ai/providers/together.py,sha256=zFVSMSm5jXbpkNouvBOTjWrPmlPpCp6sQS5LMSyVjrQ,3482
79
- pydantic_ai_slim-0.4.2.dist-info/METADATA,sha256=tUdKEmWmW4dGY2tCE0SH1dsEUwwlHdzzuenxatbWDhY,3846
80
- pydantic_ai_slim-0.4.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
81
- pydantic_ai_slim-0.4.2.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
82
- pydantic_ai_slim-0.4.2.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
83
- pydantic_ai_slim-0.4.2.dist-info/RECORD,,
81
+ pydantic_ai_slim-0.4.3.dist-info/METADATA,sha256=QVhjCkzpDVNZRgtXCo4VCcuHM0gq6KhCPyPqbgH1EbM,3935
82
+ pydantic_ai_slim-0.4.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
+ pydantic_ai_slim-0.4.3.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
84
+ pydantic_ai_slim-0.4.3.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
85
+ pydantic_ai_slim-0.4.3.dist-info/RECORD,,