Python XMPP Client: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Overview ==
== Overview ==


Objective 1: build a client in python that will read gpsd data and send position updates via XMPP.
See also the [[XMPP]] page.


Objective 2: build a client in python that receives location messages and dumps them in a console window.
=== Projects ===
 
# Build a publisher client in python that will read gpsd data and send position updates via XMPP.
# Build a subscriber client in python that receives location messages and dumps them in a console window.
# Extend the subscriber to have it write to a database.
# 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 ==
== Client libraries ==
Line 9: Line 37:
Options for client libraries I am considering include PyXMPP, SleekXMPP, and Twisted.
Options for client libraries I am considering include PyXMPP, SleekXMPP, and Twisted.


PyXMPP website: http://pyxmpp.jajcus.net/
PyXMPP2 website: https://github.com/Jajcus/pyxmpp2#readme  ''Version 2 looks like it might not be ready.''


Sleek website: http://code.google.com/p/sleekxmpp/
Sleek website: https://github.com/fritzy/SleekXMPP/wiki


Twisted website: http://twistedmatrix.com/
Twisted website: http://twistedmatrix.com/
Line 18: Line 46:


== Location receiver ==
== 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
[[Category: Messaging]]

Latest revision as of 16:30, 27 October 2021

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