Terminal-based timetable viewer for Gautam Buddha University
Project description
📅 GBU Timetable CLI
A terminal-based interactive timetable viewer for Gautam Buddha University, built with Python and Rich. Browse departments, select sections, save preferences, and view G1/G2 lab splits cleanly inside your terminal.
✨ Features
- 🎯 Interactive keyboard-driven CLI
- 🏫 Browse by School → Department → Code → Section
- 💾 Save default section (auto-load on next run)
- 🧪 Smart G1 / G2 lab stacking in the same period
- ⏰ Automatic 12-hour AM/PM time slots
- 🎨 Clean, readable UI using
rich - ⚡ Zero configuration after first setup
📦 Installation
pip install gbu-timetable
Requires Python 3.8+
🚀 Usage
Run directly from terminal:
timetable
No flags, no arguments — fully interactive.
🧭 Navigation Controls
| Key | Action |
|---|---|
1 |
View saved timetable |
2 |
Browse & select section |
3 |
Enter section ID directly |
b |
Go back |
m |
Return to main menu |
q |
Quit |
🗂️ Saved Configuration
Your selected section is stored locally at:
~/.timetable_cli.json
Example:
{
"section_id": "1278",
"section_name": "B.Tech CSE (A)"
}
This allows instant access next time using “View Saved Timetable”.
🧪 G1 / G2 Lab Handling
When multiple entries exist in the same period:
- G1 and G2 are automatically detected
- Displayed as stacked panels inside the same cell
- Color-coded for quick differentiation
No manual filtering required.
🕒 Time Slot Logic
- Default start time: 08:30 AM
- Each period: 60 minutes
- Automatically adapts to timetable length
- Displayed in 12-hour format
Example:
P3
10:30 AM – 11:30 AM
🌐 Data Source
Timetable data is fetched from:
https://samay.mygbu.in/api.php
Data is fetched once per run for performance and simplicity.
🧱 Project Structure
gbu-timetable/
│
├── timetable/
│ ├── __init__.py
│ └── cli.py
│
├── pyproject.toml
├── README.md
└── LICENSE
🛠️ Development Setup
git clone https://github.com/shashaaankkkkk/gbu-timetable
cd gbu-timetable
pip install -e .
Run locally:
timetable
📚 Dependencies
requestsreadcharrich
Installed automatically via pip.
👨💻 Author
Shashank Shekhar Full Stack Developer & CLI Tool Builder
🔗 GitHub: https://github.com/shashaaankkkkk/
📄 License
MIT License — free to use, modify, and distribute.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gbu_timetable-0.1.3.tar.gz.
File metadata
- Download URL: gbu_timetable-0.1.3.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb127bc9d410381af9b5483bcc7510ee0470e80604e0067ccf8a961d0c051a40
|
|
| MD5 |
d1c8ac8e23b8b50baf9af04631f1e3a2
|
|
| BLAKE2b-256 |
efb8c3392aec139c8bed1421f53f7aa9ac4e23fa0ec0e13fbeedcc4ca683318f
|
File details
Details for the file gbu_timetable-0.1.3-py3-none-any.whl.
File metadata
- Download URL: gbu_timetable-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bf1df38d9847649d61fe50587b54c54890a2f37e335ae7a796c0371d560e965
|
|
| MD5 |
4a89175dfe87a732489d1afa0683885b
|
|
| BLAKE2b-256 |
6bced61364d16864bf094909c1caf3b9ea180cec386e0796145e893811fefc55
|