autograder.cli.courses

The autograder.cli.courses package contains tools to access and manage course information.

This package contains the following CLI tools:


autograder.cli.courses.admin.*

The `autograder.cli.courses.admin` package contains tools for administering an autograder course.


autograder.cli.courses.admin.email

Send an email to course users.

usage: python3 -m autograder.cli.courses.admin.email [-h] [--version]
                                                     [--server SERVER]
                                                     [--user USER]
                                                     [--pass PASS]
                                                     [--course COURSE]
                                                     [--dry-run] [--to TO]
                                                     [--cc CC] [--bcc BCC]
                                                     --subject SUBJECT
                                                     [--body BODY] [--html]
                                                     [--testing-mode]

autograder.cli.courses.admin.update

Update an existing course using its own source.

usage: python3 -m autograder.cli.courses.admin.update [-h] [--version]
                                                      [--server SERVER]
                                                      [--user USER]
                                                      [--pass PASS]
                                                      [--dry-run]
                                                      [--skip-emails]
                                                      [--skip-source-sync]
                                                      [--skip-lms-sync]
                                                      [--skip-build-images]
                                                      [--skip-template-files]
                                                      [--course COURSE]
                                                      [--testing-mode]

autograder.cli.courses.assignments.*

The `autograder.cli.courses.assignments` package contains tools to work with course assignments.


autograder.cli.courses.assignments.images.*

The `autograder.cli.courses.assignment.images` package contains tools to work with assignment Docker images.


autograder.cli.courses.assignments.images.fetch

Fetch an assignment's Docker image.

usage: python3 -m autograder.cli.courses.assignments.images.fetch
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT] [--out-dir OUT_DIR]
       [--testing-mode]

autograder.cli.courses.assignments.images.info

Get information about an assignment's Docker image (does not include the actual image).

usage: python3 -m autograder.cli.courses.assignments.images.info
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT] [--testing-mode]

autograder.cli.courses.assignments.report

Fetch an assignment grading report.

usage: python3 -m autograder.cli.courses.assignments.report
       [-h] [--version] [--server SERVER] [--course COURSE] [--user USER]
       [--pass PASS] [--testing-mode] [--format {json,table,text}]
       [--include-extra-fields] [--pretty-headers] [--skip-headers]

autograder.cli.courses.assignments.submissions.*

The `autograder.cli.courses.assignments.submissions` package contains tools to work with assignment submissions.


autograder.cli.courses.assignments.submissions.analysis.*

The `autograder.cli.courses.assignments.submissions.analysis` package contains tools to work with assignment analyses.


autograder.cli.courses.assignments.submissions.analysis.individual

Get the result of a individual analysis for the specified submissions.

usage: python3 -m autograder.cli.courses.assignments.submissions.analysis.individual
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--dry-run] [--overwrite-records] [--wait-for-completion]
       [--testing-mode]
       SUBMISSION [SUBMISSION ...]

autograder.cli.courses.assignments.submissions.analysis.pairwise

Get the result of a pairwise analysis for the specified submissions.

usage: python3 -m autograder.cli.courses.assignments.submissions.analysis.pairwise
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--dry-run] [--overwrite-records] [--wait-for-completion]
       [--testing-mode]
       SUBMISSION [SUBMISSION ...]

autograder.cli.courses.assignments.submissions.fetch.*

The `autograder.cli.courses.assignment.submissions.fetch` package contains tools to query submissions to the autograder.


autograder.cli.courses.assignments.submissions.fetch.course.*

The `autograder.cli.courses.assignment.submissions.fetch.course` package contains tools to query submissions to the autograder at a course level.


autograder.cli.courses.assignments.submissions.fetch.course.attempts

Get all recent submissions and grading information for this assignment.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.course.attempts
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-users TARGET_USERS] [--out-dir OUT_DIR] [--testing-mode]

autograder.cli.courses.assignments.submissions.fetch.course.scores

Get the most recent scores for this assignment.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.course.scores
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-users TARGET_USERS] [--testing-mode]
       [--format {json,table,text}] [--include-extra-fields]
       [--pretty-headers] [--skip-headers]

autograder.cli.courses.assignments.submissions.fetch.user.*

The `autograder.cli.courses.assignment.submissions.fetch.user` package contains tools to query submissions to the autograder at a user level.


autograder.cli.courses.assignments.submissions.fetch.user.attempt

Get a submission along with all grading information.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.user.attempt
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-email TARGET_EMAIL] [--target-submission TARGET_SUBMISSION]
       [--out-dir OUT_DIR] [--testing-mode]

autograder.cli.courses.assignments.submissions.fetch.user.attempts

