https://github.com/xmpppy/xmpppy
Python 2/3 implementation of XMPP
https://github.com/xmpppy/xmpppy
jabber jabber-client xmpp xmpp-client xmpp-client-library xmpp-library
Last synced: about 1 month ago
JSON representation
Python 2/3 implementation of XMPP
- Host: GitHub
- URL: https://github.com/xmpppy/xmpppy
- Owner: xmpppy
- License: gpl-3.0
- Created: 2009-06-28T12:54:48.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2026-01-27T09:22:11.000Z (about 2 months ago)
- Last Synced: 2026-01-27T09:36:33.149Z (about 2 months ago)
- Topics: jabber, jabber-client, xmpp, xmpp-client, xmpp-client-library, xmpp-library
- Language: Python
- Homepage: http://xmpppy.sourceforge.net/
- Size: 529 KB
- Stars: 106
- Watchers: 9
- Forks: 67
- Open Issues: 25
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
README
######
xmpppy
######
.. image:: https://img.shields.io/pypi/pyversions/xmpppy.svg
:target: https://pypi.org/project/xmpppy/
.. image:: https://img.shields.io/pypi/v/xmpppy.svg
:target: https://pypi.org/project/xmpppy/
.. image:: https://img.shields.io/pypi/l/xmpppy.svg
:target: https://pypi.org/project/xmpppy/
.. image:: https://img.shields.io/pypi/dm/xmpppy.svg
:target: https://pypi.org/project/xmpppy/
.. image:: https://img.shields.io/pypi/status/xmpppy.svg
:target: https://pypi.org/project/xmpppy/
.. image:: https://github.com/xmpppy/xmpppy/actions/workflows/tests.yml/badge.svg
:target: https://github.com/xmpppy/xmpppy/actions/workflows/tests.yml
.. image:: https://img.shields.io/codecov/c/gh/xmpppy/xmpppy.svg
:target: https://codecov.io/gh/xmpppy/xmpppy/
|
:About: Python 2/3 implementation of XMPP
:Standards: `RFC3920`_, `RFC3921`_
:Documentation: https://xmpppy.sourceforge.net/
:Source Code: https://github.com/xmpppy/xmpppy
************
Installation
************
Using ``pip``, you can install the package with::
pip install --upgrade xmpppy
*****
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.
***********
Development
***********
Acquire sources and bootstrap sandbox::
git clone https://github.com/xmpppy/xmpppy
cd xmpppy
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade --editable='.[test]'
Run software tests::
docker compose --file tests/compose.yml up
pytest
Run particular tests::
pytest --no-cov -k compile
*******
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
**************
- https://github.com/poezio/slixmpp
- https://github.com/horazont/aioxmpp
- https://github.com/Jajcus/pyxmpp2
- https://github.com/fritzy/SleekXMPP
- https://dev.gajim.org/gajim/python-nbxmpp
- https://github.com/xmpppy/xmpppy/files/4346179/xmpp_libs.xlsx
.. _RFC3920: https://datatracker.ietf.org/doc/rfc3920/
.. _RFC3921: https://datatracker.ietf.org/doc/rfc3921/