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.2.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.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bstkchat-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0934ba07a31b1f5ff7c2d6ebc515482f066c7c8c6ef24c1bb471f7532491e89a
MD5 005bf0c303a8997516ddc58190e53625
BLAKE2b-256 35a06755ab20c6aa461a4c908d8db8647fe58054a8aa14a5dbf9581f9358eb02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bstkchat-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 32d4214231e7e82c8645e4900b05665f1b3cc2c818350d64c5137a6ce5bff54e
MD5 9eb59b7376cc1af2133d4a8b6b69d27a
BLAKE2b-256 0f40f28c164c5cc489b8dd0f8e6c8b2e35b77dfa1e55271062fe3363644fe91b

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