LWN.net Logo

Development

The Twisted networking framework version 9.0.0

By Forrest Cook
December 9, 2009

The Twisted project is building a Pythonic networking engine with many uses. From the Twisted home page: "Twisted is an event-driven networking engine written in Python and licensed under the MIT license." Also: "Twisted projects variously support TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." See the twisted advantage for an explanation of why one would want to use Twisted to develop network applications.

LWN last looked at the Twisted project in January, 2007 when version 2.5.0 was released, the project has matured a lot since then.

[Twisted Matrix Labs]

The current version of Twisted is organized into the following categories:

  • Twisted core - the project's top level
  • Twisted conch - implements the SSH protocol
  • Twisted lore - the Twisted documentation
  • Twisted mail - implements the SMTP protocol
  • Twisted names - implements the DNS protocol
  • Twisted trail - the twisted testing framework
  • Twisted web - implements the HTTP protocol
  • Twisted web2 - implements the HTTP protocol (redux)
  • Twisted words - implements instant messaging
See the project documentation for more detailed descriptions of the various components.

Christopher Armstrong recently announced Twisted 9.0.0: "I'm happy to announce Twisted 9, the first (and last) release of Twisted in 2009. The previous release was Twisted 8.2 in December of 2008. Given that, a lot has changed! This release supports Python 2.3 through Python 2.6, though it is the last one that will support Python 2.3. The next release will support only Python 2.4 and above. Twisted: the framework of the future!"

Looking at the release notes for version 9.0.0, one can see that a large amount of work has gone into cleaning up the code and fixing bugs, with 285 bug tickets resolved. New capabilities are summed up in the release announcement:

In the core:
- The Windows IOCP reactor now supports SSL.
- The memcache protocol implementation got some nice new features.

In Twisted Web:
- There's a new HTTP client API and protocol implementation, starting
at twisted.web.client.Agent. It's still pretty low-level, but much
more flexible than the old API.
- There were many improvements to the WSGI support.

In Twisted Conch:
- PyASN1 is now used to parse SSH keys (which means you now need to
install it to use Conch).
- SFTP servers (especially on Windows) now behave a lot better.

In Twisted Mail:
- The IMAP server and client protocol implementations had many fixes.
For example, SASL PLAIN credentials now work.

In Twisted Words:
- XMPP clients now support the ANONYMOUS SASL authentication type.
- The IRC protocol implementations had many fixes.

The Twisted project appears to be alive and thriving as it continues in its evolution. This is indicated by the numerous Success Stories and the growing list of projects that use Twisted. Congratulations to the Twisted developers for continuing to make progress on this useful framework.

Comments (4 posted)

System Applications

Audio Projects

New Music Player Daemon releases

The Music Player Daemon project has announced new versions of libmpdclient and mpc. "libmpdclient version 2.1 has been released. This release adds support for C++, sticker support, a few other developer goodies and bugfixes. mpc version 0.19 has been released. This release adds the "sticker" and "replaygain" commands, implements the %position% format parameter, fixes bash completion and flushes output after idleloop iteration."

Comments (none posted)

Clusters and Grids

Release of rsplib 2.7.0

Version 2.7.0 of rsplib has been announced. "The RSPLIB project has just released version 2.7.0 of the RSPLIB Open Source RSerPool package for Linux, FreeBSD and MacOS X. RSPLIB is the Open Source implementation (GPLv3) of the IETF's new framework for Reliable Server Pooling (RSerPool), which is described in RFC 5351 to RFC 5356. If you a looking for a Grid computation solution which is simple, easy to setup and mostly self-configuring, you are probably looking for RSerPool!"

Full Story (comments: none)

Database Software

PostgreSQL Weekly News

The December 6, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

SQLite 3.6.21 released

Version 3.6.21 of the SQLite DBMS has been announced. "SQLite version 3.6.21 focuses on performance optimization. For a certain set of traces, this version uses 12% fewer CPU instructions than the previous release (as measured by valgrind). In addition, the FTS3 extension has been through an extensive cleanup and rework and the sqlite3_trace() interface has been modified to insert bound parameter values into its output." See the change log for more information.

Comments (none posted)

Web Site Development

moin 1.8.6 released

Version 1.8.6 of moin, a Wiki Package, has been announced. "MoinMoin 1.8.6 is a bug fix release and a recommended update. The 1.8 branch brings you several new features such as the GUI editor, which allows the users to edit pages in a WYSIWYG environment, and many bug fixes."

Full Story (comments: none)

moin 1.9.0 released

