◐ Shell
clean mode source ↗

bpo-38242: Revert new asyncio streaming API by aeros · Pull Request #16455 · python/cpython

Motivation: Comment in bpo issue from @1st1:

My final opinion on this issue: we must revert the new streaming API from asyncio and take our time to design it properly. I don't like what we have in the 3.8 branch right now. I don't feel comfortable rushing decisions and doing last minute API changes.

Reverts the following commits from 3.8:

Merge asyncio streams (primary reversion):
23b4b69

Documentation:
b9bfe14
7268fd0
ed9f356

Minor test changes (incompatible with asyncio.StreamReader and asyncio.StreamWriter):
4cdbc452ce3

Manual resolution of several conflicts was also required, the majority were for retaining the deprecation of explicitly passing the loop argument for tasks (345bfc9). There might be a few deprecation warnings missing, still working on adding some back.

This PR must be carefully reviewed, especially since it is removing multiple tests that no longer function properly without the changes made in 23b4b69. It is important to be 100% certain that no additional tests were removed. I believe @asvetlov would be the most qualified individual to verify the tests are in a correct state, since he wrote the majority of the tests related to the new streaming API.

It is most of the way there, but additional changes may be needed before it is complete. Until we are certain, I am adding the DO-NOT-MERGE label.

To @1st1 and @asvetlov:

I have enabled "Allow edits from maintainers" (as I usually do). Please feel free to directly commit changes into the PR. I would appreciate review feedback so that I can understand the reasons behind any changes made, but you certainly don't have to wait on me to make any changes to the PR. Especially since this is a release blocker for 3.8.0.

https://bugs.python.org/issue38242