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.7.tar.gz
(1.0 MB
view details)
Built Distribution
pyjabber-0.1.7-py3-none-any.whl
(964.2 kB
view details)
File details
Details for the file pyjabber-0.1.7.tar.gz
.
File metadata
- Download URL: pyjabber-0.1.7.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 | 12e5419865d736c863035bbf1d12ac0bb25ccb5b3297cb6324787432efbb6f48 |
|
MD5 | 2bff1d64fe0daff5bcb89f49f76c3c26 |
|
BLAKE2b-256 | a9637c9b9529bb506af9083e46f79f415dc87c180318932bf484f7def3590819 |
File details
Details for the file pyjabber-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: pyjabber-0.1.7-py3-none-any.whl
- Upload date:
- Size: 964.2 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 | 596225e656551c1fa27f39d9f31fd12f21448f00bbbc2f06d0f6e8dbdfee6175 |
|
MD5 | f2df958127c2e515cade1baa9c724d91 |
|
BLAKE2b-256 | a3586ac05eab10b867fcc3ca80cce2cd7e443d837ea85b9e308e9b1047733d18 |