Message361229
Yuri proposed it for Python 3.8 but at that time the change was premature.
Now we can reconsider it for 3.9
The problem is that asyncio.get_event_loop() not only returns a loop but also creates it on-demand if the thread is main and the loop doesn't exist.
It leads to weird errors when get_event_loop() is called at import-time and asyncio.run() is used for asyncio code execution.
get_running_loop() is a much better alternative when used *inside* a running loop, run() should be preferred for calling async code at top-level. Low-level new_event_loop()/loop.run_until_complete() are still present to run async code if top-level run() is not suitable for any reason.
asyncio.run() was introduced in 3.7, deprecation on get_event_loop() in 3.8 was able to complicate support of 3.5/3.6 by third-party libraries.
3.5 now reached EOL, 3.6 is in the security-fix mode and going close to EOL. Most people are migrated to newer versions already if they care.
The maintenance burden of the introduced deprecation should be pretty low. |
|
Date |
User |
Action |
Args |
2020-02-02 11:11:37 | asvetlov | set | recipients:
+ asvetlov |
2020-02-02 11:11:37 | asvetlov | set | messageid: <1580641897.21.0.210075972969.issue39529@roundup.psfhosted.org> |
2020-02-02 11:11:37 | asvetlov | link | issue39529 messages |
2020-02-02 11:11:37 | asvetlov | create | |
|