Walkie-Talkie
Serverless peer-to-peer walkie-talkie application for LAN.
Automatic peer discovery, encrypted text chat, push-to-talk voice communication.
Installation
pip install walkie
Or for development:
git clone https://github.com/Lunixizm0/walkie.git
cd walkie
uv sync
Usage
# Generate config (creates random passwords, salt, and encryption key)
walkie gen
# Receive config from another client
walkie get
# Send config to another client
walkie give <target_ip>
# Start the application
walkie run
Or run directly:
python -m walkie run
python -m walkie gen
python -m walkie get
python -m walkie give 192.168.1.100
Configuration
The app looks for walkie_config.toml in ~/.config/walkie/.
You can override the path with the WALKIE_CONFIG environment variable.
Features
- Automatic peer discovery via UDP broadcast (no server needed)
- AES-256-GCM encryption for voice and chat
- Low-latency voice with Opus codec
- Push-to-Talk (Shift+V) and Voice Activity Detection (VAD) modes
- Seamless playback with jitter buffer
- System tray minimization
- TOML-based configuration
- Config sharing over TCP (--get/--give)
Requirements
- Python 3.11+
- Linux, Windows, or macOS
- Microphone and speakers
System Dependencies
Walkie requires system libraries for audio and GUI tray support. Install them before installing the Python package:
Debian / Ubuntu:
sudo apt install -y portaudio19-dev gobject-introspection \
libgirepository1.0-dev libglib2.0-dev pkg-config python3-dev python3-tk
Arch Linux:
sudo pacman -S --needed portaudio gobject-introspection pkgconf python3 tk
macOS (Homebrew):
brew install portaudio gobject-introspection pkg-config tcl-tk
Windows:
No extra system dependencies needed. Wheels for sounddevice and pygobject bundle everything required.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file walkie-3.0.0.tar.gz.
File metadata
- Download URL: walkie-3.0.0.tar.gz
- Upload date:
- Size: 35.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b3950d00c09b9950f769c8e6930af7a408a390d274d2e0c84af8660f4b70cc3
|
|
| MD5 |
82ca1b377328cb7e5e0ed9fca223e666
|
|
| BLAKE2b-256 |
45c27ea4f808a0bcd5c573f350dda18399d88623026aefbc9ffb935ae672b88f
|
Provenance
The following attestation bundles were made for walkie-3.0.0.tar.gz:
Publisher:
publish.yml on Lunixizm0/Walkie
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
walkie-3.0.0.tar.gz -
Subject digest:
2b3950d00c09b9950f769c8e6930af7a408a390d274d2e0c84af8660f4b70cc3 - Sigstore transparency entry: 2538516707
- Sigstore integration time:
-
Permalink:
Lunixizm0/Walkie@4ed333e890f727accdad240b3e207c7e4a33c041 -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/Lunixizm0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4ed333e890f727accdad240b3e207c7e4a33c041 -
Trigger Event:
release
-
Statement type:
File details
Details for the file walkie-3.0.0-py3-none-any.whl.
File metadata
- Download URL: walkie-3.0.0-py3-none-any.whl
- Upload date:
- Size: 25.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a87c0a4041e7ec02b82863d49d87ff4577b8c6b1f0e214f85a51b8079415152
|
|
| MD5 |
d9a0d8f4fb2cd50a25836516436110fd
|
|
| BLAKE2b-256 |
8983c5932018e349a6d6323a429be822b0584e94ebd9c52996d1eb9dbd3dd1fa
|
Provenance
The following attestation bundles were made for walkie-3.0.0-py3-none-any.whl:
Publisher:
publish.yml on Lunixizm0/Walkie
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
walkie-3.0.0-py3-none-any.whl -
Subject digest:
5a87c0a4041e7ec02b82863d49d87ff4577b8c6b1f0e214f85a51b8079415152 - Sigstore transparency entry: 2538516884
- Sigstore integration time:
-
Permalink:
Lunixizm0/Walkie@4ed333e890f727accdad240b3e207c7e4a33c041 -
Branch / Tag:
refs/tags/v3.0.0 - Owner: https://github.com/Lunixizm0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4ed333e890f727accdad240b3e207c7e4a33c041 -
Trigger Event:
release
-
Statement type: