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

This module does not work or is not available on WebAssembly. 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'

Lève un évènement d'audit cpython.run_stdin sans argument.

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

Modifié dans la version 3.13: Uses PyREPL if possible, in which case PYTHONSTARTUP is also executed. Emits audit events.

Sommaire

Note

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