最佳的Python XMPP / Jabber客户端库是什么?

55 投票
2 回答
45796 浏览
提问于 2025-04-15 17:00

你们对Python的Jabber/XMPP客户端库有什么经验?有什么推荐的吗?

2 个回答

7

我所有最好的XMPP工作都是使用wokkel这个工具。

这里有几个例子:

76

这要看你能用什么许可证。一些流行的库是GPL许可证的,如果你想在工作中使用它们,可能会遇到麻烦,特别是当你需要保留自己的专有扩展时。LGPL许可证的库相对不那么流行,但使用起来更灵活。

我曾经想直接使用twisted来做一些简单的XMPP脚本,但文档几乎不存在。我打开了一本发布的twisted参考手册,里面根本没有xmpp或jabber的内容。也许现在他们已经修复了这个问题。

MIT许可证的库。

  • slixmpp是一个友好的sleekxmpp分支,去掉了所有线程,适用于Python 3.7及以上版本。
  • sleekxmpp曾经很受欢迎,并在Peter Saint-Andre的XMPP书籍中作为示例使用,后来被slixmpp取代。

GPL许可证的库。

  • xmpppy在2005到2014年间被gajim使用,最初是从jabberpy分支出来的。现在也可以在xmpppy找到。
  • nbxmpp是xmpppy的一个分支,gajim也在使用。它需要Python 3.7及以上版本,并且在积极维护中。

LGPL许可证的库。

  • aioxmpp是一个基于asyncio的Python 3.4及以上版本的库。
  • pyxmpp已经被放弃,转而使用pyxmpp2。它内部使用libxml2进行XML解析。
  • pyxmpp2是pyxmpp的下一个版本,支持Python 2.7和3.3,并去掉了对libxml2的依赖。像很多库一样,它需要dnspython
  • jabberpy是最初的版本,完全没有维护。

其他库。

  • Wokkel,在另一篇帖子中提到过。对我来说这是一个新的库,基于twisted。

撰写回答