Skip to content
This repository was archived by the owner on Jul 7, 2026. It is now read-only.

vaultbin/bitchat-python

 
 

Repository files navigation

BitChat Python

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.

Table of contents

Installation

With pip

pip install git+https://github.com/kaganisildak/bitchat-python

With uv package and project manager

uv tool install git+https://github.com/kaganisildak/bitchat-python.git

With pipx standalone python apps panager

pipx install git+https://github.com/kaganisildak/bitchat-python.git

Usage

Simple start

Installed with pip, uv tool, pipx

bitchat-python

With uvx command

Note

This will only work once the project is published to the PyPI index.

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
*  `/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 user

Clone, Develop and Build

Tip

uv package and project manager usage recommended for this step

Clone and setup editable environment using uv

git clone https://github.com/kaganisildak/bitchat-python.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

About

No description, website, or topics provided.

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%