Skip to main content

Command‑line Swiss Army Knife for Canvas LMS

Project description

canvas_sak - canvas Swiss-Army-Knife

a command-line python based tool for teachers who use canvas.

you can download from Pypi. just pip install canvas-sak.

you will need to grab a "token" from your canvas account. go to the canvas webpage -> click on Account in the upper left -> click Settings -> scroll down and click the New Access Token button. you will need to put the token in a configuration file. canvas-sak help-me-setup will tell you how and where to create that configuration file.

some of the major functions:

  • code-similarity: download program submissions and run them through stanford MOSS.
  • collect-reference-info: collect high level information about student for when they later ask for letters of recommendation.
  • download-submissions: the the submissions of an assignment.
  • download/upload-course-content: download and upload course content as markdown files for easily reusing past courses in a way that is easy to change.
  • message-students: send a canvas messages to students from the commandline
  • list/set-due-dates: list and set due dates for assignments all at once
  • update-quiz: view and update quiz settings (attempts, view responses, show correct answers, quiz type)

update-quiz

View and update quiz settings for one or more quizzes in a course.

Options

  • --active/--inactive: search active (default) or inactive courses
  • --all: process all matching quizzes instead of requiring a single match
  • --attempts INTEGER: number of attempts allowed (-1 for unlimited)
  • --view-responses [always|once|until_after_last_attempt|never]: when students can view their responses
  • --show-correct-answers/--hide-correct-answers: whether to show correct answers after submission
  • --quiz-type [practice_quiz|assignment|graded_survey|survey]: the type of quiz

Examples

# List all quizzes in a course
canvas-sak update-quiz "My Course" --inactive

# View settings for a specific quiz
canvas-sak update-quiz "My Course" "Midterm"

# Set attempts to 2 for a quiz
canvas-sak update-quiz "My Course" "Midterm" --attempts 2

# Hide correct answers
canvas-sak update-quiz "My Course" "Final" --hide-correct-answers

# Update all quizzes containing "Quiz" in the title
canvas-sak update-quiz "My Course" "Quiz" --all --attempts 2

# Make a quiz a practice quiz with unlimited attempts
canvas-sak update-quiz "My Course" "Practice" --quiz-type practice_quiz --attempts -1

Ignore files pattern

  • canvas_sak will search for ignore patterns from the canvas_sak configuration file in the [IGNORE] section.
  • if there is a canvas-sak-ignore.lst file in the current directory, it will use patterns in that file as well.
  • canvas_sak will avoid processing files that match the ignore patterns.
  • the patterns are the same format at gitignore patterns.

Assignment Group files

ASSIGNMENT_GROUP_NAME: WEIGHT_PERCENTAGE
ASSIGNMENT_NAME
ASSIGNMENT_NAME

Example Group File

Assignments: 10%
Assignment1
Hard Assignment
Easy Assignment
LastAssignment

Test1: 30%
Test1

Test2: 30%

Test3: 30%
Test3

Validations

  • Make sure the the weights add up to 100%. Halt with an error if it does not
  • If the Assignment group does not exist, create the group
  • If the Assignment doesn't exist, print an error
  • Print what would happen, but don't actually do it if the --no-dryrun is not used

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

canvas_sak-1.0.13.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

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

canvas_sak-1.0.13-py3-none-any.whl (43.0 kB view details)

Uploaded Python 3

File details

Details for the file canvas_sak-1.0.13.tar.gz.

File metadata

  • Download URL: canvas_sak-1.0.13.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for canvas_sak-1.0.13.tar.gz
Algorithm Hash digest
SHA256 62b054133cd2dda3b76437e03399ebebd7f1523fb433a95574ce9a3ceb372078
MD5 dada296e32820711840f80233ebf9eaa
BLAKE2b-256 2f087ebf505dedf1e3aef7cbc6305c79e4b85d8297e524d1c367ef5f7c2d0f21

See more details on using hashes here.

File details

Details for the file canvas_sak-1.0.13-py3-none-any.whl.

File metadata

  • Download URL: canvas_sak-1.0.13-py3-none-any.whl
  • Upload date:
  • Size: 43.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for canvas_sak-1.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 45d32a910d650c4751082428b31b0a576e5f43cde8cb9e8769493c0801a9f5a2
MD5 58af79fd416d7895aa30b6573a37c0df
BLAKE2b-256 bda9d7b10f4d146b5b16abf20828e92f6b3259f4c0f1aa5c09bbe633ae018ac0

See more details on using hashes here.

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