Course overview
This course explains asynchronous programming in Python through practice: coroutines, await, tasks, timeouts, cancellation, and asyncio queues. You will study threads, processes, data races, and how to choose the right execution model. In the final project, you will build a small backend service with limits, timeouts, and automated tests.
You will learn
Write coroutines and manage asyncio tasks
Limit execution time and cancel tasks safely
Protect data when working with threads
Choose between async, threads, and processes
Table of contents
Async Theory in Python
Practice
23 min.
First Event Loop
Practice
19 min.
Coroutines and Await
Practice
22 min.
Tasks with create_task
Practice
22 min.
Collecting Task Results
Practice
21 min.
Coroutine Errors
Practice
21 min.
Operation Timeouts
Practice
23 min.
Task Cancellation
Practice
21 min.
Waiting for Task Groups
Practice
57 min.
Asyncio Queues
Practice
47 min.
Semaphores and Limits
Practice
44 min.
Async Context Manager
Practice
43 min.
Async Iterator
Practice
22 min.
Debugging Async Code
Practice
22 min.
ThreadPoolExecutor
Practice
20 min.
asyncio.to_thread
Practice
20 min.
Race Conditions
Practice
19 min.
Lock and Safety
Practice
20 min.
Threads and Queues
Practice
40 min.
ProcessPoolExecutor
Practice
21 min.
Data Between Processes
Practice
40 min.
Async and Process Pool
Practice
47 min.
Frequently Asked Questions
A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.
Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.
You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.
Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.
To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.