xmppy
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.
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 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)
| File | Size | Uploaded | |
|---|---|---|---|
| xmppy-0.2.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|