All Projects → horazont → Aioxmpp

horazont / Aioxmpp

Licence: lgpl-3.0
An XMPP library for use with Python 3.5+ asyncio.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Aioxmpp

Spade
Smart Python Agent Development Environment
Stars: ✭ 176 (-7.37%)
Mutual labels:  asyncio, xmpp
Mayhem
The Python asyncio tutorial I wish existed earlier
Stars: ✭ 184 (-3.16%)
Mutual labels:  asyncio
Libuvsharp
.NET bindings for libuv
Stars: ✭ 170 (-10.53%)
Mutual labels:  asyncio
Gino
GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.
Stars: ✭ 2,299 (+1110%)
Mutual labels:  asyncio
Aiohttp Session
Web sessions for aiohttp.web
Stars: ✭ 171 (-10%)
Mutual labels:  asyncio
Coinbase Exchange Order Book
Real-time Coinbase Exchange (GDAX) order book + basic market maker bot
Stars: ✭ 177 (-6.84%)
Mutual labels:  asyncio
Mnm
The legitimate email replacement — n-identity, decentralized, store-and-forward, open protocol, open source. (Server)
Stars: ✭ 162 (-14.74%)
Mutual labels:  xmpp
Aiocoap
The Python CoAP library
Stars: ✭ 185 (-2.63%)
Mutual labels:  asyncio
Aiohttp Jinja2
jinja2 template renderer for aiohttp.web
Stars: ✭ 180 (-5.26%)
Mutual labels:  asyncio
Owllook
owllook-小说搜索引擎
Stars: ✭ 2,163 (+1038.42%)
Mutual labels:  asyncio
Aiohttp Cors
CORS support for aiohttp
Stars: ✭ 173 (-8.95%)
Mutual labels:  asyncio
Linkedin Learning Downloader
Linkedin Learning videos downloader
Stars: ✭ 171 (-10%)
Mutual labels:  asyncio
Databases
Async database support for Python. 🗄
Stars: ✭ 2,602 (+1269.47%)
Mutual labels:  asyncio
Tigase Server
Highly optimized, extremely modular and very flexible XMPP/Jabber server
Stars: ✭ 170 (-10.53%)
Mutual labels:  xmpp
Aiohttp Debugtoolbar
aiohttp_debugtoolbar is library for debugtoolbar support for aiohttp
Stars: ✭ 183 (-3.68%)
Mutual labels:  asyncio
Gain
Web crawling framework based on asyncio.
Stars: ✭ 2,002 (+953.68%)
Mutual labels:  asyncio
Aioredlock
🔒 The asyncio implemetation of Redis distributed locks
Stars: ✭ 171 (-10%)
Mutual labels:  asyncio
Go Sarah
Simple yet customizable bot framework written in Go.
Stars: ✭ 188 (-1.05%)
Mutual labels:  xmpp
Hubot Xmpp
XMPP adapter for Hubot
Stars: ✭ 185 (-2.63%)
Mutual labels:  xmpp
Tsung
Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.
Stars: ✭ 2,185 (+1050%)
Mutual labels:  xmpp

aioxmpp ###########

.. image:: https://travis-ci.org/horazont/aioxmpp.svg?branch=devel :target: https://travis-ci.org/horazont/aioxmpp

.. image:: https://coveralls.io/repos/github/horazont/aioxmpp/badge.svg?branch=devel :target: https://coveralls.io/github/horazont/aioxmpp?branch=devel

.. image:: https://img.shields.io/pypi/v/aioxmpp.svg :target: https://pypi.python.org/pypi/aioxmpp/

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

.. _asyncio: https://docs.python.org/3/library/asyncio.html __ https://code.google.com/p/tulip/

.. remember to update the feature list in the docs

Features

  • Native Stream Management (XEP-0198) <https://xmpp.org/extensions/xep-0198.html>_ 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) <https://tools.ietf.org/html/rfc6121>_ roster and presence management, along with XEP-0045 (Multi-User Chats) <https://xmpp.org/extensions/xep-0045.html>_ for your human-to-human needs.

  • Support for XEP-0060 (Publish-Subscribe) <https://xmpp.org/extensions/xep-0060.html>_ and XEP-0050 (Ad-Hoc Commands) <https://xmpp.org/extensions/xep-0050.html>_ for your machine-to-machine needs.

  • Several other XEPs, such as XEP-0115 <https://xmpp.org/extensions/xep-0115.html>_ (including native support for the reading and writing the capsdb <https://github.com/xnyhps/capsdb>) and XEP-0131 <https://xmpp.org/extensions/xep-0131.html>.

  • 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 <https://prosody.im/>_ and ejabberd <https://www.ejabberd.im/>_, 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 <https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement>_ 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 <https://lists.zombofant.net/cgi-bin/mailman/listinfo/aioxmpp-devel>. Feel free to subscribe and post, but be polite and adhere to the Netiquette (RFC 1855) <https://tools.ietf.org/html/rfc1855>. 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 <https://github.com/horazont/aioxmpp/issues>_.

No idea what to do, but still want to get your hands dirty? Check out the list of 'help wanted' issues on GitHub <https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22>_ 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 <mailto:[email protected]>_, 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 <SECURITY.md>_ file.

Change log

The change log_ is included in the official documentation_.

.. _change log: https://docs.zombofant.net/aioxmpp/devel/api/changelog.html .. _official documentation: https://docs.zombofant.net/aioxmpp/devel/ .. _quick start: https://docs.zombofant.net/aioxmpp/devel/user-guide/quickstart.html .. _API reference: https://docs.zombofant.net/aioxmpp/devel/api/index.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].