What is Twisted? ================
Twisted is an event-driven framework for building networked clients and servers. It contains a powerful and simple networking core, a full-featured suite of interoperable protocols, among them a powerful web server and applications framework.
Twisted integrates with a wide range of Python code. Popular graphical toolkits (including Qt, Win32, and GTK+), application servers (including Zope3 and Quixote), and database backends (any DB-API 2.0 compliant driver) can run in concert with a Twisted application.
Hundreds of unit tests ensure that Twisted remains stable and production-ready from release to release. In addition, Twisted has automated acceptance tests to ensure continued interoperability with common third-party networking tools, and to test end-to-end functionality.
What is the Twisted Developer Platform 1.0 Release? ===================================================
With the 1.0.0 release, Twisted is finalizing several core interfaces important to server and client developers. While some areas of Twisted are still under active development, the event loop and all associated APIs are now stable and ready for third-party developers to use.
A press release detailing the 1.0 release is available here:
Who's Using Twisted? ====================
"You guys have a big problem, because [setting up a NNTP server] was way too easy to do! How are you going to make the big consulting bucks? :) You guys rock!" - Barry Warsaw, Zope Corporation
"I was lucky to be finalizing "Python in a Nutshell" at just the right time to include some coverage of twisted.internet. I think asynchronous (event-driven) programming deserves wider exposure and wider use, and twisted.internet is a great way to implement event-driven network servers (and clients, too, though I did not cover that side of Twisted)." - Alex Martelli, A.B. Strakt
"Twisted is built on solid foundations, and we hope to use in Zope 3." - Shane Hathaway, Zope Corporation
"[Twisted] was by far the easiest framework to develop with, debug under, and extend for our purposes to support protocols such as SOAP, HTTP, and Macromedia Flash-compatible XML Sockets." - Bob Ippolito, CTO, Masters of Branding
"We have selected Twisted as our framework because of its pluggable, asynchronous protocols, support for multiple interfaces and protocols per service, integration with PostgreSQL, and just generally excellent layered architecture." - Stephen C. Waterbury, NASA
Read more at http://www.twistedmatrix.com/services/success
What Does It Come With? =======================
Twisted supports many event loops for both server apps and GUI integration on the client side, including:
- select() - poll() - kqueue on FreeBSD - Win32 events, including GUI support - GTK+ - Qt - wxPython - Tkinter - Java
Twisted can run protocols over TCP, SSL, Unix sockets and subprocesses. It also includes scheduling support, threading integration, RDBMS event loop integration and other basic requirements for networked applications.
Also included are implementations of many protocols. In some cases this includes complete frameworks providing facilities on top of the base protocol:
- SSH - FTP - HTTP, including a complete web framework - XML-RPC server framework - NNTP and complete NNTP server framework - SOCKSv4 (server only) - SMTP - IRC - telnet - POP3 - AOL's instant messaging TOC - OSCAR, used by AOL-IM as well as ICQ (client only) - DNS (experimental) - MouseMan serial mice - Twisted Perspective Broker, a remote object protocol
Get Twisted ===========
Visit us on the web: http://www.twistedmatrix.com Mailing list: http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python IRC: #twisted on irc.freenode.net
Twisted Fun ===========