Home

libpurple

libpurple is a multi-protocol instant messaging library that provides the core functionality shared by many chat clients. It implements user authentication, presence, contact lists, messaging, chat rooms, file transfers, and avatars, while leaving the user interface to client applications. libpurple is the backbone of Pidgin, and it is also used by other applications such as Adium and Kopete as a backend.

Written in C, libpurple offers a plugin-based architecture in which protocol support is added through protocol

Protocol support is provided by a large collection of plugins; some of the most widely used include

libpurple originated from the Gaim project and was integrated into the Pidgin ecosystem. It is released under

plugins.
The
library
defines
common
data
structures
and
APIs
for
accounts,
buddies,
conversations,
and
messages,
and
manages
network
connections,
event
handling,
and
state
synchronization.
It
is
designed
to
be
embeddable,
allowing
applications
to
reuse
its
functionality
without
duplicating
protocol
code.
XMPP
(Jabber),
IRC,
AIM,
ICQ,
MSN,
Yahoo,
and
Google
Talk,
among
others.
New
protocols
can
be
added
by
developing
additional
plugins,
keeping
the
core
library
protocol-agnostic.
the
GNU
General
Public
License,
and
is
maintained
by
an
open-source
community
of
contributors.