最佳的Python XMPP / Jabber客户端库是什么?
你们对Python的Jabber/XMPP客户端库有什么经验?有什么推荐的吗?
2 个回答
7
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。