From 9a7ab834013a263632b9e62608a2c1050092447d Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Wed, 3 Sep 2025 14:56:17 -0400 Subject: [PATCH] fix: allow 'functools.partial' as tool func Closes #2787. --- pydantic_ai_slim/pydantic_ai/_function_schema.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pydantic_ai_slim/pydantic_ai/_function_schema.py b/pydantic_ai_slim/pydantic_ai/_function_schema.py index cdbedb9cf1..331b867690 100644 --- a/pydantic_ai_slim/pydantic_ai/_function_schema.py +++ b/pydantic_ai_slim/pydantic_ai/_function_schema.py @@ -99,7 +99,7 @@ def function_schema( # noqa: C901 errors: list[str] = [] try: - sig = signature(function) + sig = signature(function, follow_wrapped=False) except ValueError as e: errors.append(str(e)) sig = signature(lambda: None) @@ -244,7 +244,7 @@ def _takes_ctx(function: TargetFunc[P, R]) -> TypeIs[WithCtx[P, R]]: `True` if the function takes a `RunContext` as first argument, `False` otherwise. """ try: - sig = signature(function) + sig = signature(function, follow_wrapped=False) except ValueError: # pragma: no cover return False # pragma: no cover try: