The talk is aimed to give attendees a clear picture of new asyncio features in Python 3.7 and give an idea of what to expect in Python 3.8. As a CPython core developer and the lead asyncio maintainer I believe I have a unique perspective to share with EuroPython guests.
Python 3.7 boasts a number of new amazing features:
- start TLS
- new high performance buffered protocols
- context-local state via PEP 567
- asyncio.run & create_task & other usability improvements
- many performance improvements
The first part of the talk will be focusing on new APIs to explain them and give ideas how they can be used in production.
The second part of the talk will be focused on what to expect to see in asyncio in Python 3.8:
- new performance tracking & profiling API
- supervisors & cancel scopes
- new timeouts API
- a completely new way of writing asyncio applications
Some of these ideas are borrowed from Trio and Curio (two other popular async/await Python frameworks), many are borrowed from languages like Erlang and Scala. One thing I can say for certain is that 3.8 will be the biggest and most interesting asyncio release ever!