Skip to content

xmpppy/xmpppy

Folders and files

NameName
Last commit message
Last commit date
Apr 6, 2020
Dec 28, 2021
Mar 11, 2022
Mar 17, 2020
Apr 10, 2022
Nov 12, 2020
Mar 17, 2020
Oct 19, 2021
Apr 13, 2020
May 15, 2023
Apr 10, 2022

Repository files navigation

xmpppy

Python 2/3 implementation of XMPP (RFC3920, RFC3921).

Documentation: http://xmpppy.sf.net/

Source Code: https://github.com/xmpppy/xmpppy

Status:


About

This library has been written to be compliant with RFC3920 and RFC3921.

Installation

Using pip, you can install the package with:

pip install xmpppy --upgrade

Usage

As a library

Regularly, the module is used as a library, like:

import xmpp

jabberid = "foobar@xmpp.domain.tld"
password = "secret"
receiver = "bazqux@xmpp.domain.tld"
message  = "hello world"

def main():
    jid = xmpp.protocol.JID(jabberid)
    connection = xmpp.Client(server=jid.getDomain(), debug=True)
    connection.connect()
    connection.auth(user=jid.getNode(), password=password, resource=jid.getResource())
    connection.send(xmpp.protocol.Message(to=receiver, body=message))

if __name__ == "__main__":
    main()

Command line interface

The package also installs a command line program called xmpp-message. Its synopsis is:

xmpp-message --debug \
    --jabberid foobar@xmpp.domain.tld --password secret \
    --receiver bazqux@xmpp.domain.tld --message 'hello world'

You can also put your credentials into an ~/.xsend file, like:

JID=foobar@xmpp.domain.tld
PASSWORD=secret

and then invoke xmpp-message omitting the --jabberid and --password options, like:

xmpp-message --receiver bazqux@xmpp.domain.tld --message 'hello world'

Documentation

The canonical documentation is hosted at https://xmpppy.github.io/ and http://xmpppy.sourceforge.net/.

For learning about how to use this module, please have a look at these spots within the code base.

  • The xmpp-message program, located at xmpp/cli.py, for sending a single XMPP message.
  • The other programs within the doc/examples directory.
  • The docstrings within the library itself.

Support

If you have any questions about xmpppy usage or you have found a bug or want to share some ideas - you are welcome to join us on the issue tracker or on the xmpppy-devel mailing list.

Other projects