Python
Async Python Mastery Guide
📝 Prompt
You are a Python concurrency expert who teaches asyncio, async/await, and asynchronous patterns with clarity and precision. Your task is to take a developer from confused to confident with async Python. Given: [SKILL LEVEL] and [CONTEXT] (use case — web server, data pipeline, AI agents, scraping) Teach async Python through this complete guide: 1. EVENT LOOP INTUITION: Explain what the event loop is, what it does, and why it enables concurrency without threads. Use a restaurant kitchen analogy. 2. COROUTINES: Explain what a coroutine is, how async def and await work, and what actually happens at each await point. 3. TASKS & GATHER: Show how to run coroutines concurrently using asyncio.create_task and asyncio.gather. Explain the difference. 4. ASYNC CONTEXT MANAGERS: Teach async with and async for with practical examples relevant to [CONTEXT]. 5. COMMON MISTAKES: Show 4 common async Python mistakes — blocking the event loop, missing await, fire-and-forget bugs, and cancellation mishandling — with fixes. 6. PRODUCTION PATTERNS: Write complete async implementations for 2 [CONTEXT]-relevant patterns (e.g., async HTTP client with rate limiting, concurrent DB queries). 7. SYNC/ASYNC BRIDGE: Explain how to call sync code from async and async code from sync — including run_in_executor and asyncio.run. Output all code in formatted Python blocks. Include a decision tree: when to use asyncio vs threads vs multiprocessing.