Lightweight Extensible Signal Transport
LXST is a simple and flexible real-time streaming format and delivery protocol that allows a wide variety of implementations, while using as little bandwidth as possible. It is built on top of Reticulum and offers zero-conf stream routing, end-to-end encryption and Forward Secrecy, and can be transported over any kind of medium that Reticulum supports.
- Cross-platform, works on Linux, Android, Windows and Mac
- Provides a variety of ready-to-use primitives, for easily creating applications such as:
- Telephony and live voice calls
- Two-way radio systems
- Direct peer-to-peer radio communications
- Trunked and routed real-time radio systems
- Media streaming
- Broadcast radio
- Public address systems
- Can handle real-time signal streams with end-to-end latencies below 10 milliseconds
- Supports encoding and decoding stream contents with a range of different codecs
- Raw and lossless streams with arbitrary sample rates
- Up to 32 channels
- Up to 128-bit sample precision
- Efficient, high-quality voice and audio with OPUS
- Many different built-in profiles, from ~4.5kbps to ~96kbps
- Profiles are pre-tuned for different applications, such as:
- Low-bandwidth voice
- Medium quality voice
- High quality, perceptually lossless voice
- Media content such as podcasts
- Perceptually lossless stereo music
- Ultra low-bandwidth voice communications with Codec2
- Provides intelligible voice between 700bps and 3200bps
- Raw and lossless streams with arbitrary sample rates
- Can dynamically switch codecs mid-stream without stream re-initialization or frame loss
- Has in-band signalling support for call signalling, communications, metadata embedding, media and stream management
- Uses a fully staged signal pipelining, allowing arbitrary stream routing
- Provides built-in signal mixing support for any number of channels
Transport Encryption
LXST uses encryption provided by Reticulum, and thus provides end-to-end encryption, guaranteed data integrity and authenticity, as well as forward secrecy by default.
Project Status & License
This software and its interfaces will change rapidly with ongoing development. Consider no APIs stable. Consider everything explosive. Not all features are implemented. Nothing is documented. For a fully functional LXST program, take a look at Sideband or the included rnphone program, which provides telephony service over Reticulum. Everything else will currently be a voyage of your own making.
The LXST project is available under a CC BY-NC-ND 4.0 license. You can deploy LXST freely for non-commercial, personal and humanitarian purposes. For commercial (including institutionalised educational) licensing, contact me.
Installation
If you want to try out LXST, you can install it with pip:
pip install lxst
On Raspberry Pi (assuming Trixie / Debian 13), install various dependencies with:
# Audio codecs
sudo apt install python3-pyaudio codec2
# For hardware control over I2C:
pip install smbus2 --break-system-packages # Install smbus module if not already installed
sudo raspi-config # Enable the I2C bus under "Interface Options"
sudo apt install python3-rpi.gpio # Install gpio module system-wide
Metadata
Release files for lxst 0.5.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lxst-0.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Release files / lxst-0.5.3-py3-none-any.whl
| Download URL | lxst-0.5.3-py3-none-any.whl |
|---|---|
| Size | 3.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d26281e247510b2c76cf2a67c55ffac178839597f25e29ef14343b6c8da69c87
|
|
BLAKE2b-256 checksum How to use checksums |
fe7a126dd04964c48ff0c8b20324d49d0bc8178c8d7882b14691d2f21ba20749
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|