2
0
Fork
You've already forked aioxmpp
0
forked from jssfr/aioxmpp
An XMPP library for use with Python 3.5+ asyncio.
  • Python 98.8%
  • Lua 1%
2025年07月11日 16:12:12 +02:00
.github/workflows Update test matrix in CI 2023年01月29日 15:21:14 +01:00
aioxmpp Fix stream management counting bug 2024年05月01日 15:15:19 +02:00
benchmarks xml: add benchmark for xmlValidateNameValue 2018年05月19日 16:28:04 +02:00
data Add alpha version of XHTML-IM sanitisation XSLT 2017年03月02日 22:07:31 +01:00
docs XEP-009 RPC 2023年02月08日 16:46:08 +01:00
examples XEP-009 RPC 2023年02月08日 16:46:08 +01:00
tests Fix stream management counting bug 2024年05月01日 15:15:19 +02:00
utils Merge branch 'feature/py-update' into devel 2023年01月29日 15:21:48 +01:00
.coveragerc Replace travis CI with GitHub Actions 2021年01月16日 13:00:35 +01:00
.gitignore Implement Travis CI <-> coveralls.io integration 2017年04月04日 13:50:28 +02:00
.mailmap Add mailmap file for myself 2018年10月11日 17:06:57 +02:00
.travis-pinstore.json Update certificates for travis e2e tests 2017年10月14日 19:26:03 +02:00
COPYING.gpl3 Fix up the license mess 2015年11月15日 18:22:19 +01:00
COPYING.LESSER Write license headers and transition to LGPLv3 2016年10月08日 16:34:28 +02:00
LICENSES Update LICENSES document 2017年05月14日 14:41:55 +02:00
Makefile Add docs-clean target to top-level makefile 2016年05月19日 20:40:30 +02:00
MANIFEST.in Add MANIFEST.in to include license information in sdist tarball 2017年05月14日 14:43:14 +02:00
README.rst Update link to mailing-list aioxmpp-devel 2025年07月11日 16:12:12 +02:00
SECURITY.md Draft security policy 2019年05月23日 22:28:16 +02:00
setup.py Bump multidict dependency 2022年03月06日 13:56:57 +01:00
tox.ini Fix (or silence :)) all the flake8 complaints in the code 2019年03月02日 15:52:44 +01:00

aioxmpp

image

image

image

... 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).

Notice: As of January 14th, 2024, aioxmpp entered a new mode of operation, which hasn't been fully documented yet elsewhere. There will be no further releases, until there are more contributors who stick around and care for the maintenance and quality of the code. Maintaining it alone at the previous quality level is something I simply cannot deliver anymore.

Note: I am not interested in handing over access to PyPI or this repository.

Features

  • Native Stream 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 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) and XEP-0050 (Ad-Hoc Commands) 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.
  • Well-tested and modular codebase: aioxmpp is developed in test-driven style and in addition to that, many modules are automatedly tested against Prosody and ejabberd, two popular XMPP servers.

There is more and there’s yet more to come! Check out the list of supported XEPs in the official documentation and open GitHub issues tagged as enhancement for things which are planned and read on below on how to contribute.

Documentation

The aioxmpp API is thoroughly documented using Sphinx. Check out the official documentation for a quick start and the API reference.

Dependencies

Contributing

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 aioxmpp@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 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.

Security issues

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 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 the SECURITY.md file.

Change log

The change log is included in the official documentation.