stateless and concurrency-agnostic XMPP implementation in python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
examples
tests
xmpp
.gitignore
.release
.travis.yml
.upload-release.py
COPYING
LICENSE.rst
MANIFEST.in
Makefile
README.rst
TODO.rst
development.txt
requirements.txt
setup.cfg
setup.py
tox.ini

README.rst

XMPP Toolkit for python

Simplistic and stateless XMPP implementation for python. A building block for non-blocking XMPP clients, components, gateways and servers.

Documentation Status https://travis-ci.org/gabrielfalcao/xmpp.svg?branch=master

Documentation

Available at xmpp.readthedocs.io

Client Bot Examples

You can find some in the examples folder:

  • Echo Bot: Auto Replies to anyone who messages it
  • Service Discovery: How to use the Disco (xep 0030)
  • Presence Bot: Client that automatically sends presence and befriends anyone who sends it presence

Component Examples

You can find some in the examples folder:

Extending

The XMPP Toolkit library allows you to easily implement your own XEPs and keep the extensions inside of your own application.

If you are implementing a generic XEP, please consider sending a pull-request with the change, preferabbly along with its test cases.

Acknowledgements

This library was mostly written from scratch, except for the xmpp.sasl which is a modified copy of the contents of the pyxmpp2 library by Jacek Konieczny.

The modified files can be found at:

xmpp/sasl/__init__.py
xmpp/sasl/core.py
xmpp/sasl/digest_md5.py
xmpp/sasl/external.py
xmpp/sasl/gssapi.py
xmpp/sasl/plain.py
xmpp/sasl/saslprep.py
xmpp/sasl/scram.py
xmpp/sasl/xfacebookplatform.py