Skip to content

Latest commit

 

History

History
124 lines (86 loc) · 3.05 KB

asyncio.rst

File metadata and controls

124 lines (86 loc) · 3.05 KB

:mod:`!asyncio` --- Asynchronous I/O

.. module:: asyncio
   :synopsis: Asynchronous I/O.


Hello World!

import asyncio

async def main():
    print('Hello ...')
    await asyncio.sleep(1)
    print('... World!')

asyncio.run(main())

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:

Additionally, there are low-level APIs for library and framework developers to:

asyncio REPL

You can experiment with an asyncio concurrent context in the :term:`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'
.. audit-event:: cpython.run_stdin "" ""

.. versionchanged:: 3.12.5 (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20)
   Emits audit events.

.. versionchanged:: 3.13
   Uses PyREPL if possible, in which case :envvar:`PYTHONSTARTUP` is
   also executed. Emits audit events.

Reference

.. toctree::
   :caption: High-level APIs
   :maxdepth: 1

   asyncio-runner.rst
   asyncio-task.rst
   asyncio-stream.rst
   asyncio-sync.rst
   asyncio-subprocess.rst
   asyncio-queue.rst
   asyncio-exceptions.rst
   asyncio-graph.rst

.. toctree::
   :caption: Low-level APIs
   :maxdepth: 1

   asyncio-eventloop.rst
   asyncio-future.rst
   asyncio-protocol.rst
   asyncio-policy.rst
   asyncio-platforms.rst
   asyncio-extending.rst

.. toctree::
   :caption: Guides and Tutorials
   :maxdepth: 1

   asyncio-api-index.rst
   asyncio-llapi-index.rst
   asyncio-dev.rst

Note

The source code for asyncio can be found in :source:`Lib/asyncio/`.