PyXMPP -- Python Jabber/XMPPP implementation
Introduction
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").
Features
- nearly complete XMPP Core (RFC 3920) protocol for client connections (includes SASL, TLS and Strinprep).
- 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).
- Data Forms (JEP-0004).
- In-Band Registration (JEP-0077).
Requirements
For PyXMPP you will need:
- Python. PyXMPP was designed for Python 2.4, 2.3 should work too.
- libxml2. Recent release (>=2.6.11) with python bindings is required. Additionally, all development files for libxml2 (usually in separate libxml2-devel package) are recommended for compilation of PyXMPP for best performance. PyXMPP 1.0 was tested with libxml2-2.6.21.
- dnspython. PyXMPP 1.0 was tested with version 1.3.4.
- M2Crypto for TLS support. Tested with M2Crypto-0.13/swig-1.3.21.
Installation
To build the package just invoke:
python setup.py build
To install it:
python setup.py install
If you had some older version of PyXMPP it is better to uninstall it (delete pyxmpp subdirectory os your site-packages directory) before installing this one or things may not work correctly.
You may also try:
make
and:
make install
instead.
Contact
PyXMPP was written and is maintained by Jacek Konieczny <jajcus@jajcus.net>.
To report bugs or request features use the Trac.
For discussion you may join the PyXMPP mailing list.
Download
Latest releases of PyXMPP may be downloaded from the files downloads directory. There are also some SVN snapshots available.
You can also checkout latest sources directly from the SVN repository:: svn checkout http://pyxmpp.jajcus.net/svn/pyxmpp/trunk pyxmpp
Licence
PyXMPP is free software, licenced under the GNU LGPL. See the COPYING file for details.