... is a pure-python XMPP library using the asyncio standard library module from Python 3.4 (and available as a third-party module to Python 3.3).
- Native Stream Management (XEP-0198) support for robustness against transient network failures (such as switching between wireless and wired networks).
- Support for RFC 6121 (Instant Messaging and Presence) roster and presence management, along with XEP-0045 (Multi-User Chats) for your human-to-human needs.
- Support for XEP-0060 (Publish-Subscribe) as well as powerful declarative-style definition of your own protocols for your machine-to-machine needs.
- Several other XEPs, such as XEP-0115 (including native support for the reading and writing the capsdb) and XEP-0131.
- APIs suitable for both one-shot scripts and long-running multi-account clients.
- Secure by default: TLS is required by default, as well as certificate validation. Certificate or public key pinning can be used, if needed.
- Well-tested and modular codebase.
And there’s yet more to come! Check out the list of open GitHub issues tagged as enhancement for things which are planned and read on below on how to contribute.
Python ≥ 3.4 (or Python = 3.3 with tulip and enum34)
DNSPython
libxml2-devel (for some XML helpers)
lxml
-
(Note that
ordered_set
does not work!) tzlocal (for i18n support)
pyasn1 and pyasn1_modules
aioopenssl (optional, for now)
If you consider contributing to aioxmpp, you can do so, even without a GitHub account. There are several ways to get in touch with the aioxmpp developer(s):
- The development mailing list. Feel free to subscribe and post, but be polite and adhere to the Netiquette (RFC 1855). Pull requests posted to the mailing list are also welcome!
- The development MUC at
[email protected]
. Pull requests announced in the MUC are also welcome! Note that the MUC is set persistent, but nevertheless there may not always be people around. If in doubt, use the mailing list instead. - Open or comment on an issue or post a pull request on GitHub.
No idea what to do, but still want to get your hands dirty? Check out the list of 'help wanted' issues on GitHub or ask in the MUC or on the mailing list. The issues tagged as 'help wanted' are usually of narrow scope, aimed at beginners.
Be sure to read the docs/CONTRIBUTING.rst
for some hints on how to
author your contribution.
If you believe that a bug you found in aioxmpp has security implications, you are welcome to notify me privately. To do so, send a mail to Jonas Wielicki, encrypted using the GPG public key 0xE5EDE5AC679E300F (Fingerprint AA5A 78FF 508D 8CF4 F355 F682 E5ED E5AC 679E 300F).
If you prefer to disclose security issues immediately, you can do so at any of the places listed above.
The change log is included in the official documentation.