gh-127949: deprecate asyncio.get_event_loop_policy (#128053)

This deprecates `asyncio.get_event_loop_policy` and will be removed in Python 3.16.
This commit is contained in:
Kumar Aditya 2024-12-18 18:04:20 +05:30 committed by GitHub
parent bad3cdefa8
commit dbd08fb60d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 40 additions and 26 deletions

View file

@ -8,6 +8,7 @@ __all__ = (
'AbstractEventLoopPolicy',
'AbstractEventLoop', 'AbstractServer',
'Handle', 'TimerHandle',
'_get_event_loop_policy',
'get_event_loop_policy',
'_set_event_loop_policy',
'set_event_loop_policy',
@ -761,12 +762,15 @@ def _init_event_loop_policy():
_event_loop_policy = DefaultEventLoopPolicy()
def get_event_loop_policy():
def _get_event_loop_policy():
"""Get the current event loop policy."""
if _event_loop_policy is None:
_init_event_loop_policy()
return _event_loop_policy
def get_event_loop_policy():
warnings._deprecated('asyncio.get_event_loop_policy', remove=(3, 16))
return _get_event_loop_policy()
def _set_event_loop_policy(policy):
"""Set the current event loop policy.
@ -778,7 +782,7 @@ def _set_event_loop_policy(policy):
_event_loop_policy = policy
def set_event_loop_policy(policy):
warnings._deprecated('set_event_loop_policy', remove=(3,16))
warnings._deprecated('asyncio.set_event_loop_policy', remove=(3,16))
_set_event_loop_policy(policy)
def get_event_loop():
@ -794,17 +798,17 @@ def get_event_loop():
current_loop = _get_running_loop()
if current_loop is not None:
return current_loop
return get_event_loop_policy().get_event_loop()
return _get_event_loop_policy().get_event_loop()
def set_event_loop(loop):
"""Equivalent to calling get_event_loop_policy().set_event_loop(loop)."""
get_event_loop_policy().set_event_loop(loop)
_get_event_loop_policy().set_event_loop(loop)
def new_event_loop():
"""Equivalent to calling get_event_loop_policy().new_event_loop()."""
return get_event_loop_policy().new_event_loop()
return _get_event_loop_policy().new_event_loop()
# Alias pure-Python implementations for testing purposes.