From 618ddc84d27b9b67f9ae78fd457f94feff1ce160 Mon Sep 17 00:00:00 2001 From: Michael Oliver Date: Wed, 16 Dec 2020 16:28:14 +0000 Subject: [PATCH] Improved PEP-484 for run_sync --- lib/sqlalchemy/ext/asyncio/session.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/sqlalchemy/ext/asyncio/session.py b/lib/sqlalchemy/ext/asyncio/session.py index 4ae1fb385e..c21b679543 100644 --- a/lib/sqlalchemy/ext/asyncio/session.py +++ b/lib/sqlalchemy/ext/asyncio/session.py @@ -1,7 +1,7 @@ -from typing import Any from typing import Callable from typing import Mapping from typing import Optional +from typing import TypeVar from . import engine from . import result as _result @@ -14,6 +14,9 @@ from ...sql import Executable from ...util.concurrency import greenlet_spawn +T = TypeVar("T") + + @util.create_proxy_methods( Session, ":class:`_orm.Session`", @@ -102,7 +105,7 @@ class AsyncSession: with_for_update=with_for_update, ) - async def run_sync(self, fn: Callable, *arg, **kw) -> Any: + async def run_sync(self, fn: Callable[..., T], *arg, **kw) -> T: """Invoke the given sync callable passing sync self as the first argument. -- 2.47.3