Get all submission attempts made by a user along with all grading information.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.user.attempts
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-email TARGET_EMAIL] [--out-dir OUT_DIR] [--testing-mode]

autograder.cli.courses.assignments.submissions.fetch.user.history

Get the most recent scores for this user and assignment.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.user.history
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-email TARGET_EMAIL] [--testing-mode]
       [--format {json,table,text}] [--include-extra-fields]
       [--pretty-headers] [--skip-headers]

autograder.cli.courses.assignments.submissions.fetch.user.peek

Get a copy of the grading report for the specified submission. Does not submit a new submission.

usage: python3 -m autograder.cli.courses.assignments.submissions.fetch.user.peek
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-email TARGET_EMAIL] [--target-submission TARGET_SUBMISSION]
       [--testing-mode]

autograder.cli.courses.assignments.submissions.proxy.*

The `autograder.cli.courses.assignment.submissions.proxy` package contains tools to make proxy submissions to the autograder.


autograder.cli.courses.assignments.submissions.proxy.regrade

Proxy regrade an assignment for all target users using their most recent submission.

usage: python3 -m autograder.cli.courses.assignments.submissions.proxy.regrade
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-users TARGET_USERS] [--regrade-cutoff REGRADE_CUTOFF]
       [--dry-run] [--overwrite-records] [--wait-for-completion]
       [--testing-mode]

autograder.cli.courses.assignments.submissions.proxy.resubmit

Proxy resubmit an assignment submission to the autograder.

usage: python3 -m autograder.cli.courses.assignments.submissions.proxy.resubmit
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-submission TARGET_SUBMISSION] --proxy-email PROXY_EMAIL
       [--proxy-time PROXY_TIME] [--testing-mode]

autograder.cli.courses.assignments.submissions.proxy.submit

Proxy submit an assignment submission to the autograder.

usage: python3 -m autograder.cli.courses.assignments.submissions.proxy.submit
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT] [--message MESSAGE]
       --proxy-email PROXY_EMAIL [--proxy-time PROXY_TIME] [--testing-mode]
       FILE [FILE ...]

autograder.cli.courses.assignments.submissions.remove

Remove a specified submission. Defaults to the most recent submission.

usage: python3 -m autograder.cli.courses.assignments.submissions.remove
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT]
       [--target-email TARGET_EMAIL] [--target-submission TARGET_SUBMISSION]
       [--testing-mode]

autograder.cli.courses.assignments.submissions.submit

Submit an assignment submission to the autograder.

usage: python3 -m autograder.cli.courses.assignments.submissions.submit
       [-h] [--version] [--server SERVER] [--user USER] [--pass PASS]
       [--course COURSE] [--assignment ASSIGNMENT] [--message MESSAGE]
       [--allow-late] [--testing-mode]
       FILE [FILE ...]

autograder.cli.courses.get

Get a course from a server.

usage: python3 -m autograder.cli.courses.get [-h] [--version]
                                             [--server SERVER]
                                             [--course COURSE] [--user USER]
                                             [--pass PASS] [--testing-mode]
                                             [--format {json,table,text}]
                                             [--include-extra-fields]
                                             [--pretty-headers]
                                             [--skip-headers]

autograder.cli.courses.list

List the courses on a server.

usage: python3 -m autograder.cli.courses.list [-h] [--version]
                                              [--server SERVER] [--user USER]
                                              [--pass PASS] [--testing-mode]
                                              [--format {json,table,text}]
                                              [--include-extra-fields]
                                              [--pretty-headers]
                                              [--skip-headers]

autograder.cli.courses.lms.*

The `autograder.cli.courses.lms` package contains tools for interacting with the given course's LMS. All LMS operations are done within the context of the autograder. For more general LMS functionality, see the [LMS Toolkit](https://github.com/edulinq/lms-toolkit).


autograder.cli.courses.lms.scores.*

The `autograder.cli.courses.lms.scores` package contains tools for working with assignment scores for a course's LMS.


autograder.cli.courses.lms.scores.upload

Perform a full scoring and upload scores to the course's LMS.

usage: python3 -m autograder.cli.courses.lms.scores.upload [-h] [--version]
                                                           [--server SERVER]
                                                           [--user USER]
                                                           [--pass PASS]
                                                           [--course COURSE]
                                                           [--dry-run]
                                                           [--testing-mode]

autograder.cli.courses.stats.*

The `autograder.cli.courses.stats` package contains tools for accessing course-level statistics.


autograder.cli.courses.stats.query

Query stats for this course.

