From bb9c807d580e16d1ef5d584fb39d226bc36f33ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bahad=C4=B1r=20D=C3=B6nmez?= Date: Mon, 12 Jan 2026 13:13:17 +0100 Subject: [PATCH] Add Python 3.14 support --- src/qtinter/_unix_events.py | 10 +++++++++- src/qtinter/_windows_events.py | 12 ++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/qtinter/_unix_events.py b/src/qtinter/_unix_events.py index 66a1c57..410415c 100644 --- a/src/qtinter/_unix_events.py +++ b/src/qtinter/_unix_events.py @@ -33,7 +33,15 @@ def remove_signal_handler(self, sig): return result -class QiSelectorEventLoopPolicy(asyncio.unix_events.DefaultEventLoopPolicy): +# Python 3.14 renamed asyncio.unix_events.DefaultEventLoopPolicy to +# asyncio.unix_events._DefaultEventLoopPolicy +try: + _DefaultEventLoopPolicy = asyncio.unix_events.DefaultEventLoopPolicy +except AttributeError: # Python 3.14+ + _DefaultEventLoopPolicy = asyncio.unix_events._DefaultEventLoopPolicy + + +class QiSelectorEventLoopPolicy(_DefaultEventLoopPolicy): _loop_factory = QiSelectorEventLoop diff --git a/src/qtinter/_windows_events.py b/src/qtinter/_windows_events.py index eaf2d46..24e1b43 100644 --- a/src/qtinter/_windows_events.py +++ b/src/qtinter/_windows_events.py @@ -226,7 +226,15 @@ def _qi_loop_cleanup(self): # ---- END COPIED FROM ProactorEventLoop.run_forever -class QiProactorEventLoopPolicy(asyncio.events.BaseDefaultEventLoopPolicy): +# Python 3.14 renamed asyncio.events.BaseDefaultEventLoopPolicy to +# asyncio.events._BaseDefaultEventLoopPolicy +try: + _BaseDefaultEventLoopPolicy = asyncio.events.BaseDefaultEventLoopPolicy +except AttributeError: # Python 3.14+ + _BaseDefaultEventLoopPolicy = asyncio.events._BaseDefaultEventLoopPolicy + + +class QiProactorEventLoopPolicy(_BaseDefaultEventLoopPolicy): _loop_factory = QiProactorEventLoop @@ -237,7 +245,7 @@ class QiSelectorEventLoop( pass -class QiSelectorEventLoopPolicy(asyncio.events.BaseDefaultEventLoopPolicy): +class QiSelectorEventLoopPolicy(_BaseDefaultEventLoopPolicy): _loop_factory = QiSelectorEventLoop