Skip to main content

A course helper tool for managing UW courses schedule

Project description

uw-course

PyPI version

This is a project for UWaterloo students to help them get course information and generate a schedule for the next term.

MongoDB DashBoard: LINK

Example Schedule:

Image text


Install Steps:

  1. Install Python3 (>= 3.10) Python Website
  2. pip install uw-course
    

Usage (TUI)

Run the terminal UI:

uw-course

You can:

  • Check course details
  • Build a schedule manually or load a plan file
  • View the weekly schedule in the TUI
  • Export the .out schedule to PDF

Schedule Plan File Format

  1. Create a new file named schema.txt
  2. Edit schema.txt with the following format:
Class{year}{Winter/Spring/Fall}

{Course}{CourseName}, {ClassID}
{Course}{CourseName}, {ClassID}
...

Example:

Class2025Winter

PHYS 234, 7166
CS 431, 8788
PMATH 351, 6382
CO 353, 6157
STAT 231, 6097
AMATH 250, 5967
  1. Use the TUI to select “Load Plan” and provide the file path (default: uw-course-files/schema.txt).
  2. The program will generate uw-course-files/schedule.out, and you can export it to PDF from the TUI.

Output Location

All generated files are stored in uw-course-files/:

  • uw-course-files/schedule.out
  • uw-course-files/schedule.pdf
  • uw-course-files/schema.txt (if saved from the TUI)

Any Idea or Question, welcome send me an email via: j7zang@uwaterloo.ca


Credits

PDF export uses a modified version of pdfschedule by John Thorvald Wodder II. Thanks for the original project.


License

This project is open-source and can be modified and used for personal or educational purposes. Attribution to the original creator is appreciated. (MIT License)

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

uw_course-2.0.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uw_course-2.0.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file uw_course-2.0.0.tar.gz.

File metadata

  • Download URL: uw_course-2.0.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uw_course-2.0.0.tar.gz
Algorithm Hash digest
SHA256 942dfe13bf84e3d9baa309858c427d5146973d094a548baa3ba8561b5cd9b236
MD5 0f4219a1bd84489f34ba009cea68e4f0
BLAKE2b-256 19f41735b88703316f9775508b9f1b055635e0d94a681e4deb025d12fff09326

See more details on using hashes here.

Provenance

The following attestation bundles were made for uw_course-2.0.0.tar.gz:

Publisher: publish-to-pypi.yml on zangjiucheng/uw-course

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uw_course-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: uw_course-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uw_course-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a966301f241b0715a391c7e383f5d49407151d08c0c7b04f4fd3b169f5a97b6
MD5 35506828729471aafb61df9001a8b7ea
BLAKE2b-256 5c6d26562a3989b328e7357dc84a1c15255e7f0c6c923061842dc81c45fdc1dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for uw_course-2.0.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on zangjiucheng/uw-course

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page