Skip to main content

Classroom Chat 🚀

A fast, offline-first, local area network (LAN) chat and file-sharing CLI designed for classrooms, labs, and local networks.


🛠️ Requirements & Installation

  • Python 3.8+

Running Locally

Clone or download the folder and run:

python app.py

💬 Usage Instructions

1. Launch Classroom Chat

Run python app.py and enter your desired username.

2. Room Options

  • Create a Room [C]: Enter a room name to host a new chat room. Your room will automatically be announced to nearby users on your Wi-Fi / local network.
  • Join a Room [1, 2, ...]: Classroom Chat auto-discovers active rooms on your network. Type the number corresponding to the room you want to join.
  • Refresh [R]: Re-scan the local network for newly created rooms.
  • Quit [Q]: Exit the application.

⚡ In-Chat Commands

Once inside a room, you can use the following commands:

Command Description
/help Display the list of available commands.
/share <file_path> Share a local file (documents, images, archives) with everyone in the room.
/quit Leave the current chat room and safely disconnect.

Note on File Downloads: Shared files are automatically received by everyone in the room and saved into a local downloads/ directory. Duplicate filenames are automatically renamed (e.g. notes (1).pdf) to protect existing files.


📤 How to Publish to PyPI (pip)

To make Classroom Chat installable via pip install classroom-chat:

Step 1: Install Packaging Tools

python -m pip install --upgrade build twine

Step 2: Build the Distribution Packages

Run from the project root directory:

python -m build

This generates .whl and .tar.gz files in the dist/ directory.

Step 3: Test Upload to TestPyPI (Optional but Recommended)

python -m twine upload --repository testpypi dist/*

Step 4: Upload to PyPI

python -m twine upload dist/*

Note: You will need an API token from pypi.org. Enter __token__ as username and your token as password when prompted.

Step 5: Install via pip

Once published, anyone can install and run:

pip install classroom-chat
classroom-chat

Release files for classroom-chat 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for classroom-chat 0.1.0
File Size Uploaded
classroom_chat-0.1.0.tar.gz 6.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for classroom-chat 0.1.0
File Interpreter ABI Platform
classroom_chat-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.1 kB

Release files / classroom_chat-0.1.0.tar.gz

Download URL classroom_chat-0.1.0.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
47f299655bf0d659025eee20b28b53ffdea6b3c69a16d1e3de0734f040123f48
BLAKE2b-256 checksum
How to use checksums
e14e784717bd077592963ef110b474f25730d6aaa1be0fe4daef20d5d607e889
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / classroom_chat-0.1.0-py3-none-any.whl

Download URL classroom_chat-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3fe6737ab04ef357f132d89da20f40e80e45e8c2e1ed4707d86128c1828eecc9
BLAKE2b-256 checksum
How to use checksums
234df188555a643fc774783188a9d8b2afbc5326eef7a02a33961f18ec07bcb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page