asyncio — Asynchronous I/O — Python 3.8.20 documentation (original) (raw)
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-levelstructured network code.
asyncio provides a set of high-level APIs to:
- run Python coroutines concurrently and have full control over their execution;
- perform network IO and IPC;
- control subprocesses;
- distribute tasks via queues;
- synchronize concurrent code;
Additionally, there are low-level APIs for_library and framework developers_ to:
- create and manage event loops, which provide asynchronous APIs for networking, running subprocesses, handling OS signals, etc;
- implement efficient protocols usingtransports;
- bridge callback-based libraries and code with async/await syntax.
asyncio REPL
You can experiment with an asyncio
concurrent context in the REPL:
$ python -m asyncio asyncio REPL ... Use "await" directly instead of "asyncio.run()". Type "help", "copyright", "credits" or "license" for more information.
import asyncio await asyncio.sleep(10, result='hello') 'hello'
Raises an auditing event cpython.run_stdin
with no arguments.
Changed in version 3.8.20: Emits audit events.
Reference
Note
The source code for asyncio can be found in Lib/asyncio/.