pydantic-ai-slim 0.4.3__tar.gz → 0.4.5__tar.gz

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 (98) hide show
  1. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/PKG-INFO +10 -7
  2. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/README.md +2 -2
  3. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_a2a.py +3 -3
  4. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_agent_graph.py +220 -319
  5. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_cli.py +9 -7
  6. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_output.py +295 -331
  7. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_parts_manager.py +2 -2
  8. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_run_context.py +8 -14
  9. pydantic_ai_slim-0.4.5/pydantic_ai/_tool_manager.py +190 -0
  10. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_utils.py +18 -1
  11. pydantic_ai_slim-0.4.5/pydantic_ai/ag_ui.py +675 -0
  12. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/agent.py +378 -164
  13. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/exceptions.py +12 -0
  14. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/ext/aci.py +12 -3
  15. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/ext/langchain.py +9 -1
  16. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/format_prompt.py +3 -6
  17. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/mcp.py +147 -84
  18. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/messages.py +13 -5
  19. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/__init__.py +30 -18
  20. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/anthropic.py +1 -1
  21. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/function.py +50 -24
  22. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/gemini.py +1 -18
  23. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/google.py +2 -11
  24. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/groq.py +1 -0
  25. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/instrumented.py +6 -1
  26. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/mistral.py +1 -1
  27. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/openai.py +16 -4
  28. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/output.py +21 -7
  29. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/google.py +1 -1
  30. pydantic_ai_slim-0.4.5/pydantic_ai/profiles/moonshotai.py +8 -0
  31. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/grok.py +13 -1
  32. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/groq.py +2 -0
  33. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/result.py +58 -45
  34. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/tools.py +26 -119
  35. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/__init__.py +22 -0
  36. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/abstract.py +155 -0
  37. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/combined.py +88 -0
  38. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/deferred.py +38 -0
  39. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/filtered.py +24 -0
  40. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/function.py +238 -0
  41. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/prefixed.py +37 -0
  42. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/prepared.py +36 -0
  43. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/renamed.py +42 -0
  44. pydantic_ai_slim-0.4.5/pydantic_ai/toolsets/wrapper.py +37 -0
  45. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/usage.py +14 -8
  46. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pyproject.toml +8 -5
  47. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/.gitignore +0 -0
  48. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/LICENSE +0 -0
  49. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/__init__.py +0 -0
  50. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/__main__.py +0 -0
  51. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_function_schema.py +0 -0
  52. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_griffe.py +0 -0
  53. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_mcp.py +0 -0
  54. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_system_prompt.py +0 -0
  55. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/_thinking_part.py +0 -0
  56. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/common_tools/__init__.py +0 -0
  57. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/common_tools/duckduckgo.py +0 -0
  58. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/common_tools/tavily.py +0 -0
  59. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/direct.py +0 -0
  60. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/ext/__init__.py +0 -0
  61. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/format_as_xml.py +0 -0
  62. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/bedrock.py +0 -0
  63. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/cohere.py +0 -0
  64. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/fallback.py +0 -0
  65. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/huggingface.py +0 -0
  66. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/mcp_sampling.py +0 -0
  67. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/test.py +0 -0
  68. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/models/wrapper.py +0 -0
  69. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/__init__.py +0 -0
  70. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/_json_schema.py +0 -0
  71. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/amazon.py +0 -0
  72. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/anthropic.py +0 -0
  73. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/cohere.py +0 -0
  74. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/deepseek.py +0 -0
  75. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/grok.py +0 -0
  76. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/meta.py +0 -0
  77. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/mistral.py +0 -0
  78. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/openai.py +0 -0
  79. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/profiles/qwen.py +0 -0
  80. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/__init__.py +0 -0
  81. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/anthropic.py +0 -0
  82. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/azure.py +0 -0
  83. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/bedrock.py +0 -0
  84. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/cohere.py +0 -0
  85. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/deepseek.py +0 -0
  86. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/fireworks.py +0 -0
  87. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/github.py +0 -0
  88. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/google.py +0 -0
  89. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/google_gla.py +0 -0
  90. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/google_vertex.py +0 -0
  91. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/heroku.py +0 -0
  92. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/huggingface.py +0 -0
  93. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/mistral.py +0 -0
  94. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/openai.py +0 -0
  95. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/openrouter.py +0 -0
  96. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/providers/together.py +0 -0
  97. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/py.typed +0 -0
  98. {pydantic_ai_slim-0.4.3 → pydantic_ai_slim-0.4.5}/pydantic_ai/settings.py +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-slim
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Summary: Agent Framework / shim to use Pydantic with LLMs, slim package
5
- Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>
5
+ Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>, Douwe Maan <douwe@pydantic.dev>
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE
8
8
  Classifier: Development Status :: 4 - Beta
@@ -30,11 +30,14 @@ 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.3
33
+ Requires-Dist: pydantic-graph==0.4.5
34
34
  Requires-Dist: pydantic>=2.10
35
35
  Requires-Dist: typing-inspection>=0.4.0
36
36
  Provides-Extra: a2a
37
37
  Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
38
+ Provides-Extra: ag-ui
39
+ Requires-Dist: ag-ui-protocol>=0.1.8; extra == 'ag-ui'
40
+ Requires-Dist: starlette>=0.45.3; extra == 'ag-ui'
38
41
  Provides-Extra: anthropic
