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.
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
Who This Book Is For
- 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
Experienced Python developers or hobbyists who want to understand asyncio and speed up their applications by adding concurrency to their toolkit.
Said El Mallouki is a textbook computer geek with decades of experience designing and developing enterprise IT systems. His early encounters with the internals of computers took place at IBM's production facility in Germany more than two decades ago. In his current occupation as a technology lead, he works on innovative, cutting edge projects.
The intricacies of complex distributed systems have always been on the top of his interest list. With three degrees in IT, business, and marketing, he combines a solid theoretical foundation with plenty of real-life experience.
He lives by the Rhine in Germany with his wife Andrea and their 18-month-old son, Felix. His current favorite leisure activity is to be a devoted father.
Chapter 1: Preparing for the Recipes
Chapter 2: Working with Event Loops
Chapter 3: Working with Coroutines and async/await
Chapter 4: Working with async Generators
Chapter 5: Working with async Context Manager
Chapter 6: Communication Between asyncio Components
Chapter 7: Synchronization Between asyncio Components
Chapter 8: Improving asyncio Applications
Chapter 9: Working with Network Protocols
Chapter 10: Preventing Common asyncio Mistakes
Appendix A: Setting up Your Environment
Appendix B: Event Loops OS Specifics