1+ from __future__ import annotations
2+
13import inspect
2- from collections .abc import Awaitable
34from functools import partial
4- from typing import Annotated , Any , Callable , Optional , TypeVar , Union , cast
5+ from typing import TYPE_CHECKING , Annotated , Any , Callable , TypeVar , cast
56
67from apiclient import APIClient
78from pydantic import AfterValidator , BaseModel , ConfigDict
1617from pydantic .plugin ._schema_validator import create_schema_validator
1718from pydantic .validate_call_decorator import _check_function_type
1819
20+ if TYPE_CHECKING :
21+ from collections .abc import Awaitable
22+
1923T = TypeVar ('T' , bound = APIClient )
2024AnyCallableT = TypeVar ('AnyCallableT' , bound = Callable [..., Any ])
2125TModel = TypeVar ('TModel' , bound = BaseModel )
@@ -72,12 +76,12 @@ async def return_val_wrapper(aw: Awaitable[Any]) -> None:
7276
7377
7478def serialize (
75- __func : Optional [ AnyCallableT ] = None ,
79+ __func : AnyCallableT | None = None ,
7680 / ,
7781 * ,
78- config : Optional [ ConfigDict ] = None ,
82+ config : ConfigDict | None = None ,
7983 validate_return : bool = True ,
80- response : Optional [ type [BaseModel ]] = None ,
84+ response : type [BaseModel ] | None = None ,
8185) -> AnyCallableT | Callable [[AnyCallableT ], AnyCallableT ]:
8286 parent_namespace = _typing_extra .parent_frame_namespace ()
8387
@@ -98,8 +102,8 @@ def validate(function: AnyCallableT) -> AnyCallableT:
98102
99103
100104def serialize_all_methods (
101- __cls : Optional [ type [T ]] = None , / , * , config : Optional [ ConfigDict ] = None
102- ) -> Union [ AnyCallableT , Callable [[AnyCallableT ], AnyCallableT ], Callable [[type [T ]], type [T ] ]]:
105+ __cls : type [T ] | None = None , / , * , config : ConfigDict | None = None
106+ ) -> AnyCallableT | Callable [[AnyCallableT ], AnyCallableT ] | Callable [[type [T ]], type [T ]]:
103107 def decorate (cls : type [T ]) -> type [T ]:
104108 for attr , value in vars (cls ).items ():
105109 if not attr .startswith ('_' ) and inspect .isfunction (value ) and attr not in APICLIENT_METHODS :
0 commit comments