Python XMPP Client

From Wildsong
Jump to navigationJump to search

Overview

See also the XMPP page.

Projects

  1. Build a publisher client in python that will read gpsd data and send position updates via XMPP.
  2. Build a subscriber client in python that receives location messages and dumps them in a console window.
  3. Extend the subscriber to have it write to a database.
  4. Build an APRS <-> XMPP gateway

Ubuntu tools

Looking in Synaptic on Ubuntu I see these interesting things.

Framework for building bots for IRC, XMPP and the Web

JSONBOT is a remote event-driven framework for building bots that talk JSON to each other over XMPP. This distribution provides bots built on the JSONBOT framework for console, IRC, XMPP for the shell and WWW, and XMPP for the Google App Engine. A plugin infrastructure can be used to write your own functionality.

Jabber client using Qt

Psi is a free instant messaging application designed for the Jabber (XMPP) IM network (including Google Talk). It has full Unicode support, and supports most important XMPP features like file transfer, group chat, encryption etc.

Psi relies on the qca2 library for its encryption features. Therefore, it's necessary to install libqca2-plugin-ossl for SSL (client-to-server) encryption and libqca2-plugin-gnupg for PGP (end-to-end) encryption.

Client libraries

Options for client libraries I am considering include PyXMPP, SleekXMPP, and Twisted.

PyXMPP2 website: https://github.com/Jajcus/pyxmpp2#readme Version 2 looks like it might not be ready.

Sleek website: https://github.com/fritzy/SleekXMPP/wiki

Twisted website: http://twistedmatrix.com/

Location sender

Location receiver

APRS XMPP gateway

Only a few people have already done this but none of them was me! :-)

http://www.aprs4r.org/cgi-bin/trac.cgi/wiki/APRSXMPPGateway

An old but interesting blog entry. http://serendipity.ruwenzori.net/index.php/2008/10/23/xmpp-geographic-presence-for-local-social-networks