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.0.tar.gz (10.9 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.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bstkchat-1.1.0.tar.gz
  • Upload date:
  • Size: 10.9 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.0.tar.gz
Algorithm Hash digest
SHA256 93626731d8fb8459b68b414c928307351c466cde48d580571532bb1d2dfd3e9f
MD5 106793b1b7e4655f745a8efd3d96d904
BLAKE2b-256 2a1a401faf9ee389c23a5379013c6983ef2607edf73a738235ff975ca0f85c28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bstkchat-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c8f96e735af3a6cee0282ce608f4d658a91875d09acbdccca9668062539b47f
MD5 bf5fc35eceb9f0f5e4dcc463e3d98dda
BLAKE2b-256 c538726a552eca3987d0b55bf88f79d7740012b17ad436629d33a37797754055

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