BitChat Python
A Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.
This project is a fork of bitchat-python. This fork contains improvements that possibly not yet merged to original project.
This project is a rewrite of the original Rust-based bitchat-terminal.
Table of contents
Installation
With pip
pip install pybitchat
With uv package and project manager
uv tool install pybitchat
With pipx standalone python apps panager
pipx install pybitchat
Usage
Simple start
Installed with pip, uv tool, pipx
bitchat-python
With uvx command
uvx bitchat-python
CLI startup options
-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.
BitChat Commands
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
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 user
Clone, Develop and Build
Clone and setup editable environment using uv
git clone https://github.com/o-murphy/pybitchat.git
cd bitchat-python
uv sync --dev
.venv/bin/activate
Type checking with
uv run mypy
Linting and Formatting
Lint
uv run ruff check
Format
uv run ruff format
Build sdist and wheel
uv build
Metadata
Release files for pybitchat 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pybitchat-0.1.0.tar.gz | 30.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybitchat-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.0 kB
Release files / pybitchat-0.1.0.tar.gz
| Download URL | pybitchat-0.1.0.tar.gz |
|---|---|
| Size | 30.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67962474a4a1b90e3ca952a2a7dade7c695e341ffc41933ba75d4f1d60fb5016
|
|
BLAKE2b-256 checksum How to use checksums |
68e3969596e623c259ecc411a7dd7a793724ebb43910879c7c5adfee53e1a9c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.0
|
Release files / pybitchat-0.1.0-py3-none-any.whl
| Download URL | pybitchat-0.1.0-py3-none-any.whl |
|---|---|
| Size | 30.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b34353aade14bb907733349222bed837ff422f53c45d00cd19790256f152b4c
|
|
BLAKE2b-256 checksum How to use checksums |
0b060d6c75116a783948450690156a88023d83b5f86b03ccc69815d65c36d6d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.0
|