Twisted
Plus d'infos
- Créateur
- Glyph Lefkowitz
- Sortie
- Type
- Framework réseau
- Licence
- MIT
- Site officiel
- twisted.org
Le framework réseau événementiel de Python, qui faisait de l'E/S asynchrone dix ans avant le langage lui-même.
Glyph Lefkowitz a commencé à l'écrire vers 2002 — selon la légende, en voulant construire un jeu en réseau. Au centre, un reactor : une seule boucle qui surveille toutes les sockets et rappelle votre code quand quelque chose se produit. Par-dessus, des implémentations d'un nombre improbable de protocoles : HTTP, SMTP, IMAP, SSH, DNS, IRC, XMPP — souvent parmi les premières versions complètes en Python.
L'abstraction centrale est le Deferred, un objet qui représente un résultat qui n'existe pas encore et auquel on accroche des callbacks. C'est en pratique la même idée que les promesses de JavaScript, trouvée indépendamment et plusieurs années plus tôt. Quand Python a reçu asyncio en 2014 puis async/await en 2015, ceux-ci sont devenus le choix par défaut, et Twisted fonctionne aujourd'hui avec les deux mondes.