pydantic-ai-examples 1.46.0__tar.gz → 1.48.0__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.
Files changed (51) hide show
  1. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/PKG-INFO +4 -4
  2. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/agentic_generative_ui.py +3 -1
  3. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/shared_state.py +3 -3
  4. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/data_analyst.py +1 -1
  5. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/question_graph.py +4 -2
  6. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pyproject.toml +1 -1
  7. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/.gitignore +0 -0
  8. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/LICENSE +0 -0
  9. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/README.md +0 -0
  10. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/__main__.py +0 -0
  11. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/__init__.py +0 -0
  12. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/__main__.py +0 -0
  13. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/__init__.py +0 -0
  14. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/agentic_chat.py +0 -0
  15. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/human_in_the_loop.py +0 -0
  16. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/predictive_state_updates.py +0 -0
  17. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/ag_ui/api/tool_based_generative_ui.py +0 -0
  18. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/bank_support.py +0 -0
  19. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/chat_app.html +0 -0
  20. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/chat_app.py +0 -0
  21. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/chat_app.ts +0 -0
  22. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/__init__.py +0 -0
  23. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/agent.py +0 -0
  24. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/custom_evaluators.py +0 -0
  25. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/datasets/time_range_v1.yaml +0 -0
  26. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/datasets/time_range_v1_schema.json +0 -0
  27. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/datasets/time_range_v2.yaml +0 -0
  28. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/datasets/time_range_v2_schema.json +0 -0
  29. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/example_01_generate_dataset.py +0 -0
  30. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/example_02_add_custom_evaluators.py +0 -0
  31. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/example_03_unit_testing.py +0 -0
  32. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/example_04_compare_models.py +0 -0
  33. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/evals/models.py +0 -0
  34. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/flight_booking.py +0 -0
  35. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/py.typed +0 -0
  36. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/pydantic_model.py +0 -0
  37. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/rag.py +0 -0
  38. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/roulette_wheel.py +0 -0
  39. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/__init__.py +0 -0
  40. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/agent.py +0 -0
  41. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/app.py +0 -0
  42. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/functions.py +0 -0
  43. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/modal.py +0 -0
  44. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/models.py +0 -0
  45. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/slack.py +0 -0
  46. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/slack_lead_qualifier/store.py +0 -0
  47. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/sql_gen.py +0 -0
  48. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/stream_markdown.py +0 -0
  49. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/stream_whales.py +0 -0
  50. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/weather_agent.py +0 -0
  51. {pydantic_ai_examples-1.46.0 → pydantic_ai_examples-1.48.0}/pydantic_ai_examples/weather_agent_gradio.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-examples
3
- Version: 1.46.0
3
+ Version: 1.48.0
4
4
  Summary: Examples of how to use Pydantic AI and what it can do.
5
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
@@ -31,11 +31,11 @@ Requires-Dist: duckdb>=1.3.2
31
31
  Requires-Dist: fastapi>=0.115.4
32
32
  Requires-Dist: gradio>=5.31.0
33
33
  Requires-Dist: logfire[asyncpg,fastapi,httpx,sqlite3]>=3.14.1
34
- Requires-Dist: mcp[cli]>=1.25.0
34
+ Requires-Dist: mcp[cli]<2.0,>=1.25.0
35
35
  Requires-Dist: modal>=1.0.4
36
36
  Requires-Dist: pandas>=2.2.3
37
- Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,groq,openai,vertexai]==1.46.0
38
- Requires-Dist: pydantic-evals==1.46.0
37
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,groq,openai,vertexai]==1.48.0
38
+ Requires-Dist: pydantic-evals==1.48.0
39
39
  Requires-Dist: python-multipart>=0.0.17
40
40
  Requires-Dist: rich>=13.9.2
41
41
  Requires-Dist: uvicorn>=0.32.0
@@ -27,7 +27,9 @@ class Step(BaseModel):
27
27
  class Plan(BaseModel):
28
28
  """Represents a plan with multiple steps."""
29
29
 
30
- steps: list[Step] = Field(default_factory=list, description='The steps in the plan')
30
+ steps: list[Step] = Field(
31
+ default_factory=list[Step], description='The steps in the plan'
32
+ )
31
33
 
32
34
 
33
35
  class JSONPatchOp(BaseModel):
@@ -62,18 +62,18 @@ class Recipe(BaseModel):
62
62
  description='The skill level required for the recipe',
63
63
  )
64
64
  special_preferences: list[SpecialPreferences] = Field(
65
- default_factory=list,
65
+ default_factory=list[SpecialPreferences],
66
66
  description='Any special preferences for the recipe',
67
67
  )
68
68
  cooking_time: CookingTime = Field(
69
69
  default=CookingTime.FIVE_MIN, description='The cooking time of the recipe'
70
70
  )
71
71
  ingredients: list[Ingredient] = Field(
72
- default_factory=list,
72
+ default_factory=list[Ingredient],
73
73
  description='Ingredients for the recipe',
74
74
  )
75
75
  instructions: list[str] = Field(
76
- default_factory=list, description='Instructions for the recipe'
76
+ default_factory=list[str], description='Instructions for the recipe'
77
77
  )
78
78
 
79
79
 
@@ -9,7 +9,7 @@ from pydantic_ai import Agent, ModelRetry, RunContext
9
9
 
10
10
  @dataclass
11
11
  class AnalystAgentDeps:
12
- output: dict[str, pd.DataFrame] = field(default_factory=dict)
12
+ output: dict[str, pd.DataFrame] = field(default_factory=dict[str, pd.DataFrame])
13
13
 
14
14
  def store(self, value: pd.DataFrame) -> str:
15
15
  """Store the output in deps and return the reference such as Out[1] to be used by the LLM."""
@@ -32,8 +32,10 @@ ask_agent = Agent('openai:gpt-5', output_type=str)
32
32
  @dataclass
33
33
  class QuestionState:
34
34
  question: str | None = None
35
- ask_agent_messages: list[ModelMessage] = field(default_factory=list)
36
- evaluate_agent_messages: list[ModelMessage] = field(default_factory=list)
35
+ ask_agent_messages: list[ModelMessage] = field(default_factory=list[ModelMessage])
36
+ evaluate_agent_messages: list[ModelMessage] = field(
37
+ default_factory=list[ModelMessage]
38
+ )
37
39
 
38
40
 
39
41
  @dataclass
@@ -57,7 +57,7 @@ dependencies = [
57
57
  "uvicorn>=0.32.0",
58
58
  "devtools>=0.12.2",
59
59
  "gradio>=5.31.0",
60
- "mcp[cli]>=1.25.0",
60
+ "mcp[cli]>=1.25.0,<2.0",
61
61
  "modal>=1.0.4",
62
62
  "duckdb>=1.3.2",
63
63
  "datasets>=4.0.0",