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.1.1.tar.gz (11.0 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.1.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bstkchat-1.1.1.tar.gz
Algorithm Hash digest
SHA256 384208b9d6aa62d33e9c3c96b4e033eba4ea2033b44a2943f7150b2244d8b487
MD5 c2fe58fdcaeb9cd25220df3a0d4bf4e4
BLAKE2b-256 83b7d468b7407b026508efb0790fa56ca66ae9098e0e137cba703c2c28e345ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bstkchat-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf2b25d345e73b22be29b54389b6ab0f22cd1e4df9440b1f94d99c4d34cb75d
MD5 f3484457616f6282ad63e15617789f33
BLAKE2b-256 c16bed4b9d1f0274728e7608c9ec7f6b897723172d57096102c2bdd2c239d930

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