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.1.tar.gz (2.8 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.1-py3-none-any.whl (2.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bstkchat-1.0.1.tar.gz
  • Upload date:
  • Size: 2.8 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.1.tar.gz
Algorithm Hash digest
SHA256 9bbc1d770c24b121abc143d9a91ff95fe410587b37053463c985e45a9d4ad311
MD5 eb1e9841457a8fcefdf68113c793410c
BLAKE2b-256 621b0c091e1202e5647f57bb41b4089799190837e964073c7404fb56a58c14ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bstkchat-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 2.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8a7ad4a983c877af371c977494e25ede664405ce13ecd2d10ef151e287e4738
MD5 e9ff8175139c7c00319ea072a4fc93bb
BLAKE2b-256 2022d6e0f6a05edb098c79f4f097884bdc4e183000bcf16d3e917721cf17f598

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