A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python’s syntactic sugar. Brett has written 15 more entries in the series, and he returns to the show this week to continue our conversation. We dive into unravelling ‘async’ and ‘await’ statements and their relationship with Python’s generators.

While working through the series, he has uncovered some issues lying under the surface of CPython. We discuss a couple of these discoveries and how the core developers resolved them.

Brett was recently re-elected to the Python Steering Council, and he talks about how the current direction of the council is shifting. We also discuss how Brett uses Twitter polls to gauge community sentiment and factors it into development decisions.

This conversation covered so many topics that we split it into two episodes. Next week’s episode will continue our discussion.

Course Spotlight: Speed Up Python With Concurrency

Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing.

Topics:

  • 00:00:00 – Introduction
  • 00:01:54 – Python Steering Council Reelection
  • 00:06:06 – Python Extension for VSCode and the Language Server Protocol (LSP)
  • 00:10:38 – Using twitter polls to gauge sentiment
  • 00:19:19 – Sponsor: Honeybadger
  • 00:20:04 – Unravelling Python’s syntactic sugar series
  • 00:25:30 – The desugar GitHub repo and unearthing problems in CPython
  • 00:29:48 – Why have __iter__() for an iterator?
  • 00:32:47 – Is discovering and showcasing these “issues” stressful?
  • 00:35:19 – A reverse chronology of some Python features
  • 00:38:34 – How the heck does async/await work in Python
  • 00:51:29 – Video Course Spotlight
  • 00:52:54 – Using “spam” vs “foo” and metasyntactic variables
  • 00:57:30 – Goodbye

Show Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas