A Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.
This project is a rewrite of the original Rust-based bitchat-terminal.
With pip
pip install git+https://github.com/kaganisildak/bitchat-pythonWith uv package and project manager
uv tool install git+https://github.com/kaganisildak/bitchat-python.gitWith pipx standalone python apps panager
pipx install git+https://github.com/kaganisildak/bitchat-python.gitInstalled with pip, uv tool, pipx
bitchat-pythonWith uvx command
Note
This will only work once the project is published to the PyPI index.
uvx bitchat-python -h, --help show this help message and exit
-d, --debug enable BASIC debug (connection info)
-v, --verbose enable FULL debug (verbose output)
-u, --usage show usage info
-V, --version show program`s version number and exit
--log [LOG] log file path. If no path is provided, logs to 'bitchat.log'. If --log is omitted, no logging occurs.This section details the various commands available within BitChat.
General Commands
* `/help` : Show this help menu
* `/h` : Alias for /help
* `/me` : Get your Nickname and peer_id
* `/name <name>` : Change your nickname
* `/status` : Show connection info
* `/clear` : Clear the screen
* `/exit` : Quit BitChat
* `/q` : Alias for /exit
Navigation Commands
* `1-9` : Quick switch to conversation
* `/list` : Show all conversations
* `/switch` : Interactive conversation switcher
* `/public` : Go to public chat
Messaging Commands
(Type normally to send in current mode)
* `/dm <name>` : Start private conversation
* `/dm <name> <msg>` : Send quick private message
* `/reply` : Reply to last private message
Channel Commands
* `/j #channel` : Join or create a channel
* `/j #channel <password>` : Join with password
* `/leave` : Leave current channel
* `/pass <pwd>` : Set channel password (owner only)
* `/transfer @user` : Transfer ownership (owner only)
Discovery Commands
* `/channels` : List all discovered channels
* `/online` : Show who`s online
* `/w` : Alias for /online
Privacy & Security Commands
* `/block @user` : Block a user
* `/block` : List blocked users
* `/unblock @user` : Unblock a userTip
uv package and project manager usage recommended for this step
git clone https://github.com/kaganisildak/bitchat-python.git
cd bitchat-python
uv sync --dev
.venv/bin/activateuv run mypy Lint
uv run ruff checkFormat
uv run ruff formatuv build