Каковы ваши впечатления от клиентских библиотек Python Jabber/XMPP? Что вы рекомендуете?
Лучшая клиентская библиотека python XMPP/Jabber?
Ответ 1
Это зависит от того, какую лицензию вы можете использовать. Некоторые популярные библиотеки - это GPL, которые могут вызвать серьезные проблемы, если вам нужно использовать их для работы, особенно если вам нужно сохранить проприетарные расширения. Я думаю, что библиотеки LGPL немного менее популярны, но у вас больше гибкости в том, для чего вы можете их использовать.
Я когда-то смотрел на использование twisted напрямую для некоторых простых сценариев XMPP, но документация буквально не существовала. Например, я открыл опубликованное справочное руководство, в котором нет ни xmpp, ни jabbber. Может быть, они исправили это сейчас.
Библиотеки MIT.
- sleekxmpp (was: sleekxmpp) довольно популярен и используется для примеров в книге Питера Сен-Андре по XMPP от O'Reilly. По сообщениям, он работает хорошо, и, наконец, получил список адресов электронной почты в апреле 2010 года и имеет комнату для дискуссий по адресу [email protected]
- slixmpp - это дружественный форк sleekxmpp. Он удалил все потоки и предназначен для Python 3. 4+.
Библиотеки GPL.
- xmpppy использовался gajim в 2005-2014 годах и начинался как раздвоенный jabberpy. Также живет в xmpppy.
- nbxmpp разветвляется на xmpppy и используется gajim. Имеет хоть какую-то поддержку Python 3. Это активно поддерживается.
Библиотеки LPGL.
- aioxmpp - это основанная на asyncio библиотека Python 3. 4+.
- pyxmpp довольно хорош и использует libxml2 для анализа XML.
- pyxmpp2 является следующей версией pyxmpp, работает на python 2.7 и 3.2 и устраняет требование libxml2. Как и многим, для этого требуется dnspython.
- Jabberpy является оригинальной и до сих пор работает для многих задач, но полностью не поддерживается.
Другие библиотеки.
- Wokkel, упоминается в другом посте. Это новый для меня, основанный на витой.
Ответ 2
В моей лучшей работе XMPP используется wokkel.
Примеры пары: