Skip to content

Configuration

cass.toml

Lives in your course directory. cass init writes it; edit by hand freely.

[canvas]
base_url = "https://canvas.ucsd.edu"
course_id = 72335
time_zone = "America/Los_Angeles"   # written by `cass init`; times you type are in this zone

[[canvas.quizzes]]
file = "quizzes/09-25-participation.toml"   # relative to this file

[[canvas.modules]], [[canvas.assignments]], and [[canvas.quizzes]] tables declare course content. cass canvas sync previews what differs from Canvas; cass canvas sync --apply creates what is missing and updates settings that differ. See Quizzes for the quiz file format.

Times

cass reads times on the command line and in config files (--due, --start, due_at, quiz unlock_at / due_at / lock_at) in the course time zone unless they carry an explicit offset. YYYY-MM-DD means midnight; YYYY-MM-DD HH:MM is the usual form.

Choosing a config

By default cass searches upward from the working directory for cass.toml. Point at another course with --config PATH or the CASS_CONFIG environment variable. The project root becomes that file's directory, so credentials and cass.db resolve beside it.

Credential files

File Contents Created by
.canvastoken Canvas API token cass init
.canvascreds canvas_session and _csrf_token cookies cass canvas login, or by hand

.canvascreds takes priority when both exist. cass creates both with owner-only permissions and adds them to .gitignore; keep them out of version control.

Local files

File Purpose
cass.db SQLite database with all pulled data and pending edits
backups/ Snapshots from cass backup