Skip to content
This repository has been archived by the owner on Mar 24, 2019. It is now read-only.
/ quest-cli Public archive

A command-line client for the UWaterloo Quest Information System.

Notifications You must be signed in to change notification settings

hulloitskai/quest-cli

Repository files navigation

Archive Notice

Due to changes to the UW Quest authentication API, the underlying Go client library (stevenxie/uwquest) has been deprecated.

As this CLI client is pretty much a wrapper for that client library, it will also be archived and no longer maintained.

So long, and thanks for all the fish!

quest-cli

A command-line client for the UWaterloo Quest Information System.

Release Go Report Card Travis: Build

Check your grades in style 😎.

Want to make something else that uses information from Quest?
Check out uwquest, a Golang client for Quest. This CLI tool is just a fancy wrapper around that client library.

Why did I make quest-cli?

lol idk tbh

uhhhhh quest web interface bad 😭 💯

Features

  • Login and authentication
  • Check grades
  • Windows compatibility
  • Repeatedly poll for new grades
  • Check schedule?
  • Check course availability?
  • ??? other stuff ???

Open an issue to request a new feature that you want to see added to quest-cli!

Installation

If you're running macOS, you can install this using Homebrew:

brew install stevenxie/tap/quest-cli

Otherwise, grab the latest release, unzip it and run it:

$ unzip quest-cli-0.1.1-macOS-x86_64
$ cd quest-cli-0.1.1-macOS-x86_64/
$ ./quest --version
0.1.1

Running quest-cli

You can double-click the executable file (the .exe on Windows) to start running quest-cli in interactive mode.

If you're running quest-cli in the terminal, try out the following commands:

quest login   # save Quest login to ~/.quest-cli.json (password is obfuscated)
quest grades  # check your grades, repeatedly poll with the --poll flag
quest --help  # see other options

Advanced Usage:

Every command has a --help flag, use it to see extra flags on each command.

For example, quest login --help reveals:

usage: quest login [<flags>]

Save Quest login credentials (obfuscates password).

Flags:
  -h, --help     Show context-sensitive help (also try --help-long and
                 --help-man).
  -v, --version  Show application version.
  -i, --id-only  Only save Quest ID.
  -c, --clear    Remove saved login credentials.

FAQ

Will this steal my Quest login?

Yes.

Okay, not really, but don't take that from me; check the source code for yourself:

Your credentials are sent to the UWaterloo IDP (ID portal) as if you're logging into the Quest website itself.