mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-11-23 19:19:53 +00:00
Python 2.6+/3.1+ XMPP Library
9f1648328f
See issue #89 Using get_roster will now return the same types of values as Iq.send. If a timeout occurs, then the event 'roster_timeout' will be fired. A successful call to get_roster will also raise the 'roster_received' event. To ensure that the get_roster call was successful, here is a pattern to follow: def __init__(self, ...): ... self.add_event_handler('session_start', self.session_start) self.add_event_handler('roster_timeout', self.roster_timeout) self.add_event_handler('roster_received', self.roster_received) def session_start(self, e): self.send_presence() self.get_roster() def roster_timeout(self, e): # Optionally increase the timeout period self.get_roster(timeout=self.response_timeout * 2) def roster_received(self, iq): # Do stuff, roster has been initialized. ... |
||
---|---|---|
conn_tests | ||
examples | ||
sleekxmpp | ||
tests | ||
.gitignore | ||
ez_setup.py | ||
INSTALL | ||
LICENSE | ||
README | ||
setup.py | ||
testall.py | ||
todo1.0 |
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 Requirements: We try to keep requirements to a minimum, but we suggest that you install http://dnspython.org although it isn't strictly required. If you do not install this library, you may need to specify the server/port for services that use SRV records (like GTalk). "sudo pip install dnspython" on a *nix system with pip installed. 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.