Python Asyncio: High-Level Api

Posted By: ELK1nG

Python Asyncio: High-Level Api
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.54 GB | Duration: 3h 13m

Python asynchronous programming using AsyncIO module

What you'll learn

How to use Python Asyncio module

Understanding of Python asynchronous programming base tools

Understanding of Python async with, async for, async/await syntax, etc.

How to use Queues, synchronization tools, etc.

Requirements

You need to be quite fluent in basics of Python

Basics of OOP, decorators

Some experience of using Django/Flask

Description

Dive deep into the realm of asynchronous programming in Python with our comprehensive course on the high-level API of Asyncio. Asynchronous programming is crucial for building efficient, concurrent, and scalable applications, and this course equips you with the knowledge and skills to leverage Asyncio effectively.You'll start by exploring the fundamentals of asynchronous programming, including coroutines and tasks. Learn how coroutines enable non-blocking operations and how tasks help manage concurrent operations efficiently.Next, discover the power of asynchronous context managers and the async with syntax for resource management in asynchronous code. Understand how to handle groups of tasks seamlessly using the TaskGroup() class and the gather() function, enabling you to coordinate and execute multiple asynchronous operations concurrently.Gain proficiency in working with asynchronous iterators and the async for syntax, allowing you to iterate over asynchronous sequences effortlessly. Explore the capabilities of asynchronous comprehensions for creating asynchronous sequences efficiently.Delve into asynchronous generators to create asynchronous context managers easily. Learn how to utilize asynchronous queues for communication and data exchange between asynchronous tasks in a thread-safe manner.Finally, understand the importance of synchronization mechanisms such as Lock, Semaphore, Event, and Condition for coordinating access to shared resources and ensuring thread-safe execution of coroutines.By the end of this course, you'll be equipped with the expertise to design and implement robust, concurrent Python applications using the high-level API of Asyncio. Take your asynchronous programming skills to the next level and unlock new possibilities in Python development.Topics- what are coroutines and tasks- asynchronous context managers, async with syntax- groups of tasks using TaskGroup() class and gather() function.- asynchronous iterators and async for syntax- asynchronous comprehensions- asynchronous generators- asynchronous queues- synchronization of coroutines using Lock, Semaphore, Event, Condition

Overview

Section 1: Basics and Further Steps

Lecture 1 Introduction

Lecture 2 Coroutines

Lecture 3 Tasks: creating and cancelling

Lecture 4 Non-obvious issues, how the run() works

Lecture 5 Asynchronous Context Managers and async with syntax

Lecture 6 Using the .gather() function to run groups of tasks

Lecture 7 Non-obvious issues #2 - understanding of await

Lecture 8 Using TaskGroup() class to run groups of tasks, and except* syntax

Lecture 9 Tasks cancelling: gather() vs TaskGroup()

Lecture 10 Asynchronous iterators and async for syntax

Lecture 11 Asynchronous comprehensions (list, dict, set)

Lecture 12 Asynchronous Generators and Context Managers (again)

Lecture 13 Queues and Producer-Consumer pattern

Lecture 14 Queues: practical example of async crawler

Lecture 15 Coroutine synchronization and Lock()

Lecture 16 Semaphore() class and the requests rate limiter example

Lecture 17 Event() class

Lecture 18 Condition() class

Intermediate or Advanced Python developers