Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases
The Real Python Podcast
May 01, 2020 1h 27m
Want to learn more about AsyncIO in Python, with an example where you can see and hear events being triggered in real-time? This week we have Łukasz Langa on the show. Łukasz has created a talk for PyCon 2020 online about using AsyncIO with Music.
In his talk he shows live examples of coroutines, gathering, the event loop and events being triggered to create a piece of music. We also talk about his role as the release manager for Python 3.8 and 3.9. Łukasz provides background on the origins of his very popular, uncompromising code formatter, Black, and the types of problems it can solve inside of an organization.
Łukasz previously worked for Facebook, which is where he started Black. He talks about recently moving back to Poland. We discuss his current work for Edge DB, building a new generation object-relational database.
Topics:
- 00:00:00 – Introduction
- 00:01:32 – Łukasz’s background
- 00:03:22 – Leaving Facebook and moving back to Poland
- 00:05:26 – Starting work with EdgeDB
- 00:06:07 – What is Edge DB?
- 00:12:28 – AsyncIO + Music PyCon 2020 talk
- 00:18:56 – More AsyncIO resources
- 00:23:36 – Comparing the event loop to a game loop
- 00:27:12 – Coroutines and gather
- 00:30:00 – A conversation with Glyph
- 00:33:40 – Bigger ideas for the AsyncIO MIDI sequencer
- 00:35:41 – Using uvloop as a replacement for the built-in reference AsyncIO loop
- 00:39:13 – Thoughts on MIDI 2.0
- 00:46:30 – Origins of Black
- 00:53:51 – Black grows in popularity
- 00:58:35 – What is involved in being the Python 3.9 release manager?
- 01:02:22 – The Python language summit
- 01:07:44 – Is the beta on schedule?
- 01:09:27 – How did you get the role of Release Manager?
- 01:15:09 – What are you excited about in the world of Python?
- 01:19:02 – If you were learning Python from scratch, what would do differently?
- 01:22:18 – What is something you thought you knew about Python, but were wrong about?
- 01:26:05 – Goodbye and Thanks
Show links:
- Łukasz Langa - AsyncIO + Music - PyCon 2020
- Edge DB: The next generation database
- Edge DB YouTube Channel - Learn Python’s AsyncIO - Series
- PyCon 2020 Online Launch!
- code::dive 2017 – Łukasz Langa – Thinking in coroutines
- code::dive 2019 - Łukasz Langa - AsyncIO and Music - Earlier version
- John Carmack: “it’s time to start pushing forward on higher frame-rate, lower latency” - PCGamesN
- Glyph Lefkowitz: Wikipedia Article
- Orca: an esoteric programming language designed to quickly create procedural sequencer
- uvloop: an ultra fast implementation of the asyncio event loop
- Introducing MIDI 2.0 - Sound on Sound
- Polyend Tracker: Break the pattern
- YAPF: Python code formatter from Google
- Black: The uncompromising Python code formatter
- Łukasz Langa - Life Is Better Painted Black, or: How to Stop Worrying and Embrace Auto-Formatting - PyCon 2019
- The 2020 Python Language Summit
- Winterbloom: Synth Modules You Can Make Your Own
- Starlette: ✨ The little ASGI framework that shines. ✨
- CircuitPython
- ambv - Łukasz Langa’s GitHub