A I mentioned last week, the Twisted crowd held its first Twisted Virtual Sprint. I believe many made progress, so I'd say it was a success. Personally, I managed to finalize the reworking of Xish and the Jabber stuff in Words as a precursor to implement full XMPP support.
For months I had been sporadically working on this, and I'm happy
to say that I finally committed it to Trunk. The Jabber part of Words
got its own
xmlstream module that builds on the
xmlstream in Xish. I also added a lot of
docstrings to the code I touched, so people might have more clue on how
to use it.
I also decided to gather the people actually using these modules by setting up a new mailinglist: Twisted-Jabber. The initial set of people includes the authors of the projects pyMSNt, pyAIMt, pyICQt, PunJab and Twibber. If I somehow forgot to invite you or your project, consider this your invitation. It seems pretty constructive already, so that's pretty nice.
In the coming period, I hope to finish a pure-XMPP client
authenticator using TLS and SASL, along with some wrapper that can also
jabber:iq:auth authentication when
connecting to pre-XMPP 1.0 servers. Some people have pointed me towards
sslverify module in Divmod's repository, for certificate
Furthermore, I will add support for creating XML stanzas somewhat
easier, like the
IQ class in
twisted.words.protocols.jabber.client, along with a
sendDeferred method that returns a deferred that
fires when a reply has been received. Received error replies will be
converted to exceptions that can be trapped. Also, sending back errors
will become somewhat easier.
Next on the list is server-to-server functionality. This requires handling incoming connections, which also comes in handy for implementing services that handle incoming component and client connections. A small server implementation shouldn't be too far off then.
We'll see how this works out, but I'll report progress over here.