Package: aioxmpp
… is a pure-python XMPP library using theasynciostandard library module from Python 3.4 (andavailable as a third-party module to Python 3.3).FeaturesNativeStream Management (XEP-0198)support for robustness against
transient network failures (such as switching between wireless and wired
networks).Powerful declarative-style definition of XEP-based and custom protocols. Most
of the time, you will not get in contact with raw XML or character data, even
when implementing a new protocol.Secure by default: TLS is required by default, as well as certificate
validation. Certificate or public key pinning can be used, if needed.Support forRFC 6121 (Instant Messaging and Presence)roster and presence management, along
withXEP-0045 (Multi-User Chats)for your human-to-human needs.Support forXEP-0060 (Publish-Subscribe)andXEP-0050 (Ad-Hoc Commands)for your machine-to-machine
needs.Several other XEPs, such asXEP-0115(including native support for
the reading and writing thecapsdb) andXEP-0131.APIs suitable for both one-shot scripts and long-running multi-account
clients.Well-tested and modular codebase: aioxmpp is developed in test-driven
style and in addition to that, many modules are automatedly tested againstProsodyandejabberd,
two popular XMPP servers.There is more and there’s yet more to come! Check out the list of supported XEPs
in theofficial documentationandopen GitHub issues tagged as enhancementfor things which are planned and read on below on how to contribute.DocumentationTheaioxmppAPI is thoroughly documented using Sphinx. Check out theofficial documentationfor aquick startand theAPI reference.DependenciesPython ≥ 3.4 (or Python = 3.3 with tulip and enum34)DNSPythonlxmlsortedcollectionstzlocal(for i18n support)pyOpenSSLpyasn1andpyasn1_modulesaiosasl(≥ 0.3 forANONYMOUSsupport)multidictaioopenssltyping(Python < 3.5 only)ContributingIf 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 theNetiquette
(RFC 1855). Pull requests posted to
the mailing list are also welcome!The development MUC ataioxmpp@conference.zombofant.net. 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 onGitHub.No idea what to do, but still want to get your hands dirty? Check out the list
of‘help wanted’ issues on GitHubor 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 thedocs/CONTRIBUTING.rstfor some hints on how to
author your contribution.Security issuesIf 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 toJonas Schäfer, 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.More details can be found in theSECURITY.mdfile.Change logThechange logis included in theofficial documentation.