39
42
  Requires-Dist: anthropic>=0.52.0; extra == 'anthropic'
40
43
  Provides-Extra: bedrock
@@ -48,7 +51,7 @@ Requires-Dist: cohere>=5.13.11; (platform_system != 'Emscripten') and extra == '
48
51
  Provides-Extra: duckduckgo
49
52
  Requires-Dist: ddgs>=9.0.0; extra == 'duckduckgo'
50
53
  Provides-Extra: evals
51
- Requires-Dist: pydantic-evals==0.4.3; extra == 'evals'
54
+ Requires-Dist: pydantic-evals==0.4.5; extra == 'evals'
52
55
  Provides-Extra: google
53
56
  Requires-Dist: google-genai>=1.24.0; extra == 'google'
54
57
  Provides-Extra: groq
@@ -62,7 +65,7 @@ Requires-Dist: mcp>=1.9.4; (python_version >= '3.10') and extra == 'mcp'
62
65
  Provides-Extra: mistral
63
66
  Requires-Dist: mistralai>=1.2.5; extra == 'mistral'
64
67
  Provides-Extra: openai
65
- Requires-Dist: openai>=1.76.0; extra == 'openai'
68
+ Requires-Dist: openai>=1.92.0; extra == 'openai'
66
69
  Provides-Extra: tavily
67
70
  Requires-Dist: tavily-python>=0.5.0; extra == 'tavily'
68
71
  Provides-Extra: vertexai
@@ -70,7 +73,7 @@ Requires-Dist: google-auth>=2.36.0; extra == 'vertexai'
70
73
  Requires-Dist: requests>=2.32.2; extra == 'vertexai'
71
74
  Description-Content-Type: text/markdown
72
75
 
73
- # PydanticAI Slim
76
+ # Pydantic AI Slim
74
77
 
75
78
  [![CI](https://github.com/pydantic/pydantic-ai/actions/workflows/ci.yml/badge.svg?event=push)](https://github.com/pydantic/pydantic-ai/actions/workflows/ci.yml?query=branch%3Amain)
76
79
  [![Coverage](https://coverage-badge.samuelcolvin.workers.dev/pydantic/pydantic-ai.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/pydantic/pydantic-ai)
@@ -78,6 +81,6 @@ Description-Content-Type: text/markdown
78
81
  [![versions](https://img.shields.io/pypi/pyversions/pydantic-ai-slim.svg)](https://github.com/pydantic/pydantic-ai)
79
82
  [![license](https://img.shields.io/github/license/pydantic/pydantic-ai.svg?v)](https://github.com/pydantic/pydantic-ai/blob/main/LICENSE)
80
83
 
81
- PydanticAI core logic with minimal required dependencies.
84
+ Pydantic AI core logic with minimal required dependencies.
82
85
 
83
86
  For more information on how to use this package see [ai.pydantic.dev/install](https://ai.pydantic.dev/install/).
@@ -1,4 +1,4 @@
1
- # PydanticAI Slim
1
+ # Pydantic AI Slim
2
2
 
3
3
  [![CI](https://github.com/pydantic/pydantic-ai/actions/workflows/ci.yml/badge.svg?event=push)](https://github.com/pydantic/pydantic-ai/actions/workflows/ci.yml?query=branch%3Amain)
4
4
  [![Coverage](https://coverage-badge.samuelcolvin.workers.dev/pydantic/pydantic-ai.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/pydantic/pydantic-ai)
@@ -6,6 +6,6 @@
6
6
  [![versions](https://img.shields.io/pypi/pyversions/pydantic-ai-slim.svg)](https://github.com/pydantic/pydantic-ai)
7
7
  [![license](https://img.shields.io/github/license/pydantic/pydantic-ai.svg?v)](https://github.com/pydantic/pydantic-ai/blob/main/LICENSE)
8
8
 
9
- PydanticAI core logic with minimal required dependencies.
9
+ Pydantic AI core logic with minimal required dependencies.
10
10
 
11
11
  For more information on how to use this package see [ai.pydantic.dev/install](https://ai.pydantic.dev/install/).
@@ -59,12 +59,12 @@ except ImportError as _import_error:
59
59
 
60
60
 
61
61
  @asynccontextmanager
62
- async def worker_lifespan(app: FastA2A, worker: Worker) -> AsyncIterator[None]:
62
+ async def worker_lifespan(app: FastA2A, worker: Worker, agent: Agent[AgentDepsT, OutputDataT]) -> AsyncIterator[None]:
63
63
  """Custom lifespan that runs the worker during application startup.
64
64
 
65
65
  This ensures the worker is started and ready to process tasks as soon as the application starts.
66
66
  """
67
- async with app.task_manager:
67
+ async with app.task_manager, agent:
68
68
  async with worker.run():
69
69
  yield
70
70
 
@@ -93,7 +93,7 @@ def agent_to_a2a(
93
93
  broker = broker or InMemoryBroker()
94
94
  worker = AgentWorker(agent=agent, broker=broker, storage=storage)
95
95
 
96
- lifespan = lifespan or partial(worker_lifespan, worker=worker)
96
+ lifespan = lifespan or partial(worker_lifespan, worker=worker, agent=agent)
97
97
 
98
98
  return FastA2A(
99
99
  storage=storage,