Want to retrieve data from the Internet? Create a chat server? Even serve Web applications or work with a database? Increasingly Python developers are turning to "asyncio", a relatively new part of the standard library. On the one hand, asyncio requires that you think differently about concurrency, and how your programs are designed. On the other hand, asyncio simplifies many aspects of concurrency that frustrated developers in the past.
In this recording of a four-hour course I gave in October 2021, I introduce you to asyncio: What it is (and isn't), how it works (and doesn't), and how to create simple asyncio programs. I talk about the "async" and "await" keywords, how we can create programs that consume data with asycnio, and how we can create simple network servers using it. I also discuss when asyncio can work together with threads (and why you would want to do such a thing), which popular Python packages are starting to use it, and some of the more interesting use cases for asyncio.
All of the documents I created for this class are available to anyone who purchases this course.