A Python XMPP server
Project description
PyJabber is a server for Jabber/XMPP entirely written in Python, with minimal reliance on external libraries.
It strives to provide a simple, lightweight, and comprehensible codebase, featuring a modular structure that
facilitates extension through the implementation of necessary XEPs for specific use cases.
While initially designed to fulfill the requirements of the multi-agent system SPADE, it can be easily customized to suit any other purpose.
Free software: MIT license
Documentation: https://pyjabber.readthedocs.io.
Installation
pip install pyjabber
Quick start
from pyjabber import Server
my_server = Server()
my_server.start()
or
pyjabber --help
Usage: pyjabber [OPTIONS]
Options:
--host TEXT Host name [default: localhost]
--client_port INTEGER Server-to-client port [default: 5222]
--server_port INTEGER Server-to-server port [default: 5269]
--server_out_port INTEGER Server-to-server port (Out coming connection)
[default: 5269]
--family [ipv4|ipv6] (ipv4 / ipv6) [default: ipv4]
--tls1_3 Enables TLSv1_3
--timeout INTEGER Timeout for connection [default: 60]
--database_path TEXT Path for database file [default:
/home/aaron/pyjabber/pyjabber/db/server.db]
--database_purge BOOLEAN Restore database file to default state (empty)
[default: False]
--log_level [INFO|DEBUG] Log level alert [default: INFO]
--log_path TEXT Path to log dumpfile
-D, --debug Enables debug mode in Asyncio
--help Show this message and exit.
Features
Status |
Description |
|
---|---|---|
TLS |
Implemented |
v1.2 + v1.3. Localhost certificate included |
SASL |
Implemented |
PLAIN, EXTERNAL (s2s) |
Roster |
Implemented |
CRUD avaliable |
Presence |
Implemented (local bound) |
Subscribe, Unsubscribed, Initial presence and Unavailable |
Plugins
Status |
Description |
|
---|---|---|
IMPLEMENTED |
Dataforms |
|
IMPLEMENTED |
Service Discovery |
|
IMPLEMENTED |
Pubsub |
|
IMPLEMENTED |
In Band Registration |
|
IMPLEMENTED |
Ping |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyjabber-0.1.8.tar.gz
(1.0 MB
view details)
Built Distribution
pyjabber-0.1.8-py3-none-any.whl
(965.1 kB
view details)
File details
Details for the file pyjabber-0.1.8.tar.gz
.
File metadata
- Download URL: pyjabber-0.1.8.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bc4c8cf43c00d3c1fcf33a830d55bba48a65b41c2beecd082e55c5e7a44883b |
|
MD5 | 88d92499f1fc72a3a2b519362a594632 |
|
BLAKE2b-256 | 6462439b631bf482ed18c752a625bf41b18b12286d8a1e6c2f37181b94842445 |
File details
Details for the file pyjabber-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: pyjabber-0.1.8-py3-none-any.whl
- Upload date:
- Size: 965.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c26a643557de61f249f9f6124f5e5b624240fd083d3d751478d79ea5afef361d |
|
MD5 | 2a331bff4962001ade36a68f5a152c49 |
|
BLAKE2b-256 | 5f654eb1db6c84053a7dff5aca3317b7f4f89168adfd732dc6d9d6b21302cf60 |