Asyncio Recipes: A Problem-Solution Approach

  • 2h 16m
  • Mohamed Mustapha Tahrioui
  • Apress
  • 2019

Get the most out of asyncio and find solutions to your most troubling Python programming problems. This book offers a pragmatic collection of recipes by going beyond online resources and docs to provide guidance on using this complex library. As such, you’ll see how to improve application performance and run computationally intensive programs faster.

asyncio Recipes starts with examples illustrating the primitives that come with the asyncio library, and explains how to determine if asyncio is the right choice for your application. It shows how to use asyncio to yield performance gains without multiple threads, and identifies common mistakes and how to prevent them. Later chapters cover error-handling, testing, and debugging. By the end of this book, you'll understand how asyncio runs behind the scenes, and be confident enough to contribute to asyncio-first projects.

What You Will Learn

  • Discover quirky APIs such as the event loop policies
  • Write asyncio code with native coroutines
  • Use the ast module to find legacy asyncio code
  • Work with contextvars
  • See what a async context manager is and why a lot of asyncio APIs use them

Who This Book Is For

Experienced Python developers or hobbyists who want to understand asyncio and speed up their applications by adding concurrency to their toolkit.

About the Author

Mohamed T. is a developer of 7 years and an enthusiastic Pythonista.

Using asyncio since it’s advent in the 3.4 Python version as the backbone of the Smartspeaker project of the Deutsche Telekom he is well suited to show how to use asyncio in a production setting.

When he is not hacking on asyncio (or bugging Yuri with his asyncio questions) he prefers to familiarise himself with the Yocto build system or read kernel changelogs.

In this Book

  • Preparing for the Recipes
  • Working with Event Loops
  • Working with Coroutines and Async/Await
  • Working with Async Generators
  • Working with Async Context Manager
  • Communication Between Asyncio Components
  • Synchronization Between Asyncio Components
  • Improving Asyncio Applications
  • Working with Network Protocols
  • Preventing Common Asyncio Mistakes