from collections.abc import Callable from functools import partial from typing import Any, TypeVar import anyio T_Retval = TypeVar("T_Retval") async def run_async( func: Callable[..., T_Retval], /, *args: Any, **kwargs: Any ) -> T_Retval: return await anyio.to_thread.run_sync(partial(func, *args, **kwargs))