PyXMPP is a Python XMPP (RFC 3920,3921) and Jabber (http://www.jabber.org/protocol/) implementation. It is based on libxml2 -- fast and fully-featured XML parser.
PyXMPP provides most core features of the XMPP protocol and several JSF-defined extensions. PyXMPP provides building blocks for creating Jabber clients and components. Developer uses them to setup XMPP streams, handle incoming events and create outgoing stanzas (XMPP "packets").
* nearly complete XMPP Core (RFC 3920) protocol for client connections
(includes SASL, TLS and Stringprep)
* mostly complete XMPP IM (RFC 3921) protocol (lacks privacy lists)
* XMPP error objects including translations to and from legacy codes for
backward compatibility (JEP-0086).
* legacy authentication ("digest" and "plain") (JEP-0078).
* component protocol (JEP-0114).
* Service Discovery (JEP-0030).
* vCards -- both Jabber "vcard-temp" and RFC 2426
* basic parts of the Multi-User Chat protocol (JEP-0045)
* delayed delivery timestamps (JEP-0091).