Skip to content

Latest commit

 

History

History
235 lines (144 loc) · 5.03 KB

asyncio-api-index.rst

File metadata and controls

235 lines (144 loc) · 5.03 KB
.. currentmodule:: asyncio


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.

:func:`run` Create event loop, run a coroutine, close the loop.
:class:`Runner` A context manager that simplifies multiple async function calls.
:class:`Task` Task object.
:class:`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.
:func:`create_task` Start an asyncio Task, then returns it.
:func:`current_task` Return the current Task.
:func:`all_tasks` Return all tasks that are not yet finished for an event loop.
await :func:`sleep` Sleep for a number of seconds.
await :func:`gather` Schedule and wait for things concurrently.
await :func:`wait_for` Run with a timeout.
await :func:`shield` Shield from cancellation.
await :func:`wait` Monitor for completion.
:func:`timeout` Run with a timeout. Useful in cases when wait_for is not suitable.
:func:`to_thread` Asynchronously run a function in a separate OS thread.
:func:`run_coroutine_threadsafe` Schedule a coroutine from another OS thread.
for in :func:`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.

:class:`Queue` A FIFO queue.
:class:`PriorityQueue` A priority queue.
:class:`LifoQueue` A LIFO queue.

Examples

Subprocesses

Utilities to spawn subprocesses and run shell commands.

await :func:`create_subprocess_exec` Create a subprocess.
await :func:`create_subprocess_shell` Run a shell command.

Examples

Streams

High-level APIs to work with network IO.

await :func:`open_connection` Establish a TCP connection.
await :func:`open_unix_connection` Establish a Unix socket connection.
await :func:`start_server` Start a TCP server.
await :func:`start_unix_server` Start a Unix socket server.
:class:`StreamReader` High-level async/await object to receive network data.
:class:`StreamWriter` High-level async/await object to send network data.

Examples

Synchronization

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

:class:`Lock` A mutex lock.
:class:`Event` An event object.
:class:`Condition` A condition object.
:class:`Semaphore` A semaphore.
:class:`BoundedSemaphore` A bounded semaphore.
:class:`Barrier` A barrier object.

Examples

Exceptions

:exc:`asyncio.CancelledError` Raised when a Task is cancelled. See also :meth:`Task.cancel`.
:exc:`asyncio.BrokenBarrierError` Raised when a Barrier is broken. See also :meth:`Barrier.wait`.

Examples