From the PEP:
Why not a __future__ import
__future__ imports are inconvenient and easy to forget to add.
That is a horrible rationale for not using an import. By that logic we should have everything in built-ins. ;)
Working example ...
The working example only uses async def and await, not async with nor async for nor __aenter__, etc., etc.
Could you put in a more complete example -- maybe a basic chat room with both server and client -- that demonstrated more of the new possibilities?
Having gone through the PEP again, I am still no closer to understanding what happens here:
data = await reader.read(8192)
What does the flow of control look like at the interpreter level?