An XMPP Server implemented in Python
JavaScript Python Shell
Latest commit 8e6e009 Aug 28, 2012 @blahed blahed Merge pull request #6 from jfenwick/master
dependencies update
Failed to load latest commit information.
examples Add comment about TLS to chat-server example. Mar 27, 2010
xmpp Add log.debug() statements to readstream. To see traffic:… Apr 16, 2010
LICENSE Initial commit: TCPServer and XMLHandler Jan 16, 2010
README.rst updated pycurl dependency to more recent version as old version is no… Jun 8, 2012


Python XMPP Server

An XMPP Server written in Python. Examples are available here. This project is currently in an alpha state and under active development. The core supports TLS, SASL, Resource Binding, and Sessions. The rudimentary chat-server example has been successfully tested against Pidgin clients (e.g. Adium, Proteus, etc.).


The XMPP server is using on tornado, lxml, and python-sasl. Before you can install it, make sure you have these prerequisites installed. To install the tornado and lxml:

sudo easy_install setuptools pycurl== simplejson lxml
sudo easy_install -f tornado

Since lxml and pycurl have C dependencies, it may be simpler to use a package management system if it's available for your OS. Using MacPorts, for example:

sudo port install py26-setuptools py26-curl py26-simplejson py26-lxml
sudo easy_install -f tornado

To install python-sasl:

git clone git://
cd python-sasl
python build
sudo python install

Download and Install

To check out and install python-xmpp-server:

git clone git://
cd python-xmpp-server
python build
sudo python install

Test your setup by running an example:

python examples/


If you are going to hack on python-xmpp-server, you can use python develop instead of python install to create an egg-link to the git repository.