High-level API Index

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


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

run() Create event loop, run a coroutine, close the loop.
create_task() Start an asyncio Task.
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.
current_task() Return the current Task.
all_tasks() Return all tasks for an event loop.
Task Task object.
run_coroutine_threadsafe() Schedule a coroutine from another OS thread.
for in as_completed() Monitor for completion with a for loop.



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.



Utilities to spawn subprocesses and run shell commands.

await create_subprocess_exec() Create a subprocess.
await create_subprocess_shell() Run a shell command.



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.



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.



asyncio.TimeoutError Raised on timeout by functions like wait_for(). Keep in mind that asyncio.TimeoutError is unrelated to the built-in TimeoutError exception.
asyncio.CancelledError Raised when a Task is cancelled. See also Task.cancel().