Skip to main content

A CLI to reformat and review Canvas grades

Project description

canvascli

canvascli downloads grades from Canvas, converts them into the format required for final submission to the FSC at UBC, and creates a few helpful visualizations.

Installation

canvascli requires a recent version of Python and its package manager pip. After installing those (e.g. via miniconda), you can run this command from your terminal.

python -m pip install -U canvascli

Usage

All canvascli functionality requires that you have created an Canvas API access token, so do that first if you don't have one already.

When running canvascli, you can either enter your Canvas token when prompted at the command line (ideally using a password manager, e.g. KeePassXC), or store it in an environment variable named CANVAS_PAT (if you are using GitBash's default terminal on Windows, you will not be able to paste into the terminal prompt and defining the environmental variable is required).

Typing canvascli at the command prompt will show the general help message including the available sub-commands. The most common use case is probably to prepare final grades for FSC submission, which you can do like so:

canvascli prepare-fsc-grades --course-id 53665

This will save a CSV file in the current directory which can be uploaded to the FSC. The file should automatically be correctly formatted, but it is a good idea to double check in case there are unexpected changes to how UBC inputs course info on Canvas. canvascli drops students without a grade by default, and creates a few helpful visualizations of the final grades and assignment scores. Run canvascli prepare-fsc-grades --help to view all available options.

If you don't know the Canvas id of your course, canvascli can check for you:

canvascli show-courses

This will output a table with all the courses your API token has access to. Run canvascli show-courses --help to view all available options.

Shell completion

If you want subcommands and options to complete when you press TAB you can download the corresponding completion file from the GitHub repository and source it in your terminal's configuration file. If you don't want to do this manually, you can run one of the following commands (don't forget to restart your shell afterwards).

Zsh

First make sure that your zsh general shell completion enabled by adding autoload -Uz compinit && compinit to your .zshrc; it is important that this line is added before running the command below.

curl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.zsh > ~/.canvascli-complete.zsh && echo ". ~/.canvascli-complete.zsh" >> ~/.zshrc

Bash

Bash shell completion requires bash >= 4.0 (notably macOS ships with 3.x so use zsh instead). If you are using GitBash for Windows, change .bashrc to .bash_profile in the command below, and note that you will only get shell completion after typing cavascli, not canvascli.exe.

curl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.bash > ~/.canvascli-complete.bash && echo ". ~/.canvascli-complete.bash" >> ~/.bashrc

Questions and contributing

Questions and contributions are welcome! The best way to get in touch is to open a new issue or discussion. Remember to follow the Code of Conduct when you participate in this project.

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

canvascli-0.5.1.tar.gz (41.8 kB view details)

Uploaded Source

Built Distribution

canvascli-0.5.1-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file canvascli-0.5.1.tar.gz.

File metadata

  • Download URL: canvascli-0.5.1.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.4

File hashes

Hashes for canvascli-0.5.1.tar.gz
Algorithm Hash digest
SHA256 dc97f766d67f051ac9bbd26589709da0b01ba30717cfa1463bb08b476e7f993d
MD5 48f9d7602a1ab49bcefad9e2061cc881
BLAKE2b-256 14f430cf401211c9abf87893882f46be53ac19610ca0500da9c2ffe1f5ae5dda

See more details on using hashes here.

File details

Details for the file canvascli-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: canvascli-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.4

File hashes

Hashes for canvascli-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c572bf8d1846e6a16b91e3da7e29b0ffafb00967e75e040a1877cc0d58fdf0b
MD5 6901eac3fb0fadda2a92e4ea797a5b5c
BLAKE2b-256 a479799bcb954ba9f577c4fc79eefc9ec6e376bdf0a6ca0c1751bfa6fc5e9f42

See more details on using hashes here.

Supported by

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