📅 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.
Metadata
Release files for gbu-timetable 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gbu_timetable-0.1.4.tar.gz | 5.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gbu_timetable-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.5 kB
Release files / gbu_timetable-0.1.4.tar.gz
| Download URL | gbu_timetable-0.1.4.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
719e74322cb2dab33ec3ee5028c2c9a228e744395aedd8176b2ac17b44b4946e
|
|
BLAKE2b-256 checksum How to use checksums |
4aef2d2202ae16f51428444d060324c9a1df5b7807c025f6564dd6236acf2816
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / gbu_timetable-0.1.4-py3-none-any.whl
| Download URL | gbu_timetable-0.1.4-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45bf4fdd0dbc0ef47acbee2483bd6a34e35d08cab210e2cd13031f51d47128a2
|
|
BLAKE2b-256 checksum How to use checksums |
59ee895115273d37d32b71d31e540ade35de64409d9c656f123ceccb59c7d5f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for gbu-timetable 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.