asyncio --- Asynchronous I/O


asyncio est une bibliothèque permettant de faire de la programmation asynchrone en utilisant la syntaxe async/await.

asyncio constitue la base de nombreux cadriciels (frameworks) Python asynchrones qui fournissent des utilitaires réseau et des serveurs web performants, des bibliothèques de connexion à des bases de données, des files d'exécution distribuées, etc.

asyncio est souvent le bon choix pour écrire du code réseau de haut-niveau et tributaire des entrées-sorties (IO-bound).

asyncio fournit des interfaces de programmation haut-niveau pour :

En plus, il existe des bibliothèques de bas-niveau pour que les développeurs de bibliothèques et de frameworks puissent :

  • create and manage event loops, which provide asynchronous APIs for networking, running subprocesses, handling OS signals, etc;

  • implémenter des protocoles efficaces à l'aide de transports ;

  • lier des bibliothèques basées sur les fonctions de rappel et développer avec la syntaxe async/await.

Availability: not Emscripten, not WASI.

This module does not work or is not available on WebAssembly platforms wasm32-emscripten and wasm32-wasi. See Plateformes WebAssembly for more information.

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.

Modifié dans la version 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.

Sommaire

Note

Le code source d'asyncio est disponible dans Lib/asyncio/.