Skip to main content

xmppy

tag commit license

status status

The repository is no longer being developed

Python module for receiving and sending message using XMPP protocol.

Requires python >=3.8, <3.10

Attention: Module DO NOT provide any layers of encryption. You use it at your own risk.

Repos: GitHub GitLab


Table of Contents


Installation

From source

# using poetry
user@host:~$ poetry install 
# using pip
user@host:~$ pip install .

Using pip

user@host:~$ pip install xmppy

AUR (TODO)

user@host:~$ makepkg xmppy

Usage

Sending and receiving messages

example 1

(using classmethod)

import xmppy.Messenger as xb
import subprocess as sp

def monitor():
	return "Example message"

def reply(msg):
	return sp.check_output(msg, shell=True).decode()

#send monitor() every 60 seconds and keep receiving reply()
Client = xb.Client.initialize("jabber_id@examp.le", "password",
				"send_to@examp.le", monitor, reply, freq=60)

example 1

example 2

(only sending messages)

#send one message (for looping add freq param)
Client = xb.Client.sendMessage("jabber_id@examp.le", "password",
						"send_to@examp.le", monitor)

example 3

(only receiving messages)

Client = xb.Client.receiveMessage("jabber_id@examp.le", "password", reply)

Data input

Instead od entering data as parameters xmppy.Client("jid","pass","recipient"...) you can use .ini file:

#example.ini
[configfile]
jid = jid@examp.le
password = qwerty123
# recipient input is optional.
# In order to use entry below you should mark recipient as None in Client constructor
# i.e. xmppy.Client("file", "example.ini", None, ...) Otherwise, this input will be ignored.
recipient = rece@examp.le

and change function call from .Client("jid@examp.le", "password", "recipient@examp.le", ...) to .Client("file", "<.ini file>", <None or recipient@examp.le>, ...). Feature works with all calls from examples (1,2,3).

Console script

user@host:~$ xmppy -j <Jabber ID> -p <password> -t <recipient> -m <message>

Encryption

GPG

(in progress...)

Client = xb.Client.initialize("jabber_id@examp.le", "password",
				"send_to@examp.le", monitor, reply, freq=60, wait=True)
#temporarily doesn't support signing and receiving encrypted messages TODO!
Client.enableGPG("UID", "gnupghome_dir")

Client.run(wait=False)

OMEMO

TODO!

Metadata

Release files for xmppy 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xmppy 0.2
File Size Uploaded
xmppy-0.2.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xmppy 0.2
File Interpreter ABI Platform
xmppy-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / xmppy-0.2.tar.gz

Download URL xmppy-0.2.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7e58b054020d76ff11e7a14562382d216d73715a62aba3ab9b67c0d74a43d7a8
BLAKE2b-256 checksum
How to use checksums
c6ccaddd04b459d4cebed215b0a6972c984f46889cfc4332f60358f38b657d0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Linux/6.8.7-arch1-2

Release files / xmppy-0.2-py3-none-any.whl

Download URL xmppy-0.2-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5628891235a2fa28463e1abbe67e88a85095a6304985712052c1c50e2e8654f7
BLAKE2b-256 checksum
How to use checksums
c09574777e6df9ef202b959143ac21ddeab92a6181b4022bcee286e2e799c55d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Linux/6.8.7-arch1-2

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page