minimal implementation of a serverless XMPP client
Project description
python-presence - a minimal implementation of a serverless XMPP client.
Installation
- Clone this repository
- Run
pip3 install .
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',
),
}
Dependencies
python3-daemon
python3-lockfile
python3-psutil
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
python-presence-0.1.2.tar.gz
(25.6 kB
view hashes)
Built Distribution
Close
Hashes for python_presence-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fda0fb4ba0ce16bb298e99125c7154023f91958009b24a0b851a20a61e6658c9 |
|
MD5 | 36c36311a46bf06ddd48059a07192278 |
|
BLAKE2b-256 | 42670e46c2708e40f692476e4491b510a9266b9ea2bbe80a6fc23a65cb6d7cf0 |