fix(timeout): eliminate banned cast import and use float conversion

Signed-off-by: agustin18 <agustinsaiz02@gmail.com>
This commit is contained in:
agustin18 2026-10-18 21:16:49 +00:00
parent 25b3f99e36
commit 5ca091b210

View file

@ -16,7 +16,7 @@ from concurrent import futures
from functools import wraps
from inspect import iscoroutinefunction
from threading import Thread
from typing import Final, cast
from typing import Final
from litellm.exceptions import Timeout
@ -66,10 +66,10 @@ def timeout(timeout_duration: float = 0.0, exception_to_raise=Timeout):
@wraps(func)
async def async_wrapper(*args, **kwargs):
local_timeout_duration: float | None = timeout_duration
if "force_timeout" in kwargs and kwargs["force_timeout"] is not None:
local_timeout_duration = cast(float | None, kwargs["force_timeout"])
elif "request_timeout" in kwargs and kwargs["request_timeout"] is not None:
local_timeout_duration = cast(float | None, kwargs["request_timeout"])
if "force_timeout" in kwargs and isinstance(kwargs["force_timeout"], (int, float)):
local_timeout_duration = float(kwargs["force_timeout"])
elif "request_timeout" in kwargs and isinstance(kwargs["request_timeout"], (int, float)):
local_timeout_duration = float(kwargs["request_timeout"])
try:
value: Final = await asyncio.wait_for(func(*args, **kwargs), timeout=local_timeout_duration)
return value