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)
| File | Size | Uploaded | |
|---|---|---|---|
| classroom_chat-0.1.0.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|