Python 2.6+/3.1+ XMPP Library
Find a file
Lance Stout fd573880eb Updated the XEP-0030 plugin to work with stanza objects instead of manipulating XML directly.
Four new events have been added:
  disco_info - A disco#info result has been received
  disco_info_request - A disco#info request has been received
  disco_items - A disco#items result has been received
  disco_items_request - A disco#items request has been received

For disco_info_request and disco_items_request two default handlers are registered. These handlers will only run if they are the only handler for these two events so that multiple responses are not returned and cause errors.

In your own handlers for these two events, you can call the default handlers to preserve the static node behaviour as so:
  self.plugin['xep_0030'].handle_disco_info(iq, True)

The forwarded=True will disable the check for other registered handlers.

Agents can now dynamically respond to disco requests by using these events.
(cherry picked from commit 0fc3381492a8bd75e6a9858539a972334881d8ff)
2010-05-31 05:30:45 +08:00
conn_tests control-c fixes 2010-05-28 19:19:28 -07:00
sleekxmpp Updated the XEP-0030 plugin to work with stanza objects instead of manipulating XML directly. 2010-05-31 05:30:45 +08:00
tests added pubsub state stanzas and scheduled events 2010-05-27 04:58:57 -07:00
.gitignore stanzabase indent fix 2010-03-24 17:18:39 -07:00
example.py Changed example.py to register first Xep_0030. 2010-05-26 06:49:01 +08:00
ez_setup.py moved seesmic branch to trunk 2009-06-03 22:56:51 +00:00
INSTALL Added readme and install 2010-01-20 00:19:30 -08:00
LICENSE changed license to MIT 2010-03-26 14:32:16 -07:00
MANIFEST moved seesmic branch to trunk 2009-06-03 22:56:51 +00:00
README added muc room to readme 2010-05-26 11:46:56 -07:00
setup.py changed license to MIT 2010-03-26 14:32:16 -07:00
testall.py fixed setup.py issue with unicode in 3.x 2010-01-29 23:57:57 -08:00

SleekXMPP is an XMPP library written for Python 3.1+ (with 2.6 compatibility).
Hosted at http://wiki.github.com/fritzy/SleekXMPP/

Featured in examples in XMPP: The Definitive Guide by Kevin Smith, Remko Tronçon, and Peter Saint-Andre
If you're coming here from The Definitive Guide, please read http://wiki.github.com/fritzy/SleekXMPP/xmpp-the-definitive-guide

SleekXMPP has several design goals/philosophies:
- Low number of dependencies.
- Every XEP as a plugin.
- Rewarding to work with.

The goals for 1.0 include (and we're getting close):
- Nearly Full test coverage of stanzas.
- Wide range of functional tests.
- Stanza objects for all interaction with the stream
- Documentation on using and extending SleekXMPP.
- Complete documentation on all implemented stanza objects
- Documentation on all examples used in XMPP: The Definitive Guide

1.1 will include:
- More functional and unit tests
- PEP-8 compliance
- XEP-225 support

Since 0.2, here's the Changelog:
- MANY bugfixes
- Re-implementation of handlers/threading to greatly simplify and remove bugs (no more spawning threads in handlers)
- Stanza objects for jabber:client and all implemented XEPs
- Raising XMPPError for jabber:client and extended errors in handlers
- Robust error handling and better insurance of iq responses
- Stanza objects have made life a lot easier!
- Massive audit/cleanup.

Credits
----------------
Main Author: Nathan Fritz fritz@netflint.net
Contributors: Kevin Smith & Lance Stout
Patches: Remko Tronçon

Feel free to add fritzy@netflint.net to your roster for direct support and comments.
Join sleekxmpp-discussion@googlegroups.com / http://groups.google.com/group/sleekxmpp-discussion for email discussion.
Join sleek@conference.jabber.org for groupchat discussion.