usage: python3 -m autograder.cli.courses.stats.query [-h] [--version]
                                                     [--server SERVER]
                                                     [--user USER]
                                                     [--pass PASS]
                                                     [--course COURSE]
                                                     --metric-type
                                                     {api-request,code-analysis-time,grading-time,cpu-usage,mem-usage,net-in,net-out,task-time}
                                                     [--limit LIMIT]
                                                     [--after QUERY_AFTER]
                                                     [--before QUERY_BEFORE]
                                                     [--sort QUERY_SORT]
                                                     [--where KEY=VALUE [KEY=VALUE ...]]
                                                     [--testing-mode]

autograder.cli.courses.upsert.*

The `autograder.cli.courses.upsert` package contains tools for upserting an autograder course.


autograder.cli.courses.upsert.filespec

Upsert a course using a file specification (FileSpec).

usage: python3 -m autograder.cli.courses.upsert.filespec [-h] [--version]
                                                         [--server SERVER]
                                                         [--user USER]
                                                         [--pass PASS]
                                                         [--dry-run]
                                                         [--skip-emails]
                                                         [--skip-source-sync]
                                                         [--skip-lms-sync]
                                                         [--skip-build-images]
                                                         [--skip-template-files]
                                                         --type FILESPEC_TYPE
                                                         --path FILESPEC_PATH
                                                         [--reference FILESPEC_REFERENCE]
                                                         [--username FILESPEC_USERNAME]
                                                         [--token FILESPEC_TOKEN]
                                                         [--testing-mode]

autograder.cli.courses.upsert.zip

Upsert a course using a zip file or directory.

usage: python3 -m autograder.cli.courses.upsert.zip [-h] [--version]
                                                    [--server SERVER]
                                                    [--user USER]
                                                    [--pass PASS] [--dry-run]
                                                    [--skip-emails]
                                                    [--skip-source-sync]
                                                    [--skip-lms-sync]
                                                    [--skip-build-images]
                                                    [--skip-template-files]
                                                    [--testing-mode]
                                                    PATH

autograder.cli.courses.users.*

The `autograder.cli.courses.users` package contains tools to work with course users.


autograder.cli.courses.users.drop

Drop a user from a course.

usage: python3 -m autograder.cli.courses.users.drop [-h] [--version]
                                                    [--server SERVER]
                                                    [--course COURSE]
                                                    [--user USER]
                                                    [--pass PASS]
                                                    [--target-email TARGET_EMAIL]
                                                    [--testing-mode]

autograder.cli.courses.users.enroll-file

Enroll users from a TSV file into a course.

usage: python3 -m autograder.cli.courses.users.enroll-file [-h] [--version]
                                                           [--server SERVER]
                                                           [--course COURSE]
                                                           [--user USER]
                                                           [--pass PASS]
                                                           [--dry-run]
                                                           [--skip-inserts]
                                                           [--skip-updates]
                                                           [--send-emails]
                                                           [--testing-mode]
                                                           PATH

autograder.cli.courses.users.enroll

Enroll a user in a course.

usage: python3 -m autograder.cli.courses.users.enroll [-h] [--version]
                                                      [--server SERVER]
                                                      [--course COURSE]
                                                      [--user USER]
                                                      [--pass PASS]
                                                      [--dry-run]
                                                      [--skip-inserts]
                                                      [--skip-updates]
                                                      [--send-emails]
                                                      --new-email NEW_EMAIL
                                                      [--new-name NEW_NAME]
                                                      [--new-course-role {unknown,other,student,grader,admin,owner}]
                                                      [--new-lms-id NEW_LMS_ID]
                                                      [--testing-mode]

autograder.cli.courses.users.get

Get information about a course user.

usage: python3 -m autograder.cli.courses.users.get [-h] [--version]
                                                   [--server SERVER]
                                                   [--course COURSE]
                                                   [--user USER] [--pass PASS]
                                                   [--target-email TARGET_EMAIL]
                                                   [--testing-mode]
                                                   [--format {json,table,text}]
                                                   [--include-extra-fields]
                                                   [--pretty-headers]
                                                   [--skip-headers]

autograder.cli.courses.users.list

List the users in a course.

usage: python3 -m autograder.cli.courses.users.list [-h] [--version]
                                                    [--server SERVER]
                                                    [--course COURSE]
                                                    [--user USER]
                                                    [--pass PASS]
                                                    [--target-users TARGET_USERS]
                                                    [--testing-mode]
                                                    [--format {json,table,text}]
                                                    [--include-extra-fields]
                                                    [--pretty-headers]
                                                    [--skip-headers]
1"""
2The `autograder.cli.courses` package contains tools to access and manage course information.
3"""