# `asyncio` — Asynchronous I/O

asyncio jest biblioteką do pisania równoległego kodu przy użyciu składni async/await.

asyncio jest używane jako podstawa dla wielu asynchronicznych framework’ów Pythona, które zapewniają wysoką wydajność sieci i serwerów internetowych, bibliotek połączeń z bazami danych, rozproszonych kolejek zadań itp.

asyncio is often a perfect fit for IO-bound and high-level structured network code.

asyncio zapewnia zestaw wysopoziomowych interfejsów API do:

- uruchamiania równoległych korutyn Pythona oraz pełnej kontroli nad ich wykonywaniem;

- 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 using transports;

- 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.

Zmienione w wersji 3.10.15: (also 3.9.20, and 3.8.20) Emits audit events.

Reference

Wysokopoziomowe interfejsy API

- Coroutines and Tasks
- Streams
- Synchronization Primitives
- Subprocesses
- Queues
- Wyjątki

niskopoziomowe interfejsy API

- Event Loop
- Futures
- Transports and Protocols
- Policies
- Platform Support

Przewodniki i samouczki

- High-level API Index
- Low-level API Index
- Developing with asyncio

Informacja

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