Skip to Content
Asynchronous Python Programming with Asyncio and Async/await: Learn to Write Robust and Modern Asynchronous Code
on-demand course

Asynchronous Python Programming with Asyncio and Async/await: Learn to Write Robust and Modern Asynchronous Code

with Coen de Groot
February 2022
Intermediate to advanced
1h 40m
English
Apress
Closed Captioning available in English

Overview

Asynchronous Python Programming using asyncio and async/await lets you write code that runs many processes concurrently. It makes your code more responsive and stops it from wasting time waiting for slow file and internet access. It is simpler to write, easier to reason about, and uses less memory than threads and processes.

We start the video with an overview of asyncio, showing the building blocks and core syntax in a few simple examples. Next, you will see how to make normal Python code work in an asynchronous environment, to minimize blocking and facilitate cooperative multi-tasking. Further, we cover an asyncio use-case working with network connections such as web servers using asynio’s streams API, followed by communication between coroutines and synchronization of coroutines. We will also look at using the asyncio library to easily wrap blocking code into threads and processes, and some non-blocking replacement libraries used with asyncio such as aiohttp and aiofiles. The uvloop and unsync libraries will be discussed as ways to speed up and simplify your asyncio code. The following section covers writing more robust asyncio code to test and debug your code, handle stuck tasks using time out, logging and error handling and task management.

Having gained a firm understanding of how to code using asyncio, the course finishes with a look under the hood. This starts by walking you through a hand-coded example of an event loop (the core of asyncio), an overview of the different types of awaitables and some useful functions of the event loop which gives you fine grain control

What you will learn:

  • What are the differences between asyncio, threads and processes
  • How to run code concurrently using coroutines, asyncio, and async/await
  • How to work with network connections using streams
  • How to write robust and modern asynchronous code
  • How asyncio works and how to use the low level functions for fine-grain control

Who this video is for
Intermediate to experienced Python programmers who want to speed up existing Python code and make it more responsive by using async/await and asyncio


Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Watch now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Mastering Concurrency in Python

Mastering Concurrency in Python

Quan Nguyen

Publisher Resources

ISBN: 9781484281406