[jdev] Re: Limitations of XML Namespaces use

Manuzhai mail at manuzhai.nl
Wed Jul 5 03:01:02 CDT 2006


Ralph Meijer wrote:
> I'm not sure why you've started yet another python XMPP implementation,
> though, so I am curious about that. Maybe you could work on improving
> Twisted's Jabber support instead? If you want to chat about this,
> contact me at <xmpp:ralphm at ik.nu>.

Yeah, it might be a bit of NIH syndrome talking there. One thing is that 
I never really "got" Twisted; its inside-out paradigm is kind of hard to 
grok, and I know I'm not the only one with this problem. For little one 
off scripts, this makes it kind of overkill, in my view (except when you 
already grok it, of course, in which case it may be great). Also, I have 
spent a little time looking at Twisted Words protocol support (I think 
it was the MSN protocol, mostly) and at that time I read a lot about how 
the protocol support wasn't really very functional. And of course, when 
you do something industrial-strength that needs great scalability, 
Twisted is going to be hard to beat. While I am aiming to maybe 
introduce a little async stuff in the bottom layer of my library, I want 
to keep it very straightforward and easy to use to any Python developer.

So that's why I didn't go for Twisted. Of course, there's also Jabberpy, 
PyXMPP and xmpppy. It seemed to me Jabberpy and PyXMPP are pretty dead, 
so I got myself xmpppy (which apparently is mostly developed in the 
Gajim SVN repository these days). I didn't like what I saw, though: the 
coding style was very dense and not very readable and I ran into little 
bugs pretty soon. The whole package just wasn't very transparent. 
Finally, I was (as a regular ElementTree user) very much put off by the 
hackish XML API it uses, which is very unintuitive and not clean. Also, 
the whole interface didn't seem very Pythonic to me.

So in the end I decided to write my own, and I've put a couple of days 
work into that, and I'm now at the point that I have something that can 
do TLS and SASL and a little roster management and send and receive 
messages, all pretty spec-compliant except for the NS issues. ;)

I plan on opening it up soon and releasing it to PyPI and submitting it 
for a listing on the jabber.org site and see if people like it (I have a 
Trac instance running, but it's private until I think of some way to 
allow people to contribute while not getting overrun by spam). 
Meanwhile, I've tried to add you to my roster; I'm im at manuzhai.nl.

> This is mostly for compatibility with pre-XMPP implementations of the
> Jabber protocols. Some of the elders might expand on this.

That would be appreciated (if there's anything other than Joe 
Hildebrands addition). Thanks for your reply!

Regards,

Manuzhai




More information about the JDev mailing list