Using Asyncio in Python: Understanding Python's Asynchronous Programming Features

Hattingh, Caleb





If you're among the Python developers put off by Asyncio's complexity, it's time to take another look. Asyncio is complicated because it aims to solve problems in concurrent network programming for both framework developers and end-user developers like you. The features you need to consider are a small subset of the whole Asyncio API, but picking out the right features is the tricky part. That's where this practical book comes in.

Veteran Python developer Caleb Hattingh helps end-user developers gain a basic understanding of Asyncio's building blocks--enough to get you started writing simple event-based programs. You'll learn why Asyncio offers a safer alternative to preemptive multitasking (threading) and how this API provides a simple way to support thousands of simultaneous socket connections.

  • Get a critical comparison of Asyncio and threading for concurrent network programming
  • Take an Asyncio walkthrough, including a quickstart guide to help you hit the ground looping with event-based programming
  • Learn the difference between Asyncio features for end-user developers and those for framework developers
  • Understand Asyncio's new async/await language syntax, including coroutines and task and future APIs
  • Get detailed case studies (with code) of some popular Asyncio-compatible third-party libraries


Caleb Hattingh is passionate about coding and has been programming for over 20 years, specializing in Python. He holds a master's degree in chemical engineering and has consequently written a great deal of scientific software within chemical engineering, from dynamic chemical reactor models all the way through to data analysis. He is very experienced with the Python scientific software stack, as well as CRM, financial software development in the hospitality industry, GPS tracking, natural-language processing, and various other projects.