Version 1.9.0 of moin, a Wiki Package, has been announced. "The 1.9 branch brings you several new features."

Full Story (comments: none)

Miscellaneous

OpenInkpot 0.2 released

Version 0.2 of OpenInkpot has been announced. "We're proud to release OpenInkpot 0.2, free and open source firmware for eBook devices with ePaper screens. During the release cycle nearly every piece of code was rewritten, so it's not feasible to provide a complete changelog."

Full Story (comments: none)

Desktop Applications

Audio Applications

Audacity 1.3.10 beta released

Version 1.3.10 (beta) of the Audacity audio file editor has been announced. "The Audacity Team is pleased to announce the release of Audacity 1.3.10 (Beta) for Windows, Mac and Linux/Unix. This release removes a significant number of crash or freeze problems and other major bugs. It brings us very close to our goal of a new 2.0 Release. "

Comments (none posted)

Desktop Environments

GNOME 2.29.3 released

Version 2.29.3 of GNOME has been announced. "The third development release of GNOME 2.29/2.30 development cycle is here !"

Full Story (comments: none)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Software Compilation 4.4 Beta1 Released

KDE has released a first preview the KDE Software Compilation (KDE SC), 4.4 Beta1. "The first beta version of KDE SC 4.4 provides a preview and base for helping to stabilize the next version of the KDE Desktop, Applications and Development Platform. The list of changes this time around is especially long."

Full Story (comments: 64)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Desktop Publishing

LyX 1.6.5 is released

Version 1.6.5 of LyX, a GUI front-end to the TeX typesetter, has been announced. "The release comes with many fixes and improvements. A number of newly reported crashes were fixed, new layouts and modules were included and some long-standing requests were implemented (e.g., a working LyX server on the Windows OS, finally enabling the communication with other applications such as JabRef on this platform as well)."

Full Story (comments: none)

Games

Cyphesis 0.5.22 released

Version 0.5.22 of Cyphesis has been announced by the WorldForge game project. "Cyphesis is a small to medium scale server for WorldForge games, with builtin AI. This version includes the demo game Mason which is currently in development. This release is intended for server administrators wishing to run a Mason server and World developers developing new worlds or game systems. Major changes in this version: The persistent server ruleset can now be fully managed from clients. The administrative security model has been improved. The test suite has been expanded massively. Lots of bugs have been fixed."

Comments (none posted)

GUI Packages

Qt: More, More, More (Linux Journal)

Justin Ryan looks at Nokia's release of Qt 4.6 on Linux Journal. "Qt 4.6 is packing an impressive variety of new features, from the shiny to the speedy. Graphic effects are among the selling points, including the addition of filtering, drop shadows and glow, as well as the ever-popular opacity. A new Animation Framework is also included, which offers "intuitive state machine functionality." On the speed side, Nokia claims 4.6 "challenges the conventional development notion that advanced UI capabilities normally come with a significant performance cost." An OpenGL paint engine has been added, as well as OpenVG-based 2D vector graphics, DirectFB support, and Webkit."

Comments (none posted)

Interoperability

Wine 1.1.34 announced

Version 1.1.34 of Wine has been announced. Changes include: "- Many fixes for crypto certificates support. - A lot of MSHTML improvements. - Various fixes to support the Left 4 Dead 2 DRM. - A number of OLE marshalling fixes. - More Listview improvements. - Various bug fixes."

Comments (none posted)

Mail Clients

Thunderbird 3.0 released

The Thunderbird 3.0 release is out. New features include a number of search improvements, tabbed windows, a new message archiving mechanism, an improved address book, Gmail integration, a number of performance improvements, and more. See the release notes for details.

Comments (54 posted)

Music Applications

guitarix 0.05.3-1 quick release

Version 0.05.3-1 of guitarix has been announced. "This is a quick guitarix update to cover the new release of jconvolver eg. jconv. guitarix is a simple Linux Rock Guitar amplifier and is designed to achieve nice thrash/metal/rock/blues guitar sounds. Guitarix uses the Jack Audio Connection Kit as its audio backend and brings in one input and two output ports to the jack graph."

Full Story (comments: none)

Patchage 0.4.3 released

Version 0.4.3 of Patchage, a modular patch bay for audio/MIDI systems, has been announced. "Changes this version: * Switch to waf build system * Fix compilation with GCC 4.4 * Better ALSA support * Massive performance improvements when ALSA is enabled * Center on startup".

Full Story (comments: none)

Web Browsers

First Mobile Firefox enters home stretch (cnet)

