Skip to content Skip to content
Vladimir Chavkov

Python Async Programming Training

Unlock Python’s full concurrency potential with this focused 2-day training. Master asyncio from the ground up, understand event loops and coroutines, and build high-performance async applications for networking, APIs, and data processing.

Duration2 days (16 hours)
LevelAdvanced
DeliveryIn-person, Live online, Hybrid
CertificationN/A
  • Python developers building high-concurrency applications
  • Backend engineers optimizing API throughput
  • DevOps engineers writing async tooling and automation
  • Anyone working with I/O-bound Python workloads

After completing this training, participants will be able to:

  • Write correct async/await code with asyncio coroutines and tasks
  • Understand the event loop lifecycle and execution model
  • Use concurrent.futures for thread-based and process-based parallelism
  • Implement structured concurrency with TaskGroups and cancellation
  • Build async clients for HTTP, databases, and message queues
  • Debug and profile async applications for performance bottlenecks

Module 1: Concurrency in Python

  • Concurrency vs parallelism vs asynchrony
  • The GIL and its impact on threading
  • When to use async vs threads vs processes
  • Hands-on: Compare throughput of sync, threaded, and async approaches

Module 2: Coroutines and the Event Loop

  • async def, await, and coroutine lifecycle
  • The event loop: how it schedules and executes tasks
  • Running coroutines with asyncio.run and loop management
  • Hands-on: Build an async web scraper from scratch

Module 3: Tasks and Concurrency Primitives

  • Creating and managing tasks with asyncio.create_task
  • Gathering results with asyncio.gather and asyncio.wait
  • TaskGroups for structured concurrency (Python 3.11+)
  • Hands-on: Fetch data from multiple APIs concurrently with error handling

Module 4: Synchronization and Flow Control

  • Locks, semaphores, and events for coordination
  • Queues for producer-consumer patterns
  • Rate limiting and backpressure strategies
  • Hands-on: Build a rate-limited concurrent API client

Module 5: concurrent.futures and Mixed Concurrency

  • ThreadPoolExecutor for blocking I/O in async code
  • ProcessPoolExecutor for CPU-bound work
  • Bridging sync and async with run_in_executor
  • Hands-on: Parallelize a CPU-intensive data processing pipeline

Module 6: Async I/O and Networking

  • Async HTTP with aiohttp and httpx
  • Async database access with asyncpg and SQLAlchemy async
  • Async file I/O with aiofiles
  • Hands-on: Build an async microservice that reads from a database and calls external APIs

Module 7: Error Handling and Cancellation

  • Exception propagation in async contexts
  • Task cancellation and CancelledError handling
  • Timeouts with asyncio.timeout and asyncio.wait_for
  • Graceful shutdown patterns
  • Hands-on: Add robust error handling and graceful shutdown to an async server

Module 8: Debugging and Performance

  • Async debugging with asyncio debug mode
  • Profiling event loop utilization
  • Identifying blocking calls and slow coroutines
  • Common async pitfalls and anti-patterns
  • Hands-on: Profile and optimize an async application with performance issues
  • Strong Python programming experience
  • Solid understanding of functions, classes, and exceptions
  • Familiarity with generators and iterators
  • Basic networking concepts (HTTP, TCP) helpful
FormatDescription
In-PersonOn-site at your company’s location, hands-on with direct interaction
Live OnlineInteractive virtual sessions with screen sharing and real-time labs
HybridCombination of on-site and remote sessions, flexible scheduling

All formats include hands-on labs, course materials, async pattern reference, and post-training support.