Twisted is an event-based framework for Internet applications. It includes a Web server, an SMTP/POP3 server, a telnet server, an SSH server, an IRC server, a DNS server, a generic client/server pair for remote object access (Perspective Broker), and APIs for creating new protocols. It supports integration with GTK+, GTK+ 2, Qt, Tkinter, wxPython, Mac OS X (PyObjC) and Win32 event loops. It also supports TCP, SSL and TLS, UDP, Unix sockets, multicast, and serial ports. Supported protocols include HTTP, FTP, SMTP, POP3, IMAP, TOC, OSCAR (AIM and ICQ), SSH, DNS, IRC, NNTP, Jabber, SOCKSv4, Telnet, SIP (for VoIP), and XML-RPC and SOAP using external packages. Most protocols are supported as both servers and clients.
| Tags | Communications Chat Email Games/Entertainment mud Internet Web Dynamic Content HTTP Servers Software Development Libraries Application Frameworks Object Brokering |
|---|---|
| Licenses | LGPL |
| Implementation | Python |
Recent releases


Changes: This is a major feature release, with several new features and a great number of bugfixes. The IOCP reactor is now much improved, and many bugs have been resolved. Twisted may now be installed with easy_install. Many improvements were made to Trial, Twisted's unit testing system. A new memcache client protocol implementation was added. Much more was done.


Changes: This release includes many fixes for UDP and multicast stdio on Win32. Many bug fixes were made for Trial, and its support for a large number of previously deprecated APIs was dropped. Deferred Generators no longer leak their final result or exception. LoopingCall now supports functions which return Deferreds. A cooperative scheduler with pluggable policies has been added. Much of the API documentation has been improved and a new guide for developing producers and consumers has been added. This also includes new releases of Conch, Mail, Names, Words, and Web.


Changes: The new DeferredQueue class has been fixed to properly respect all backlog and size limits, as well as had improvements made to its unit tests. The incorrectly omitted twisted.news package now installs properly. The Qt reactor's iterate() method now behaves like other reactors' iterate() methods. The plugin caching mechanism has been changed to only write out changes when changes exist. The Gtk2 reactor now initializes itself properly, preventing certain startup race conditions, and with better supporting threads.


Changes: Major new features in this release include the replacement of the home-grown component system with zope.interface, a split of subprojects into separate packages with separate release cycles, project-wide relicensing to the MIT license, Python 2.4 compatibility fixes, and major efficiency improvements in the TCP buffering algorithm and DelayedCall handling. Many other minor feature enhancements, bugfixes, and documentation improvements are also included.


No changes have been submitted for this release.