Skip to main content

uw-course

A browser-based University of Waterloo course planner backed by the live MongoDB course database. Search courses, browse sections, build a weekly timetable, and import/export plans — with auto-resolution for course-only plans like CS 341.

Install

pip install uw-course

Run

uw-course

Starts the web app at http://127.0.0.1:31415 and opens it in your default browser.

Environment variables: UW_COURSE_HOST, UW_COURSE_PORT, UW_COURSE_DEBUG, UW_COURSE_NO_BROWSER, MONGODB_URI.

Plan format

Class2026Winter

CS 341
MATH 239
STAT 230, 1234
  • first line: the term collection name (must match a real collection exactly)
  • COURSE CODE — auto-resolve a section for this course
  • COURSE CODE, CLASS_ID — lock this exact section

Development

The UI is a React + Vite app in frontend/; the backend is Flask.

pip install -e .                  # editable backend install
./scripts/build_frontend.sh       # build the UI into the package, then run `uw-course`
npm --prefix frontend run dev     # live UI development (proxies /api to Flask)

The published package and Docker image bundle the compiled UI, so a PyPI install runs with no build step. The release workflow builds the frontend automatically before packaging.

Web API

GET /api/terms · GET /api/courses?term=&q= · GET /api/courses/<code>?term= · POST /api/schedule · POST /api/plan/parse · POST /api/plan/export · POST /api/plan/resolve

License

MIT — see LICENSE.

Metadata

Release files for uw-course 3.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uw-course 3.2.1
File Size Uploaded
uw_course-3.2.1.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for uw-course 3.2.1
File Interpreter ABI Platform
uw_course-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.1 MB

Release files / uw_course-3.2.1.tar.gz

Download URL uw_course-3.2.1.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
1317550976603f4e7ba69e5fa95bb1301b2e949bbae105273133b4c208a107aa
BLAKE2b-256 checksum
How to use checksums
fdb30d079c28fb6a6d5f25ed4fc61e9a13da9900a94e40efc86993298053bdbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / uw_course-3.2.1-py3-none-any.whl

Download URL uw_course-3.2.1-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
81343df63ccd56cf487f1cb2afa3cd4241fb34af795fc4bdb95be687fa3e53c5
BLAKE2b-256 checksum
How to use checksums
94e8509d0fa253e5be4a57546e9e7454bd10ead06a1e8948b7699b132dc20ae0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.2.1 This release

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page