Over at cnet, Stephen Shankland looks at the upcoming release of "Fennec"—the codename for mobile Firefox. "Firefox has one big thing going for it, though: it's a close relative of the PC-based browser that today is used by about a quarter of people on the Web. [...] The link extends beyond brand familiarity. For one thing, mobile Firefox is based on the same code as the present Firefox 3.6--also a beta version due to finished by the end of 2009. For another, through a Mozilla service and browser plug-in called Weave, mobile Firefox synchronizes bookmarks, passwords, and even open tabs with the desktop version of the browser."

Comments (1 posted)

Languages and Tools

C

GCC 4.5 Status Report

The December 2, 2009 edition of the GCC 4.5 Status Report has been published. " The trunk is in regression and documentation fixes only mode, Stage 3 has ended yesterday. Release branch rules are now in effect for all changes to trunk that touch release critical parts of the compiler (primary and secondary targets, C and C++ and their runtimes). There will be a release candidate made available when there are no remaining P1 regressions on the trunk."

Full Story (comments: none)

Caml

Caml Weekly News

The December 8, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Python

Python 2.7 alpha 1 released

Version 2.7 alpha 1 of Python has been announced. "Python 2.7 is scheduled to be the last major version in the 2.x series. It includes many features that were first released in Python 3.1. The faster io module, the new nested with statement syntax, improved float repr, and the memoryview object have been backported from 3.1. Other features include an ordered dictionary implementation, unittests improvements, and support for ttk Tile in Tkinter."

Full Story (comments: none)

execnet 1.0.1 released

Version 1.0.1 of execnet has been announced. "Just uploaded execnet-1.0.1 featuring a new motto: execnet is about rapid-python deployment, be it for multiple CPUs, different platforms or python versions. This release brings a bunch of refinements and most importantly more robust termination, handling of CTRL-C and automatically tested documentation".

Full Story (comments: none)

Announcing fileutils, a UNIX inspired file system library

The fileutils project has been launched. "I am happy to announce the release of fileutils, a file system library inspired by classic UNIX programs like cp, mkdir and chmod. It is an attempt to smooth out some of the rough edges in the standard library's os and shutil modules, and create an intuitive, convenient way of working with files."

Full Story (comments: 1)

Wielaard: FUDCon Success – Systemtap meets Python

Mark Wielaard writes about adding SystemTap probes to Python on his blog. As part of the Fedora Users and Developers Conference (FUDCon) being held in Toronto, several hackers got together and added SystemTap support to Python. "The coolest part is that it works through the existing patch to python for adding dtrace support. Some small tweaks to the autoconf detection was needed, but the rest was used as is." He mentions Will Cohen's "Adding User Space Probing to an Application" document as being quite helpful in that effort.

Comments (1 posted)

Pyro 3.10 released

Version 3.10 of Pyro has been announced. "Pyro is a an advanced and powerful Distributed Object Technology system written entirely in Python, that is designed to be very easy to use. Highlights of this release are: - improvements in the SSL configuration - uses new-style classes so super() now works in Pyro objects - various minor bugfixes".

Full Story (comments: none)

Python-URL! - weekly Python news and links

The December 9, 2009 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Tcl/Tk

Tcl-URL! - weekly Tcl news and links

The December 6, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

IDEs

Pydev 1.5.2 released

Version 1.5.2 of Pydev, an Eclipse plugin for Python, has been announced. This release includes new features and bug fixes.

Full Story (comments: none)

Test Suites

TextTest 3.16.1 released

Version 3.16.1 of TextTest, a tool for automatic text-based functional testing, has been announced. "The main changes are around the HTML batch report, which will amongst other things now generate you a nice "dashboard" page giving the latest status of all your applications. There is also integration with the Jira bug tracker, and improvements to basic functionality like "run_dependent_text" and "collate_file"."

Full Story (comments: none)

Version Control

Git 1.6.5.5 released

Version 1.6.5.5 of the Git distributed version control system has been announced. "This is primarily to help other distros with older xmlto to partially revert the change in 1.6.5.4 to help distros with newer docbook stylesheets, but I also merged some fixes that have already been cooking and graduated to 'master' as well."

Full Story (comments: none)

Miscellaneous

Red Hat Bugzilla 3.4 public beta announced

Beta version 3.4 of Red Hat Bugzilla has been announced. "The Red Hat Bugzilla team is happy to announce the first public beta release of the next version of Red Hat Bugzilla based on the upstream 3.4 code base."

Full Story (comments: 1)

Page editor: Forrest Cook
Next page: Announcements>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds