xmpppy is a Python library that is targeted to provide easy scripting with Jabber. Similar projects are Twisted Words and jabber.py.

This library was not designed from scratch. It inherits some code from jabberpy and have very similar API in many places. Though it is separate project since it have almost completely different architecture and primarily aims to work with jabberd2 - the new Open Source Jabber Server.

xmpppy is distributed under the terms of GNU General Public License and can be freely redistributed without any charge.


Documentation is now in the process of heavy development and not yet finished but most critical docs exist - please feel free to ask any questions if you will find the docs incomplete (see support section below).


For these who prefer reading samples of code than digging through [incomplete] docs - here they are. Simple (but working) examples of xmpppy usage.

  • README.py
    Self-explanatory library usage example
  • xsend.py
    Command-line utility for sending jabber messages
  • xtalk.py
    Command-line utility for chatting with a single user
  • bot.py
    Xmpppy bot framework, handles messages
  • commandsbot.py
    Xmpppy bot framework, handles ad hoc commands
  • logger.py
    Simple conference logger bot

The following are some more advanced examples showing serious library usage:


You can look for released versions on downloads page or alternatively you can grab the latest version directly from CVS tree by typing the following commands:
cvs -d:pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy login
(hit "enter" when you will be prompted for password)
cvs -z3 -d:pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy co xmpppy

You can also browse xmpppy (and several xmpppy-based projects) CVS online here.

If you have an RSS feed reader, there is an RSS feed of CVS commits here.


If you have any questions about using xmpppy you can join xmpppy-devel maillist. Here you can always find the best support, as you can find the developers here.


If you are willing to help you can consult this article for how to do it. Thanks!

If you want to donate some money to encourage me to continue work on library (it helps, really!) you can do it via e-gold system (account 1552795) or via bank transfer (contact me via jabber or email to get the details).


Alexey Nezhdanov
Russian, born 18 Nov 1976.
My timezone is GMT+3
e-mail & Jabber: snake at penza-gsm.ru
ICQ: 19515046

I'm seeking for a job over Internet. It may be jabber-related work or any other.
Possible directions of work:
  • Python projects (preferred)
  • C++ projects
  • Remote systems administering
My skills:
  • 16 years of programming. Basic -> Pascal -> C++ -> Python
  • 9 years of system administrator work. DOS -> Win 3.1 -> Win95 -> Win98 -> linux2.2 -> linux2.4 -> linux2.6
  • Automation tasks
  • Automated instant messenging (state change/failures reporting)
  • Some research work:
    • wavelet audio analysis
    • speech recognising
    • realtime texture [de]compression (for 3D systems).



List all files


Project Summary
Feature Requests


IRC transport
Mail transport
MXit transport
MySpaceIM transport
Yahoo! transport

the xmpppy project