Bracu RoutineParser extracts class routine data from BRACU routine images.
It currently supports:
- Connect downloaded routines (screenshot)
- Connect screenshots
- Preprereg screenshots
The parser can return:
- Full routine entries (day, time, course, section, faculty, room)
- Minimal output (course code + section only) for autofill workflows
- EasyOCR-based OCR pipeline (CPU-friendly)
- Handles multiple screenshot styles
- Detects and crops exam schedule section in mixed images
- Course+section-only parser for quick website integration
routine_parser/- parser core logicexamples/run_parser.py- full parser CLIexamples/run_course_section_parser.py- minimal parser CLI
Python version:
3.11.11(from.python-version)
python --versionInstall dependencies:
python -m pip install -U pip setuptools wheel
python -m pip install --index-url https://download.pytorch.org/whl/cpu torch torchvision
python -m pip install -r requirements.txtpython examples/run_parser.py image/image.pngReturns structured routine JSON including classes, meta warnings, and parser details.
python examples/run_course_section_parser.py image/image.pngReturns:
{
"course_sections": [
{ "course_code": "CSE330", "section": "06" }
],
"meta": {
"source_image": "image/image.png",
"template_id": "light_grid",
"warnings": []
}
}- OCR quality depends on screenshot clarity.
- Borderless/low-quality images may still need manual correction.
- Parser is tuned for BRACU routine formats and may not generalize to unrelated layouts.