Skip to main content

Lightweight Extensible Signal Transport for Reticulum

Project description

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
  • 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 is in a very early alpha state, and 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.

While under early development, the project is kept under a CC BY-NC-ND 4.0 license.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

lxst-0.4.2-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

lxst-0.4.2-3-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

lxst-0.4.2-2-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

lxst-0.4.2-1-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

File details

Details for the file lxst-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: lxst-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lxst-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f9f1a8c0cb7ae6ba7e16b9d54d00ab7dd0dcb2e8b75ddbeb653be094ece6f8b4
MD5 2304ace612a118c536eff20fb04353cd
BLAKE2b-256 0cfd8197f3e8671cc8c56ba9dc8b2a7b7ccbe935b6b21b4e3dd9eba2b09e45a6

See more details on using hashes here.

File details

Details for the file lxst-0.4.2-3-py3-none-any.whl.

File metadata

  • Download URL: lxst-0.4.2-3-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lxst-0.4.2-3-py3-none-any.whl
Algorithm Hash digest
SHA256 773c42c9891bf5de2515ae7cdd31bae209470f672dde54b50a8c180b56026d07
MD5 8015e030288b3b092625e717cf2b48a4
BLAKE2b-256 2144b37ade05e5dc3b7783f1efd33deb98bbd5c4ad3466dc20491c23cad68506

See more details on using hashes here.

File details

Details for the file lxst-0.4.2-2-py3-none-any.whl.

File metadata

  • Download URL: lxst-0.4.2-2-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lxst-0.4.2-2-py3-none-any.whl
Algorithm Hash digest
SHA256 d1b30e8b6146a3d381aa2135e52fb35742ab533a1d0bd96f933b0f3a8dffdd78
MD5 92e12a7bf1ab8df64c8abd0d3eae217c
BLAKE2b-256 d82a60ddc8159a2c6ad990726fd7edddcf709bc453ae27deb88e99100a541cf7

See more details on using hashes here.

File details

Details for the file lxst-0.4.2-1-py3-none-any.whl.

File metadata

  • Download URL: lxst-0.4.2-1-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lxst-0.4.2-1-py3-none-any.whl
Algorithm Hash digest
SHA256 47269f37a4e60c68ddaff8108916a47e3802d7fa35d8dd9a230c6b6bbf7f1822
MD5 7361d557f40a7625a3e7e3aa39e7005d
BLAKE2b-256 3a95f3573a2e98712575e54da61f2316e562aa5da46754c1cfc55a1900a882b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page