From 5ed76152ada962b1bfb822d087f1af1ec345ef43 Mon Sep 17 00:00:00 2001 From: Michael Oliver Date: Wed, 16 Dec 2020 11:49:07 -0500 Subject: [PATCH] Improved PEP-484 for AsyncSession.run_sync ### Description I don't think this needs any test added. ### Checklist This pull request is: - [ ] A documentation / typographical error fix - Good to go, no issue or tests are needed - [x] A short code fix - please include the issue number, and create an issue if none exists, which must include a complete example of the issue. one line code fixes without an issue and demonstration will not be accepted. - Please include: `Fixes: #` in the commit message - please include tests. one line code fixes without tests will not be accepted. - [ ] A new feature implementation - please include the issue number, and create an issue if none exists, which must include a complete example of how the feature would look. - Please include: `Fixes: #` in the commit message - please include tests. Fixes: #5777 **Have a nice day!** Closes: #5778 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5778 Pull-request-sha: 618ddc84d27b9b67f9ae78fd457f94feff1ce160 Change-Id: Id46f70ddc14e8f8d7e402a4b3ce7e934509bef24 --- 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