Skip to main content

A real-time Terminal-based Chatting Application using unique room IDs.

Project description

BSTK Chat (bstkchat)

bstkchat is a real-time, terminal-based, zero-configuration collaborative chat client. Anyone who launches the client and joins using the same Room ID will instantly join a shared, encrypted-by-knowledge room to text and exchange thoughts.

Features

  • Zero Configuration: Connects instantly to a public MQTT infrastructure—no servers to set up or configure!
  • Non-blocking Input: Messages arriving dynamically will never corrupt or break the active line you are typing into, thanks to prompt_toolkit.
  • Memorable Auto-Rooms: If you don't supply a Room ID, the app will generate a fun phonetic key like quantum-beacon-55 for you.
  • Deterministic Color Codes: Users are automatically allocated static text colors based on their username hashes, making conversations extremely easy to follow.
  • Command Architecture: Supports built-in slash commands to change nicknames, jump rooms, see active user tables, and clear logs.

Installation

Method 1: Local Pip installation (Recommended)

  1. Save the generated setup.py and bstkchat/cli.py files to your computer under a directory layout like this:
    my-chat-app/
    ├── setup.py
    └── bstkchat/
    ├── __init__.py (this can be empty)
    └── cli.py

  2. Navigate into the parent directory my-chat-app and execute:
    pip install .

  3. Once completed, simply run the global cli application from anywhere:
    bstkchat

Method 2: Running directly from Python

If you do not want to install it as a system CLI tool, install dependencies and run:

pip install paho-mqtt rich prompt-toolkit
python -m bstkchat.cli

Slash Commands inside BSTK Chat

Command Action
/help Displays a formatted table listing all commands
/room <new-room-id> Switches context and connects you to a new room ID instantly
/nick <new-name> Renames your user identity inside the room and alerts others
/who or /users Lists all online participants active inside your room
/clear Wipes the active console screen
/exit Gracefully announces leave status and exits the CLI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bstkchat-1.0.3.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bstkchat-1.0.3-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file bstkchat-1.0.3.tar.gz.

File metadata

  • Download URL: bstkchat-1.0.3.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for bstkchat-1.0.3.tar.gz
Algorithm Hash digest
SHA256 15cac4a2bbf077397a7e65f1270e15e326b3fa9ad07bc9418c0a50de6c1fc838
MD5 72f6f543eb2477c1f0d90528524e8345
BLAKE2b-256 e3de482ccacd135e65a604797bc53054216e86bf6c3087ce46fabbdbd3147d8a

See more details on using hashes here.

File details

Details for the file bstkchat-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: bstkchat-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for bstkchat-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 289d23276f3297ce4ec9f5e5e829f340599936d435c221ea5fc30dbb726cb1c2
MD5 89292d93da5ee42e6cf8a5fe44aa6b7b
BLAKE2b-256 bd97a61a8840fc22a82741a4dd5c1f4816234da7a5cb1ab1b9aa3cf737086480

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page