Resources: Async Python¶
All resources listed here have been verified to exist. URLs are provided only where a stable, canonical URL is known. For books, check your preferred retailer.
Official Documentation¶
-
asyncio — Asynchronous I/O (Python docs) — The official Python standard library documentation for asyncio. Authoritative and comprehensive; the API reference sections are essential reading once you understand the concepts from this topic's modules.
-
FastAPI Documentation — FastAPI's docs include excellent practical coverage of async Python in a web context. The "Concurrency and async / await" page is especially useful for Module 01.
-
aiohttp Documentation — Official docs for the aiohttp async HTTP client/server library, covering client usage, connection pooling, and timeouts in detail.
-
pytest-asyncio Documentation — Official docs for pytest-asyncio, covering fixture modes, event loop scoping, and integration with pytest.
Books¶
-
"Using asyncio in Python" by Caleb Hattingh (O'Reilly) — [Verify URL before publishing: check O'Reilly catalog] — A focused, practical book on asyncio specifically. Covers the event loop, coroutines, tasks, and real-world patterns. Recommended for Modules 01–05.
-
"Python Cookbook, 3rd Edition" by David Beazley and Brian K. Jones (O'Reilly) — [Verify URL before publishing: check O'Reilly catalog] — Chapter 12 covers concurrency including asyncio patterns. Excellent for seeing how async fits into the broader Python ecosystem. The recipes format makes it useful as a reference.
-
"Fluent Python, 2nd Edition" by Luciano Ramalho (O'Reilly) — [Verify URL before publishing: check O'Reilly catalog] — Part V covers concurrency models including asyncio. Ramalho's explanations of coroutine internals (how they relate to generators) are among the clearest available in print.
Articles and Deep Dives¶
-
Python Docs: Developing with asyncio — Official guidance on debugging, common mistakes, and development best practices for asyncio applications.
-
PEP 492 — Coroutines with async and await syntax — The original Python Enhancement Proposal that introduced
async defandawait. Reading the motivation section gives deep insight into the design decisions. -
PEP 654 — Exception Groups and except* — The PEP that introduced TaskGroup and exception groups. Essential reading before Module 06 (Structured Concurrency).
Libraries and Tools¶
-
anyio — A cross-runtime async compatibility library that works on asyncio, Trio, and Curio. Covered in Module 06. Useful for writing library code that is not tied to a specific event loop implementation.
-
aiofiles — Async file I/O wrapper. Covered in Module 04. Simple API; wraps standard file operations to be non-blocking.
-
asyncpg — High-performance async PostgreSQL client. Covered in Module 08. Significantly faster than psycopg2 for async workloads.
-
SQLAlchemy async extension — Official SQLAlchemy docs for the async session API. Essential reading for Module 08.