minimal implementation of a serverless XMPP client
Project description
python-presence
A minimal implementation of a serverless XMPP client.
Installation
- Clone this repository and run
pip install .
OR - Install from PyPi:
pip install python-presence
Usage (example client)
There is a minimal python script called python-presence
for running
a service:
usage: python-presence [-h] [-d] [-k] [-f] [-v]
python-presence
optional arguments:
-h, --help show this help message and exit
-d, --daemon run as daemon
-k, --kill kill running instance if any before start
-f, --force force start on bogus lockfile
-v, --verbose
Default client commands
The client currently supports the following built-in trigger commands/keywords:
Commmand | Description |
---|---|
echo |
echo message text |
help |
print a list of commands |
hello |
print a hello message |
vars |
print variables |
ls |
list contents of download directory |
Extending the client with custom commands
A simple application of client commands is remote query of system information.
import subprocess
commands = {
'df': ClientThread.make_command(
func=staticmethod(
lambda client, _: client.send_ascii(
subprocess.check_output("df -h", shell=True).decode('utf-8'))
),
helptext='show list of processes',
),
'ps': ClientThread.make_command(
func=staticmethod(
lambda client, _: client.send_ascii(
subprocess.check_output("ps aux", shell=True).decode('utf-8'))
),
helptext='show list of processes',
),
}
System integration
misc/presence.service
is a template file for configuring an Avahi
service. After copying to /etc/avahi/services
the service
advertisement should immediately show up in clients on the same subnet.
misc/python-presence.service
is a systemd service than can be used
as-is after copying to /etc/systemd/system
.
The files are also available in the data folder of the PyPi package.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file python-presence-0.1.6.tar.gz
.
File metadata
- Download URL: python-presence-0.1.6.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9396f29e1468b0268f69210a43e2549e50f28c2d86ada07aebd92a65106afffd |
|
MD5 | d037cb75fd28b25e2c01ed86f1a8da01 |
|
BLAKE2b-256 | a32d57d8910a3a7281c73bb4d3d32f9cb8fc6ac0db377426b377ba4b72ad4f16 |
File details
Details for the file python_presence-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: python_presence-0.1.6-py3-none-any.whl
- Upload date:
- Size: 27.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ebba0d4baf40c860f5d75e975b9a8c3e1380a388a90b295113d61f6efb468c7 |
|
MD5 | 09df4f56ddebffd4fc5d2af419b34d84 |
|
BLAKE2b-256 | 028390baf67072cbf64691efc9f2c4d9c64a01f06ef2ec4db8edd33232086290 |