PyJabber: The Python XMPP Server
Free software: MIT license
Documentation: https://pyjabber.readthedocs.io.
Installation
pip install pyjabber
Quick start
Python program
The process of starting the server returns a coroutine, leaving it to the user to set up the required environment. The simplest approach is to use the asyncio.run function.
from pyjabber.server import Server
my_server = Server()
asyncio.run(my_server.start())
This allows PyJabber to be treated as a regular task and integrated seamlessly into an asynchronous application.
import asyncio
from pyjabber.server import Server
async def counter():
while True:
await asyncio.sleep(1)
print(f"Hello World")
async def launch():
my_server = Server()
await asyncio.gather(my_server.start(), counter())
asyncio.run(launch())
CLI
The CLI launcher is the fastest way to start using the server.
$ pyjabber
2024-12-18 09:03:22.880 - INFO: Starting server...
2024-12-18 09:03:22.881 - INFO: Client domain => localhost
2024-12-18 09:03:22.881 - INFO: Server is listening clients on [('127.0.0.1', 5222), ('158.42.155.44', 5222)]
2024-12-18 09:03:22.881 - INFO: Serving admin webpage on http://localhost:9090
2024-12-18 09:03:22.881 - INFO: Server is listening servers on [('0.0.0.0', 5269)]
2024-12-18 09:03:22.881 - INFO: Server started...
Features
Status |
Description |
|
|---|---|---|
TLS |
Implemented |
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 |
Metadata
Release files for pyjabber 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyjabber-0.4.5.tar.gz | 958.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyjabber-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / pyjabber-0.4.5.tar.gz
| Download URL | pyjabber-0.4.5.tar.gz |
|---|---|
| Size | 958.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
724afcf849c3758cb6c2b63c5bb6f59b66bc0102a7fcf1ff9c06f7d374e13d43
|
|
BLAKE2b-256 checksum How to use checksums |
c6c769bab27f31e7afbfdd5c33e36f05bc6beb9771002005ca0c12954a254c59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pyjabber-0.4.5-py3-none-any.whl
| Download URL | pyjabber-0.4.5-py3-none-any.whl |
|---|---|
| Size | 986.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73601938d1b34473b399855c7b2e6dcd9417ff756e2fc42deadb990804b8274f
|
|
BLAKE2b-256 checksum How to use checksums |
9cf409c6c8795d04dd727d252aa7b495d1df1e0b860c8fbff79d0fc2b453fbc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|