纯python异步xmpp库
aioxmpp的Python项目详细描述
…是一个纯python xmpp库,使用来自python 3.4(和available as a third-party module to Python 3.3)的asyncio标准库模块。
功能
- 本地Stream Management (XEP-0198)支持针对 暂时性网络故障(如无线和有线之间的切换 网络)。
- 基于xep和自定义协议的强大声明式定义。大多数 通常,您不会接触到原始XML或字符数据,甚至 执行新协议时。
- 默认情况下安全:默认情况下需要TLS以及证书 验证。如果需要,可以使用证书或公钥固定。
- 支持RFC 6121 (Instant Messaging and Presence)名册和到场管理,以及 用XEP-0045 (Multi-User Chats)来满足人与人之间的需求。
- 支持机器到机器的XEP-0060 (Publish-Subscribe)和XEP-0050 (Ad-Hoc Commands) 需要。
- 其他几个xep,如XEP-0115(包括对 读写capsdb)和 XEP-0131。
- 适用于一次性脚本和长期运行的多帐户的api 客户。
- 经过测试的模块化代码库:aioxmpp是在测试驱动下开发的 样式和许多模块都是根据 Prosody0.9,0.10及最新进展 版本,以及ejabberd,两个流行的xmpp 服务器。
还有更多,还有更多!查看支持的xep列表 在official documentation和open GitHub issues tagged as enhancement中 对于计划好的事情,请阅读下面关于如何做出贡献的内容。
文档
使用sphinx彻底记录了aioxmppapi。查看official documentation中的quick start和API reference。
依赖关系
- python≥3.4(或python=3.3,郁金香和enum34)
- dnspython
- lxml
- sortedcollections
- tzlocal(用于i18n支持)
- pyOpenSSL
- pyasn1和pyasn1_modules
- aiosasl(对于ANONYMOUS支持,大于等于0.3)
- multidict
- aioopenssl
- typing(仅限python<;3.5)
贡献
如果您考虑为aioxmpp做贡献,您可以这样做,即使没有github 帐户。有几种方法可以与aioxmpp开发人员联系:
- The development mailing list。感觉 免费订阅和发布,但要有礼貌并遵守Netiquette (RFC 1855)。将请求发送到 也欢迎邮寄名单!
- 在aioxmpp@conference.zombofant.net的开发muc。拉动请求 在MUC宣布也欢迎!注意muc被设置为persistent, 不过,也许并不总是有人在身边。如果有疑问,请使用 取而代之的是邮件列表。
- 打开或评论问题,或在GitHub上发布拉取请求。
不知道该怎么办,但还是想弄脏你的手?查看列表 第‘help wanted’ issues on GitHub页 或者在muc或邮件列表上询问。标记为“需要帮助”的问题是 通常范围狭窄,针对初学者。
请务必阅读docs/CONTRIBUTING.rst以获得有关如何 写下你的贡献。
安全问题
如果你相信你在aioxmpp中发现的一个bug有安全隐患, 欢迎你私下通知我。为此,请将邮件发送到Jonas Wielicki,并使用gpg公钥加密 0xE5EDE5AC679E300F(指纹AA5A 78FF 508D 8CF4 F355 F682 E5ED E5AC 679E 300华氏度)。
如果您希望立即披露安全问题,可以在 上面列出的地方。