]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-134657: Remove newly added private names from asyncio.__all__ (#134665)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Wed, 9 Jul 2025 07:55:46 +0000 (00:55 -0700)
committerGitHub <noreply@github.com>
Wed, 9 Jul 2025 07:55:46 +0000 (13:25 +0530)
47 files changed:
Lib/asyncio/__init__.py
Lib/asyncio/events.py
Lib/asyncio/unix_events.py
Lib/test/libregrtest/save_env.py
Lib/test/test_asyncgen.py
Lib/test/test_asyncio/test_base_events.py
Lib/test/test_asyncio/test_buffered_proto.py
Lib/test/test_asyncio/test_context.py
Lib/test/test_asyncio/test_eager_task_factory.py
Lib/test/test_asyncio/test_events.py
Lib/test/test_asyncio/test_free_threading.py
Lib/test/test_asyncio/test_futures.py
Lib/test/test_asyncio/test_futures2.py
Lib/test/test_asyncio/test_graph.py
Lib/test/test_asyncio/test_locks.py
Lib/test/test_asyncio/test_pep492.py
Lib/test/test_asyncio/test_proactor_events.py
Lib/test/test_asyncio/test_protocols.py
Lib/test/test_asyncio/test_queues.py
Lib/test/test_asyncio/test_runners.py
Lib/test/test_asyncio/test_selector_events.py
Lib/test/test_asyncio/test_sendfile.py
Lib/test/test_asyncio/test_server.py
Lib/test/test_asyncio/test_sock_lowlevel.py
Lib/test/test_asyncio/test_ssl.py
Lib/test/test_asyncio/test_sslproto.py
Lib/test/test_asyncio/test_staggered.py
Lib/test/test_asyncio/test_streams.py
Lib/test/test_asyncio/test_subprocess.py
Lib/test/test_asyncio/test_taskgroups.py
Lib/test/test_asyncio/test_tasks.py
Lib/test/test_asyncio/test_threads.py
Lib/test/test_asyncio/test_timeouts.py
Lib/test/test_asyncio/test_transports.py
Lib/test/test_asyncio/test_unix_events.py
Lib/test/test_asyncio/test_waitfor.py
Lib/test/test_asyncio/test_windows_events.py
Lib/test/test_asyncio/test_windows_utils.py
Lib/test/test_asyncio/utils.py
Lib/test/test_concurrent_futures/test_interpreter_pool.py
Lib/test/test_coroutines.py
Lib/test/test_inspect/test_inspect.py
Lib/test/test_logging.py
Lib/test/test_os.py
Lib/test/test_unittest/test_async_case.py
Lib/test/test_unittest/testmock/testasync.py
Misc/NEWS.d/next/Library/2025-05-25-11-02-05.gh-issue-134657.3YFhR9.rst [new file with mode: 0644]

index 4be7112fa017d410dd0c7d18d421f94d9fd35389..32a5dbae03af2165847da1ff334b6ebb2c3521f9 100644 (file)
@@ -51,15 +51,24 @@ else:
 def __getattr__(name: str):
     import warnings
 
-    deprecated = {
-        "AbstractEventLoopPolicy",
-        "DefaultEventLoopPolicy",
-        "WindowsSelectorEventLoopPolicy",
-        "WindowsProactorEventLoopPolicy",
-    }
-    if name in deprecated:
-        warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
-        # deprecated things have underscores in front of them
-        return globals()["_" + name]
+    match name:
+        case "AbstractEventLoopPolicy":
+            warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
+            return events._AbstractEventLoopPolicy
+        case "DefaultEventLoopPolicy":
+            warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
+            if sys.platform == 'win32':
+                return windows_events._DefaultEventLoopPolicy
+            return unix_events._DefaultEventLoopPolicy
+        case "WindowsSelectorEventLoopPolicy":
+            if sys.platform == 'win32':
+                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
+                return windows_events._WindowsSelectorEventLoopPolicy
+            # Else fall through to the AttributeError below.
+        case "WindowsProactorEventLoopPolicy":
+            if sys.platform == 'win32':
+                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
+                return windows_events._WindowsProactorEventLoopPolicy
+            # Else fall through to the AttributeError below.
 
     raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
index 2913f901dca65faf372b5c9b3469a2789d088089..a7fb55982abe9ca483995a0f378e6b7be92953fb 100644 (file)
@@ -5,14 +5,11 @@
 # SPDX-FileCopyrightText: Copyright (c) 2015-2021 MagicStack Inc.  http://magic.io
 
 __all__ = (
-    "_AbstractEventLoopPolicy",
     "AbstractEventLoop",
     "AbstractServer",
     "Handle",
     "TimerHandle",
-    "_get_event_loop_policy",
     "get_event_loop_policy",
-    "_set_event_loop_policy",
     "set_event_loop_policy",
     "get_event_loop",
     "set_event_loop",
@@ -791,7 +788,10 @@ def _init_event_loop_policy():
     global _event_loop_policy
     with _lock:
         if _event_loop_policy is None:  # pragma: no branch
-            from . import _DefaultEventLoopPolicy
+            if sys.platform == 'win32':
+                from .windows_events import _DefaultEventLoopPolicy
+            else:
+                from .unix_events import _DefaultEventLoopPolicy
             _event_loop_policy = _DefaultEventLoopPolicy()
 
 
index f69c6a64c39ae6e307d4cce087331bab8c0c58a1..1c1458127db5ac19c8277d73a1bbdc7c4832a1dc 100644 (file)
@@ -28,7 +28,6 @@ from .log import logger
 
 __all__ = (
     'SelectorEventLoop',
-    '_DefaultEventLoopPolicy',
     'EventLoop',
 )
 
index ffc29fa8dc686ac2b6f9976397698395e76805f9..4cf1a075b300135e043745f132da1bd37cb840df 100644 (file)
@@ -97,7 +97,7 @@ class saved_test_environment:
         return support.maybe_get_event_loop_policy()
     def restore_asyncio_events__event_loop_policy(self, policy):
         asyncio = self.get_module('asyncio')
-        asyncio._set_event_loop_policy(policy)
+        asyncio.events._set_event_loop_policy(policy)
 
     def get_sys_argv(self):
         return id(sys.argv), sys.argv, sys.argv[:]
index 636cb33dd9884a2dadca1588562a67bc0c4ee2d9..cd33878d6c74ba6805e5115169da68f862e66ea6 100644 (file)
@@ -629,7 +629,7 @@ class AsyncGenAsyncioTest(unittest.TestCase):
     def tearDown(self):
         self.loop.close()
         self.loop = None
-        asyncio._set_event_loop_policy(None)
+        asyncio.events._set_event_loop_policy(None)
 
     def check_async_iterator_anext(self, ait_class):
         with self.subTest(anext="pure-Python"):
index 22ae0ef35811564c6a942f96dbdd10dae1130415..8c02de77c2474044b2f5c5f7d42287af35304f7e 100644 (file)
@@ -29,7 +29,7 @@ class CustomError(Exception):
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def mock_socket_module():
index 9c386dd2e638150cd1039eabffc97dfe738dbae2..6d3edcc36f5c79baf4fd308f520accbd97f5fc9b 100644 (file)
@@ -5,7 +5,7 @@ from test.test_asyncio import functional as func_tests
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class ReceiveStuffProto(asyncio.BufferedProtocol):
index ad394f44e7e5f6e5bd304a94a30f2fe1c72ee696..f85f39839cbd7988884d7f0df88a49476523e9cb 100644 (file)
@@ -4,7 +4,7 @@ import unittest
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 @unittest.skipUnless(decimal.HAVE_CONTEXTVAR, "decimal is built with a thread-local context")
index 9f3b6f9acef3b621ac2ce0716a11f0f577791743..da79ee9260a0e39f77bbfbe9a204750b3996cb0f 100644 (file)
@@ -13,7 +13,7 @@ MOCK_ANY = mock.ANY
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class EagerTaskFactoryLoopTests:
index 873c503fa02b2142237192837119dcf34893fe69..919d543b0329e9fe2025228f34466445d0f9dc10 100644 (file)
@@ -38,7 +38,7 @@ from test.support import threading_helper
 from test.support import ALWAYS_EQ, LARGEST, SMALLEST
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def broken_unix_getsockname():
@@ -2843,13 +2843,13 @@ class PolicyTests(unittest.TestCase):
             self.assertIsInstance(policy, asyncio.DefaultEventLoopPolicy)
 
     def test_event_loop_policy(self):
-        policy = asyncio._AbstractEventLoopPolicy()
+        policy = asyncio.events._AbstractEventLoopPolicy()
         self.assertRaises(NotImplementedError, policy.get_event_loop)
         self.assertRaises(NotImplementedError, policy.set_event_loop, object())
         self.assertRaises(NotImplementedError, policy.new_event_loop)
 
     def test_get_event_loop(self):
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
         self.assertIsNone(policy._local._loop)
 
         with self.assertRaises(RuntimeError):
@@ -2857,7 +2857,7 @@ class PolicyTests(unittest.TestCase):
         self.assertIsNone(policy._local._loop)
 
     def test_get_event_loop_does_not_call_set_event_loop(self):
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
 
         with mock.patch.object(
                 policy, "set_event_loop",
@@ -2869,7 +2869,7 @@ class PolicyTests(unittest.TestCase):
             m_set_event_loop.assert_not_called()
 
     def test_get_event_loop_after_set_none(self):
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
         policy.set_event_loop(None)
         self.assertRaises(RuntimeError, policy.get_event_loop)
 
@@ -2877,7 +2877,7 @@ class PolicyTests(unittest.TestCase):
     def test_get_event_loop_thread(self, m_current_thread):
 
         def f():
-            policy = asyncio._DefaultEventLoopPolicy()
+            policy = test_utils.DefaultEventLoopPolicy()
             self.assertRaises(RuntimeError, policy.get_event_loop)
 
         th = threading.Thread(target=f)
@@ -2885,14 +2885,14 @@ class PolicyTests(unittest.TestCase):
         th.join()
 
     def test_new_event_loop(self):
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
 
         loop = policy.new_event_loop()
         self.assertIsInstance(loop, asyncio.AbstractEventLoop)
         loop.close()
 
     def test_set_event_loop(self):
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
         old_loop = policy.new_event_loop()
         policy.set_event_loop(old_loop)
 
@@ -2909,7 +2909,7 @@ class PolicyTests(unittest.TestCase):
         with self.assertWarnsRegex(
                 DeprecationWarning, "'asyncio.get_event_loop_policy' is deprecated"):
             policy = asyncio.get_event_loop_policy()
-            self.assertIsInstance(policy, asyncio._AbstractEventLoopPolicy)
+            self.assertIsInstance(policy, asyncio.events._AbstractEventLoopPolicy)
             self.assertIs(policy, asyncio.get_event_loop_policy())
 
     def test_set_event_loop_policy(self):
@@ -2922,7 +2922,7 @@ class PolicyTests(unittest.TestCase):
                 DeprecationWarning, "'asyncio.get_event_loop_policy' is deprecated"):
             old_policy = asyncio.get_event_loop_policy()
 
-        policy = asyncio._DefaultEventLoopPolicy()
+        policy = test_utils.DefaultEventLoopPolicy()
         with self.assertWarnsRegex(
                 DeprecationWarning, "'asyncio.set_event_loop_policy' is deprecated"):
             asyncio.set_event_loop_policy(policy)
@@ -3034,13 +3034,13 @@ class GetEventLoopTestsMixin:
         class TestError(Exception):
             pass
 
-        class Policy(asyncio._DefaultEventLoopPolicy):
+        class Policy(test_utils.DefaultEventLoopPolicy):
             def get_event_loop(self):
                 raise TestError
 
-        old_policy = asyncio._get_event_loop_policy()
+        old_policy = asyncio.events._get_event_loop_policy()
         try:
-            asyncio._set_event_loop_policy(Policy())
+            asyncio.events._set_event_loop_policy(Policy())
             loop = asyncio.new_event_loop()
 
             with self.assertRaises(TestError):
@@ -3068,7 +3068,7 @@ class GetEventLoopTestsMixin:
                 asyncio.get_event_loop()
 
         finally:
-            asyncio._set_event_loop_policy(old_policy)
+            asyncio.events._set_event_loop_policy(old_policy)
             if loop is not None:
                 loop.close()
 
@@ -3078,9 +3078,9 @@ class GetEventLoopTestsMixin:
         self.assertIs(asyncio._get_running_loop(), None)
 
     def test_get_event_loop_returns_running_loop2(self):
-        old_policy = asyncio._get_event_loop_policy()
+        old_policy = asyncio.events._get_event_loop_policy()
         try:
-            asyncio._set_event_loop_policy(asyncio._DefaultEventLoopPolicy())
+            asyncio.events._set_event_loop_policy(test_utils.DefaultEventLoopPolicy())
             loop = asyncio.new_event_loop()
             self.addCleanup(loop.close)
 
@@ -3106,7 +3106,7 @@ class GetEventLoopTestsMixin:
                 asyncio.get_event_loop()
 
         finally:
-            asyncio._set_event_loop_policy(old_policy)
+            asyncio.events._set_event_loop_policy(old_policy)
             if loop is not None:
                 loop.close()
 
index 110996c348554cef719a46a58c648c45367312c2..d874ed00bd7e7ad8d8a71d1e10a96ed5dfdfdd4b 100644 (file)
@@ -15,7 +15,7 @@ class MyException(Exception):
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class TestFreeThreading:
index 39bef465bdb71765835d93defad7c1ce8c9eaf4a..666f9c9ee187836853894c5400e27c42b3036f7e 100644 (file)
@@ -17,7 +17,7 @@ from test import support
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def _fakefunc(f):
index e2cddea01ecd9344b1590ab394f4f33ea993b5bd..c7c0ebdac1b6760fdc3a29d9e43c3e303769bc7d 100644 (file)
@@ -7,7 +7,7 @@ from asyncio import tasks
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class FutureTests:
index 62f6593c31d2d1e988539854424bb74408a84b35..2f22fbccba42bc811ff664b6a98d97edd362a4ed 100644 (file)
@@ -5,7 +5,7 @@ import unittest
 
 # To prevent a warning "test altered the execution environment"
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def capture_test_stack(*, fut=None, depth=1):
index 047f03cbb14b564faa3c0d3db5d8e786ed1be859..e025d2990a3f8a52b29fde816d091e623010b934 100644 (file)
@@ -20,7 +20,7 @@ RGX_REPR = re.compile(STR_RGX_REPR)
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class LockTests(unittest.IsolatedAsyncioTestCase):
index 48f4a75e0fd56c8c91457771d2f80d6dcab4ddf8..a0c8434c9457d2ceadb99dbfa0067bd4d9494019 100644 (file)
@@ -11,7 +11,7 @@ from test.test_asyncio import utils as test_utils
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 # Test that asyncio.iscoroutine() uses collections.abc.Coroutine
index 24c4e8546b17aaf76d8c42ec891267213d6c865c..b25daaface0807f13ca690e652e8ff891b539c13 100644 (file)
@@ -18,7 +18,7 @@ from test.test_asyncio import utils as test_utils
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def close_transport(transport):
index 4484a0319885337f7d05dce6fa8c222083d19d1d..29d3bd22705c6af1365b74a0398014a7d97bf924 100644 (file)
@@ -7,7 +7,7 @@ import asyncio
 def tearDownModule():
     # not needed for the test file but added for uniformness with all other
     # asyncio test files for the sake of unified cleanup
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class ProtocolsAbsTests(unittest.TestCase):
index 090b9774c2289f0994688f86750e6104340d3abc..54bbe79f81ff69b136c1ab1779f275bc062ef4ce 100644 (file)
@@ -6,7 +6,7 @@ from types import GenericAlias
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class QueueBasicTests(unittest.IsolatedAsyncioTestCase):
index 21f277bc2d8d5f199d3152730508e59304c02a3c..8a4d7f5c796661f10882815c2eb2d4a69059acdb 100644 (file)
@@ -12,14 +12,14 @@ from unittest.mock import patch
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 def interrupt_self():
     _thread.interrupt_main()
 
 
-class TestPolicy(asyncio._AbstractEventLoopPolicy):
+class TestPolicy(asyncio.events._AbstractEventLoopPolicy):
 
     def __init__(self, loop_factory):
         self.loop_factory = loop_factory
@@ -61,15 +61,15 @@ class BaseTest(unittest.TestCase):
         super().setUp()
 
         policy = TestPolicy(self.new_loop)
-        asyncio._set_event_loop_policy(policy)
+        asyncio.events._set_event_loop_policy(policy)
 
     def tearDown(self):
-        policy = asyncio._get_event_loop_policy()
+        policy = asyncio.events._get_event_loop_policy()
         if policy.loop is not None:
             self.assertTrue(policy.loop.is_closed())
             self.assertTrue(policy.loop.shutdown_ag_run)
 
-        asyncio._set_event_loop_policy(None)
+        asyncio.events._set_event_loop_policy(None)
         super().tearDown()
 
 
@@ -208,7 +208,7 @@ class RunTests(BaseTest):
             await asyncio.sleep(0)
             return 42
 
-        policy = asyncio._get_event_loop_policy()
+        policy = asyncio.events._get_event_loop_policy()
         policy.set_event_loop = mock.Mock()
         asyncio.run(main())
         self.assertTrue(policy.set_event_loop.called)
@@ -259,7 +259,7 @@ class RunTests(BaseTest):
             loop.set_task_factory(Task)
             return loop
 
-        asyncio._set_event_loop_policy(TestPolicy(new_event_loop))
+        asyncio.events._set_event_loop_policy(TestPolicy(new_event_loop))
         with self.assertRaises(asyncio.CancelledError):
             asyncio.run(main())
 
@@ -495,7 +495,7 @@ class RunnerTests(BaseTest):
         async def coro():
             pass
 
-        policy = asyncio._get_event_loop_policy()
+        policy = asyncio.events._get_event_loop_policy()
         policy.set_event_loop = mock.Mock()
         runner = asyncio.Runner()
         runner.run(coro())
index aab6a779170eb937ae7a38b0e235cb97f6f5680f..7b6d1bce5e460f457329d0a75c519e6117f2b0fc 100644 (file)
@@ -24,7 +24,7 @@ MOCK_ANY = mock.ANY
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class TestBaseSelectorEventLoop(BaseSelectorEventLoop):
index e1b766d06cbe1e6201bbe16709b7420635e8941c..dcd963b3355ef86a5c69075797b35f4aedd774f1 100644 (file)
@@ -22,7 +22,7 @@ except ImportError:
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class MySendfileProto(asyncio.Protocol):
index 32211f4cba32cba44d1b6326a97c1867346bbfbd..5bd0f7e2af4f8495737727f2c9d78a6f8cba9d3f 100644 (file)
@@ -11,7 +11,7 @@ from test.test_asyncio import functional as func_tests
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class BaseStartServer(func_tests.FunctionalTestCaseMixin):
index 4f7b9a1dda6b788a4efc092f9ec718e94201a7e7..df4ec7948975f60127e9c2de98e9e526fb91a503 100644 (file)
@@ -15,7 +15,7 @@ if socket_helper.tcp_blackhole():
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class MyProto(asyncio.Protocol):
index 3a7185cd8974d0ab382f4af8aeab995a9ee167c7..06118f3a61587b18ba9440ff8930c7d1ce157e96 100644 (file)
@@ -30,7 +30,7 @@ BUF_MULTIPLIER = 1024 if not MACOS else 64
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class MyBaseProto(asyncio.Protocol):
index aa248c5786f634c37627c685a3842a8af3600dfa..3e304c166425b0b87011102b3fb49c9aa9b16c82 100644 (file)
@@ -21,7 +21,7 @@ from test.test_asyncio import functional as func_tests
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 @unittest.skipIf(ssl is None, 'No ssl module')
index ad34aa6da01f546dc97cfd1e0cb4215ebafcc6e2..32e4817b70d7173279d7c4fb248a2ba4f8debf06 100644 (file)
@@ -8,7 +8,7 @@ support.requires_working_socket(module=True)
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class StaggeredTests(unittest.IsolatedAsyncioTestCase):
index 4fa4384346f9e9e359daa67617284f7448fe44fd..f93ee54abc6469f4d9612fa3a3788138005805a7 100644 (file)
@@ -18,7 +18,7 @@ from test.support import socket_helper
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class StreamTests(test_utils.TestCase):
index 341e3e979e002b106e43e78409bd045c75030eed..3a17c169c34f12a8db89140af92536f6b19951fa 100644 (file)
@@ -37,7 +37,7 @@ PROGRAM_CAT = [
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class TestSubprocessTransport(base_subprocess.BaseSubprocessTransport):
index 0d69a436fdb8404a6e5e3997b98c451352279382..91f6b03b4597a5078dd2a3753b7377827eb521f3 100644 (file)
@@ -15,7 +15,7 @@ from test.test_asyncio.utils import await_without_task
 
 # To prevent a warning "test altered the execution environment"
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class MyExc(Exception):
index f6f976f213ac02e14a7f2b70435bfcd37569edbe..931a43816a257a6538ef11bce8382b11c2222028 100644 (file)
@@ -24,7 +24,7 @@ from test.support.warnings_helper import ignore_warnings
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 async def coroutine_function():
index c98c9a9b395ff946b852ba95980c700395d2f2e8..8ad5f9b2c9e75058d71ec73258fda2af54bd2bbc 100644 (file)
@@ -8,7 +8,7 @@ from unittest import mock
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class ToThreadTests(unittest.IsolatedAsyncioTestCase):
index 3ba84d63b2ca5fd754b45377749041986b5c31a3..f60722c48b7617940690ffe0203b45666807edc7 100644 (file)
@@ -9,7 +9,7 @@ from test.test_asyncio.utils import await_without_task
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 class TimeoutTests(unittest.IsolatedAsyncioTestCase):
 
index af10d3dc2a80df07f15867b78ba53ecfbd7e7142..dbb572e2e1536b3fdaeb9d9959da885844c0dbfe 100644 (file)
@@ -10,7 +10,7 @@ from asyncio import transports
 def tearDownModule():
     # not needed for the test file but added for uniformness with all other
     # asyncio test files for the sake of unified cleanup
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class TransportTests(unittest.TestCase):
index e020c1f3e4f6770fdd1bb8d601c1c2dbd302931b..22982dc9d8aefef159cedc1b9d1999222a966d31 100644 (file)
@@ -30,7 +30,7 @@ from test.test_asyncio import utils as test_utils
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 MOCK_ANY = mock.ANY
index d083f6b4d2a535ce6cd9e57676bc5d942abf6c36..dedc6bf69d770e4540da7e402eeee011e7b65504 100644 (file)
@@ -5,7 +5,7 @@ from test import support
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 # The following value can be used as a very small timeout:
index 69e9905205eee0a1bbd3432ec772ddcd29222e25..0af3368627afca7d7ec750e5da8524228bf6d34a 100644 (file)
@@ -19,7 +19,7 @@ from test.test_asyncio import utils as test_utils
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class UpperProto(asyncio.Protocol):
@@ -330,16 +330,16 @@ class WinPolicyTests(WindowsEventsTestCase):
         async def main():
             self.assertIsInstance(asyncio.get_running_loop(), asyncio.SelectorEventLoop)
 
-        old_policy = asyncio._get_event_loop_policy()
+        old_policy = asyncio.events._get_event_loop_policy()
         try:
             with self.assertWarnsRegex(
                 DeprecationWarning,
                 "'asyncio.WindowsSelectorEventLoopPolicy' is deprecated",
             ):
-                asyncio._set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
+                asyncio.events._set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
             asyncio.run(main())
         finally:
-            asyncio._set_event_loop_policy(old_policy)
+            asyncio.events._set_event_loop_policy(old_policy)
 
     def test_proactor_win_policy(self):
         async def main():
@@ -347,16 +347,16 @@ class WinPolicyTests(WindowsEventsTestCase):
                 asyncio.get_running_loop(),
                 asyncio.ProactorEventLoop)
 
-        old_policy = asyncio._get_event_loop_policy()
+        old_policy = asyncio.events._get_event_loop_policy()
         try:
             with self.assertWarnsRegex(
                 DeprecationWarning,
                 "'asyncio.WindowsProactorEventLoopPolicy' is deprecated",
             ):
-                asyncio._set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
+                asyncio.events._set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
             asyncio.run(main())
         finally:
-            asyncio._set_event_loop_policy(old_policy)
+            asyncio.events._set_event_loop_policy(old_policy)
 
 
 if __name__ == '__main__':
index a6b207567c4f0050d8fe9ed1810494310a2567db..97f078ff911b5a664eeecf242a34baf4e0d94161 100644 (file)
@@ -16,7 +16,7 @@ from test import support
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class PipeTests(unittest.TestCase):
index 0a96573a81c173782b0993bd36fd6cb34aaec1d2..a480e16e81bb91aea01822bd7192d493547eff9f 100644 (file)
@@ -601,3 +601,9 @@ async def await_without_task(coro):
     await asyncio.sleep(0)
     if exc is not None:
         raise exc
+
+
+if sys.platform == 'win32':
+    DefaultEventLoopPolicy = asyncio.windows_events._DefaultEventLoopPolicy
+else:
+    DefaultEventLoopPolicy = asyncio.unix_events._DefaultEventLoopPolicy
index b10bbebd0984c408565c93f5cde6e52718d01f0d..d5c032d01cdf5d6a39bc9b6c34d33ea478cceadc 100644 (file)
@@ -512,7 +512,7 @@ class AsyncioTest(InterpretersMixin, testasyncio_utils.TestCase):
         # tests left a policy in place, just in case.
         policy = support.maybe_get_event_loop_policy()
         assert policy is None, policy
-        cls.addClassCleanup(lambda: asyncio._set_event_loop_policy(None))
+        cls.addClassCleanup(lambda: asyncio.events._set_event_loop_policy(None))
 
     def setUp(self):
         super().setUp()
index 4755046fe1904d7b7974a044eb137df595a08145..42b13064befaa939d0514132c824b282ac1dec2d 100644 (file)
@@ -2307,7 +2307,7 @@ class CoroAsyncIOCompatTest(unittest.TestCase):
             pass
         finally:
             loop.close()
-            asyncio._set_event_loop_policy(None)
+            asyncio.events._set_event_loop_policy(None)
 
         self.assertEqual(buffer, [1, 2, 'MyException'])
 
index 79eb103224b956296b8a2ba1fd2f79640efe97ab..0ea029b977b3fcb861eb5e0d6950de6733bc3250 100644 (file)
@@ -2820,7 +2820,7 @@ class TestGetAsyncGenState(unittest.IsolatedAsyncioTestCase):
 
     @classmethod
     def tearDownClass(cls):
-        asyncio._set_event_loop_policy(None)
+        asyncio.events._set_event_loop_policy(None)
 
     def _asyncgenstate(self):
         return inspect.getasyncgenstate(self.asyncgen)
index 3819965ed2cbf905c6b1be05d7e1133a6973adef..275f7ce47d09b5865b8aa9a20eab10c96cc34e0a 100644 (file)
@@ -5421,7 +5421,7 @@ class LogRecordTest(BaseTest):
                 logging.logAsyncioTasks = False
                 runner.run(make_record(self.assertIsNone))
         finally:
-            asyncio._set_event_loop_policy(None)
+            asyncio.events._set_event_loop_policy(None)
 
     @support.requires_working_socket()
     def test_taskName_without_asyncio_imported(self):
@@ -5433,7 +5433,7 @@ class LogRecordTest(BaseTest):
                 logging.logAsyncioTasks = False
                 runner.run(make_record(self.assertIsNone))
         finally:
-            asyncio._set_event_loop_policy(None)
+            asyncio.events._set_event_loop_policy(None)
 
 
 class BasicConfigTest(unittest.TestCase):
@@ -5758,7 +5758,7 @@ class BasicConfigTest(unittest.TestCase):
                 data = f.read().strip()
             self.assertRegex(data, r'Task-\d+ - hello world')
         finally:
-            asyncio._set_event_loop_policy(None)
+            asyncio.events._set_event_loop_policy(None)
             if handler:
                 handler.close()
 
index 5217037ae9d812157e81317bd2a8ebb37871b995..1e50dc43c35f5c01f08c837fac582bea2c1ae5c2 100644 (file)
@@ -104,7 +104,7 @@ requires_splice_pipe = unittest.skipIf(sys.platform.startswith("aix"),
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class MiscTests(unittest.TestCase):
index 993e6bf013cfbf50a5413f2ff40c8bf2d51387e7..91d45283eb3b1bb93086df59388080af89c3b8eb 100644 (file)
@@ -12,7 +12,7 @@ class MyException(Exception):
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class TestCM:
@@ -480,7 +480,7 @@ class TestAsyncCase(unittest.TestCase):
 
         class TestCase1(unittest.IsolatedAsyncioTestCase):
             def setUp(self):
-                asyncio._get_event_loop_policy().get_event_loop()
+                asyncio.events._get_event_loop_policy().get_event_loop()
 
             async def test_demo1(self):
                 pass
@@ -490,7 +490,7 @@ class TestAsyncCase(unittest.TestCase):
         self.assertTrue(result.wasSuccessful())
 
     def test_loop_factory(self):
-        asyncio._set_event_loop_policy(None)
+        asyncio.events._set_event_loop_policy(None)
 
         class TestCase1(unittest.IsolatedAsyncioTestCase):
             loop_factory = asyncio.EventLoop
index 0791675b5401ca1de268d8cf7a3f735162b61e1d..dc36ceeb6502e847a6183c06509a4efc55065d12 100644 (file)
@@ -15,7 +15,7 @@ from unittest.mock import (ANY, call, AsyncMock, patch, MagicMock, Mock,
 
 
 def tearDownModule():
-    asyncio._set_event_loop_policy(None)
+    asyncio.events._set_event_loop_policy(None)
 
 
 class AsyncClass:
diff --git a/Misc/NEWS.d/next/Library/2025-05-25-11-02-05.gh-issue-134657.3YFhR9.rst b/Misc/NEWS.d/next/Library/2025-05-25-11-02-05.gh-issue-134657.3YFhR9.rst
new file mode 100644 (file)
index 0000000..1bf8ee5
--- /dev/null
@@ -0,0 +1 @@
+:mod:`asyncio`: Remove some private names from ``asyncio.__all__``.