Python bindings to libpurple
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
debian
libpurple Fixing support to request_action callback Feb 28, 2009
AUTHORS
COPYING Added AUTHORS, COPYING, COPYRIGHT and README. Feb 28, 2009
README
account.pyx
account_cbs.pxd
blist_cbs.pxd
buddy.pyx Removed unused/duplicated/deprecated includes. Jun 16, 2009
c_purple.c
c_purple.h
connection_cbs.pxd
conversation.pyx
conversation_cbs.pxd
notify_cbs.pxd
nullclient-ecore.py
nullclient.py
plugin.pyx Replaced all 'dict.has_key(item)' with 'item in dict' expressions. Mar 2, 2009
protocol.pyx
proxy.pyx
purple.pyx
request_cbs.pxd
setup.py Removed fat from setup.py. Feb 28, 2009
setup_dist.py Added setup_dist.py. Feb 28, 2009
signal_cbs.pxd
util.pxd Replaced c_purple* with purple* for most files. Feb 28, 2009
welcome

README

python-purple - Python bindings for libpurple
---------------------------------------------

Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia

Requirements
------------

In order to build python-purple, you need the following packages:
 * cdbs
 * debhelper
 * libpurple-dev
 * libglib2.0-dev
 * python2.5-dev
 * python2.5-distutils
 * cython (optional)

Although it's not dependent, cython should also needed if you want to
re-create purple.c file (generated from cython using purple.pyx).

Building and installing python-purple
-------------------------------------

Building cython-generated purple.c file (optional):

$ cython purple.pyx -I libpurple/

This is also done by setup.py when running:

$ python2.5 setup.py build

If you don't need to generate purple.c file, you can use setup_dist.py:

$ python2.5 setup_dist.py build

Both setups generates purple.so inside build/ directory. The difference is
that setup.py also generates purple.c file, if it doesn't exists.

To install files inside your system:

$ sudo python2.5 setup.py install --root=/usr

You can also create a debian package of it:

$ dpkg-buildpackage -rfakeroot

Testing python-purple
---------------------

Python-purple provides a client example (nullclient) which connects to a
Gtalk account and displays libpurple's debug messages. In order to execute it,
issue the following command:

$ LD_PRELOAD=/usr/lib/libpurple.so.0 python2.5 nullclient.py

It will ask for a username and then password. Insert it and it will
automatically connect to the given account.

There is also another example client (nullclient-ecore), which provides some
callback examples from libpurple interacting with UI. In order to execute it,
issue the following command:

$ LD_PRELOAD=/usr/lib/libpurple.so.0 python2.5 nullclient-ecore.py

An Etk-based window will pop up showing text windows, a command entry and
three buttons ('Send', 'Connect', 'Add account'). In order to test it, follow
the steps below:

1. Click on 'Add account' button. A pop-up window appears, and you can enter
there a gmail-based account (e.g. jsmith@gmail.com). Click 'Ok' when done.

2. Click on 'Connect' button. A pop-up window appears asking for account's
password. Click 'Ok' when done.

Now wait for the account connection. When 'Connected' appears, your buddy
list gets updated.

3. You are now connected! Select a buddy from buddy list, write a message on
the command entry and click 'Send'. Your message appears in the text box.
If your buddy replies, his/her message also gets shown in the text box.