[Twisted-Python] PyCon 2010 sprint report

Jonathan Lange jml at mumak.net
Tue Mar 2 10:17:40 EST 2010

Residents of the once-great city of Atlanta are only now beginning to piece
their lives back together after the event that Glyph Lefkowitz described as
"the best Twisted sprint ever".

Quite apart from the unprecedented levels of wanton destruction, Twisted's
PyCon 2010 sprint was also better attended than any previous sprints, which
have laid waste to the outskirts of Boston, inner-city Dallas and regions of

At its peak, there were eighteen people seated around the two tables where the
sprint took place. People even joined in remotely, working with the Atlanta
team through #twisted on freenode.

Although buried deep within a secret bunker in Atlanta, the sprint still
managed to attract a fair number of new contributors and Twisted users who
wanted to help out.

Attendees who made themselves known to your correspondent include:
 * Jonathan Lange
 * Jean-Paul Calderone
 * David Reid
 * Thomas Hervé
 * Tim Couper
 * Pavel Pergamenshchik
 * Maciej Fijalkowski
 * Glyph Lefkowitz
 * Itamar Turner-Trauring
 * Terry Jones

jesstess, ralphm and spiv also participated remotely.

Attendees all had immense fun and expressed a desire to have another sprint
soon. One observed that it had been far too long since giant mecha robot
warriors descended on Paris.

Twisted prevails,

More simply, we had a great time at the sprint and got a ridiculous amount of
stuff done.

We fixed many, many bugs, including all of the known regressions since the 9.0
release. Once we fixed the regressions, we started work on getting the first
10.0 pre-release out the door.

The pre-release probably would not have been possible without the sprint since
it allowed the new release manager ready access to Jean-Paul, who has quite a
lot of knowledge stuck in his head. One result of this is a new release
process document, which is being developed at
http://twistedmatrix.com/trac/wiki/ReleaseProcess alongside the actual 10.0

We also reached an in-principle agreement to aim for a release every three
months. This means that although hardly any of the good work from the sprint
is in the 10.0 release, you won't have to wait long for it to appear in 10.1.
Hopefully. I plan write up how this will work as soon as the 10.0 release is

The sprint proved to be a perfect opportunity to talk about some of the more
gutly bits of Twisted, including Deferred cancellation (see #990) and
endpoints (see #1442). The former is done, and the latter has made good
progress. Stay tuned.

Thomas Hervé did a lot of work on upgrading our Trac instance, which was
getting kind of old and currently crashes all of the time.

We talked a bit about how we could make it easier for people to contribute to
Twisted without compromising our high standards of quality. We put as many of
the ideas that we could remember on to

Maciej Fijalkowski was at the sprint working on getting PyPy benchmarks for
Twisted and on making PyPy work faster with Twisted. Personally, it's really
exciting to see PyPy live up to its promise of a faster Python, particularly
with a big codebase like Twisted.

As I said, we fixed lots of bugs. Here's the complete list:

 * #4179 - HTTP proxy hanging in Twisted 9.0
 * #3056 - twisted.spread.pb.IUsernameMD5Password's docstring should
           say it accepts an MD5 digest of a password, not plaintext
 * #3289 - startLoggingWithObserver raises IndexError
 * #4178 - Function singleSearchStep was renamed to _singleSearchStep
           not everywhere
 * #4192 - Move the content from exarkun's Twisted Web in 60 Seconds
           series into the Twisted Web howto
 * #4284 - t.e.adbapi leaks threads
 * #4282 - _release.filePathDelta is broken
 * #3718 - twisted.internet.posixbase._Waker not defined on Jython
 * #4143 - twisted.web.wsgi incorrectly unquotes QUERY_STRING
 * #4255 - BaseLogFile should provide a method to reopen logs
 * #972  - Add linux inotify support to twisted core
 * #2367 - twisted.test.test_failure.FailureTestCase.testBrokenStr breaks
           #trial in debug mode
 * #1083 - gtk2reactor thread initialization confuses python-2.3
 * #3462 - FTP server: upload should support async close
 * #990  - Deferred cancellation
 * #733  - twisted's SIGCHLD handler breaks popen.
 * #2376 - release-twisted should generate guides with links to API docs
 * #4272 - flavors.py still talks about getObjectAt
 * #4172 - UDP crashes python.exe when using IOCPReactor
 * #3925 - test_addresses fails with Glib2 and Gtk2 reactors
 * #4255 - BaseLogFile should provide a method to reopen logs
 * #4293 - Update links in testing documentation
 * #4311 - XMPP Stanza Error 'remote-server-timeout' yield no type and code
 * #3811 - Allow aborting HTTP client connections in the _newclient API

We also worked on:
 * Getting rid of 3k warnings and generally doing 2to3
 * Event support for iocpreactor
 * Making Deferreds more iterative (see #411)
 * Twisted Web features and bug fixes
 * Fixing obscure Windows/gtk2 compatibility issues

Thank you very much to PyCon US, the Python Software Foundation and the many
sponsors of the Twisted Software Foundation for their hard-work and support in
making this all possible.

Thanks also to the attendees for making it such a blast.

If you want to encourage more of this sort of behaviour, then please donate to
the Twisted Software Foundation:



More information about the Twisted-Python mailing list