For readers who evaluate communication software from a daily-use perspective, partyline is most useful as a Reticulum-native group voice application built on LXST and inspired by Mumble. The practical claim is straightforward: it provides encrypted realtime group voice and audio over any Reticulum transport capable of >6 kilobits per second, while an easy to host lightweight server and protocol lets an operator spin up a partyline server in under 30 seconds. This MyTechDailyNews Software guide reshapes the project into installation decisions, permission controls, codec selection, terminal workflows, systemd deployment, broadcast rooms, and slow-link push to talk room configuration.
partyline sits in the niche where Reticulum transport, LXST audio protocol, and room-based group voice meet. For software users, the value is not broad messaging, but real-time voice with server-controlled rooms, dial-in compatibility, and profile choices that can stretch from fast links to very slow ones.
Use this checklist as the first gate for desktop clients, laptops, or server hosts where software compatibility affects the rollout.
There are two software deployment routes: a normal pip install and a source install. The source route is relevant when you need to inspect the repository or install from an RNS-based source instead of PyPI-style distribution.
Start the GUI client with partyline. Connect opens the server browser. Add a server by its hash, or use the server browser to find discovered servers from announces. Double click a room to join it. Settings has the audio devices, transmit mode, push to talk key, and UI appearance options.
Use partyline-client HASH --name Bob --room Lobby.
Commands are /join, /say, /poke, /who, /mute, and /deaf. Type /ptt to toggle push to talk.
Operators can also use /kick, /ban, /smute, /op, and /move.
Start a server with partyline-server --name 'My server' --profile opus-high. The server prints its destination hash for clients and, with dial-in enabled, the number rnphone users call if configured for rooms. For rooms, access lists, operators, a server password and dial-in, copy server_example.json and start with partyline-server --config server.json.
Available --profile codecs for rooms:
| Profile | Mode | Bitrate |
|---|---|---|
| opus-high | Opus voice | 16 kbps |
| opus-med | Opus voice | 8 kbps |
| opus-low | Opus voice | 6 kbps |
| c2-3200 | Codec2 | 3200 bps |
| c2-2400 | Codec2 | 2400 bps |
| c2-1200 | Codec2 | 1200 bps |
| c2-700 | Codec2 | 700 bps |
| music-low | Opus music | 14 kbps |
| music-med | Opus music | 28 kbps |
| music-high | Opus music | 56 kbps |
opus-high-med-low and the Codec2 modes are meant for voice, and music-high-med-low is meant for streaming music or broadcasting to a room. As a rule, use the highest bitrate your link can carry.
For software evaluation, the useful figures are not vendor background but the thresholds and bitrate choices that determine whether a room is stable. The key data points are listed below.
To install as a systemd unit, find the server command with which partyline-server, then create /etc/systemd/system/partyline.service. This path is useful for IT support staff and self-hosters who need the server to start after boot and restart after failure.
Server operators can also configure broadcast-only rooms for high quality music and audio using the LXST Opus CELT profiles. The options are music-high, music-med, and music-low. Music rooms are a special room type where only the listed identities can send audio. Add their identity hash, separated by commas, in music.
| Field | Example |
|---|---|
| name | Broadcast |
| profile | music-med |
| music | 0123456789abcdef0123456789abcdef |
| description | Music/broadcast room. Only listed identities may talk. Uses LXSTs Opus CELT profile |
An example music bot can be found under bots/music_bot.py. When partyline is installed with pip, run it with python3 -m partyline.bots.music_bot.
PTT, or slow-mode rooms, are rooms designed to work over slower links such as LoRa, bare copper wire bitbashing, and packet radio. Anything with more than a steady ~3.5 kbps throughput can use a PTT room. They can co-exist with regular rooms in a partyline server, allowing both fast and slow clients to communicate over voice.
Unlike regular rooms there is a bit of latency. PTT rooms pack outgoing audio to fill the link's MTU, sending fewer, fuller packets instead of one frame per packet, and give every listener a larger receive jitter buffer to smooth out bursty arrivals over radio media such as LoRa.
Mark any room push to talk with ptt true. Optionally set ptt_jitter_ms to change the buffer depth. It is recommended to use PTT rooms with the Codec2 profiles.
| Room | Profile | ptt | ptt_jitter_ms |
|---|---|---|---|
| LoRa 1200 | c2-1200 | true | not set |
| Packet Radio Net 700 | c2-700 | true | 9000 |
The .po files are located in partyline/locale/. To update a translation, change the msgstr line under its English msgid. To add a language, copy partyline.pot to a new .po file and add it to LANGUAGES in partyline/i18n.py. Run python partyline/locale/compile.py, then open a pull request with your changes or submit it via LXMF.
Kimi K3 third party hosted API was used for the following tasks: I18N localization and UI gettext() implementation, translation of UI elements and of eo, es, nl, and ru PO files, and misc debugging and creation of rnsconfig.py RNS helper utilities.
Reticulum and LXST by Mark Qvist.
Mumble. Great software that just works. The best UI is stolen UI
Tree, toolbar and application icons from Tabler Icons; sound effects from Kenney interface sounds; Tin can telephone drawing in the logo from openclipart.org.
partyline is a group voice application for Reticulum, built on LXST. The source installation requirements also list Reticulum and LXST alongside Python 3.11 or newer.
Regular encrypted realtime group voice and audio can use any Reticulum transport capable of >6 kilobits per second. For slower conditions, PTT rooms are designed to work when there is more than a steady ~3.5 kbps throughput, and Codec2 profiles go down to 700 bps.
No. Dial-in can let rnphone and other LXST clients such as Sideband and MeshChatX call the server and land in a room too, when enabled. The server also prints the number rnphone users call only if dial-in is enabled and configured for rooms.
The graphical client uses Tk, which pip cannot install. On most OS/Distros it may already be installed by the system; otherwise, on Debian or Ubuntu run sudo apt install python3-tk, and on Fedora run sudo dnf install python3-tkinter.
The GUI provides the server browser, room join flow, and settings for audio devices, transmit mode, push to talk key, and UI appearance. The terminal client uses partyline-client HASH --name Bob --room Lobby and commands such as /join, /say, /poke, /who, /mute, and /deaf, while operators can also use /kick, /ban, /smute, /op, and /move.
The MyTechDailyNews takeaway is that partyline is most compelling when you need encrypted group voice over Reticulum with software-level control over rooms, permissions, codecs, and server operation. Start by verifying the transport threshold, then use the profile table as your selection guide: Opus profiles for faster links, Codec2 profiles for constrained links, and music profiles only for broadcast or streaming use. If you are supporting users or operating a server, treat the JSON configuration, Tk availability, terminal commands, and systemd unit as the four compatibility checkpoints before deployment.