High-level API Index

This page lists all high-level async/await enabled asyncio APIs.

Tasks

Utilities to run asyncio programs, create Tasks, and await on multiple things with timeouts.

run()

Create event loop, run a coroutine, close the loop.

Runner

A context manager that simplifies multiple async function calls.

Task

Task object.

TaskGroup

A context manager that holds a group of tasks. Provides a convenient and reliable way to wait for all tasks in the group to finish.

create_task()

Start an asyncio Task, then returns it.

current_task()

Return the current Task.

all_tasks()

Return all tasks that are not yet finished for an event loop.

await sleep()

Sleep for a number of seconds.

await gather()

Schedule and wait for things concurrently.

await wait_for()

Run with a timeout.

await shield()

Shield from cancellation.

await wait()

Monitor for completion.

timeout()

Run with a timeout. Useful in cases when wait_for is not suitable.

to_thread()

Asynchronously run a function in a separate OS thread.

run_coroutine_threadsafe()

Schedule a coroutine from another OS thread.

for in as_completed()

Monitor for completion with a for loop.

Examples

Queues

Queues should be used to distribute work amongst multiple asyncio Tasks, implement connection pools, and pub/sub patterns.

Queue

A FIFO queue.

PriorityQueue

A priority queue.

LifoQueue

A LIFO queue.

Examples

Subprocesses

Utilities to spawn subprocesses and run shell commands.

await create_subprocess_exec()

Create a subprocess.

await create_subprocess_shell()

Run a shell command.

Examples

Streams

High-level APIs to work with network IO.

await open_connection()

Establish a TCP connection.

await open_unix_connection()

Establish a Unix socket connection.

await start_server()

Start a TCP server.

await start_unix_server()

Start a Unix socket server.

StreamReader

High-level async/await object to receive network data.

StreamWriter

High-level async/await object to send network data.

Examples

Synchronization

Threading-like synchronization primitives that can be used in Tasks.

Lock

A mutex lock.

Event

An event object.

Condition

A condition object.

Semaphore

A semaphore.

BoundedSemaphore

A bounded semaphore.

Barrier

A barrier object.

Examples

Exceptions

asyncio.CancelledError

Raised when a Task is cancelled. See also Task.cancel().

asyncio.BrokenBarrierError

Raised when a Barrier is broken. See also Barrier.wait().

Examples