———
asyncio is a library to write concurrent code using the async/await syntax.
asyncio is used as a foundation for multiple Python asynchronous frameworks that provide high-performance network and web-servers, database connection libraries, distributed task queues, etc.
asyncio is often a perfect fit for IO-bound and high-level structured network code.
asyncio provides a set of high-level APIs to:
concurrently and have full control over their execution;
perform
;
control
;
distribute tasks via
;
concurrent code;
For introspection, asyncio provides APIs and tools for:
inspecting the
of tasks and futures;
inspecting tasks in another running Python process with
;
Additionally, there are low-level APIs for library and framework developers to:
create and manage
, which provide asynchronous APIs for
, running
, handling
, etc;
implement efficient protocols using
;
callback-based libraries and code with async/await syntax.
asyncio REPL
You can experiment with an asyncio concurrent context in the
:
$ python -m asyncioasyncio REPL ...Use "await" directly instead of "asyncio.run()".Type "help", "copyright", "credits" or "license" for more information.>>> importasyncio>>> awaitasyncio.sleep(10,result='hello')'hello'This REPL provides limited compatibility with
. It is recommended that the default REPL is used for full functionality and the latest features.
Raises an
cpython.run_stdin with no arguments.
Changed in version 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.
Changed in version 3.13: Uses PyREPL if possible, in which case
is also executed. Emits audit events.
Reference
Note
The source code for asyncio can be found in
.