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
python -m pyjabber --help
Usage: python -m 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]
--family [ipv4|ipv6] (ipv4 / ipv6) [default: ipv4]
--timeout INTEGER Timeout for connection [default: 60]
--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.
A formated logger can be added, in order to retrive the messages from the INFO, DEBUG and ERROR levels
2024-05-03 11:45:51.229 | INFO | pyjabber.server:run_server:52 - Starting server...
2024-05-03 11:45:51.231 | INFO | pyjabber.server:run_server:73 - Server is listening clients on ('127.0.0.1', 5222)
2024-05-03 11:45:51.231 | INFO | pyjabber.server:run_server:75 - Server started...
Features
Status |
Description |
|
---|---|---|
TLS |
Implemented |
v1.2, with localhost certificate included |
SASL |
Implemented |
PLAIN |
Roster |
Implemented |
CRUD avaliable |
Presence |
Partialy implemented |
subscribe, unsubscribed, initial presence and unavailable |
Plugins
Status |
Description |
|
---|---|---|
IMPLEMENTED |
||
IMPLEMENTED |
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.1.tar.gz
(1.2 MB
view details)
Built Distribution
File details
Details for the file pyjabber-0.1.1.tar.gz
.
File metadata
- Download URL: pyjabber-0.1.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1972f48a4f52971b8576a2ddcae7c866b4fc4c62b2002cf3c60396123736fada |
|
MD5 | e651cf29bb6bfa49c942f41688ce71ec |
|
BLAKE2b-256 | ec211c843ae7f9b2e4b15924b96356bd932bfcd021a482ab7ece1471e8dc85cc |
File details
Details for the file pyjabber-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pyjabber-0.1.1-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1b50bd4e611d2e3f0f67ea837f6b737056cb63d9999c2ba3b1df4e16c70e081 |
|
MD5 | 163921880dc1a6bfd2579f5006bdf804 |
|
BLAKE2b-256 | 2825da68bc3e897b6e6a03ecdadc6caf630debc86cfb37b05649790c607a0664 |