autograder .cli .courses
The autograder.cli.courses package contains tools to access and manage course information.
This package contains the following CLI tools:
The `autograder.cli.courses.admin` package contains tools for administering an autograder course.
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]
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]
The `autograder.cli.courses.assignments` package contains tools to work with course assignments.
The `autograder.cli.courses.assignment.images` package contains tools to work with assignment Docker images.
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]
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]
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]
The `autograder.cli.courses.assignments.submissions` package contains tools to work with assignment submissions.
The `autograder.cli.courses.assignments.submissions.analysis` package contains tools to work with assignment analyses.
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 ...]
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 ...]
The `autograder.cli.courses.assignment.submissions.fetch` package contains tools to query submissions to the autograder.
The `autograder.cli.courses.assignment.submissions.fetch.course` package contains tools to query submissions to the autograder at a course level.
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]
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]
The `autograder.cli.courses.assignment.submissions.fetch.user` package contains tools to query submissions to the autograder at a user level.
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]
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]
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]
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]
The `autograder.cli.courses.assignment.submissions.proxy` package contains tools to make proxy submissions to the autograder.
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]
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]
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 ...]
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]
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 ...]
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]
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]
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).
The `autograder.cli.courses.lms.scores` package contains tools for working with assignment scores for a course's LMS.
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]
The `autograder.cli.courses.stats` package contains tools for accessing course-level statistics.
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]
The `autograder.cli.courses.upsert` package contains tools for upserting an autograder course.
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]
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
The `autograder.cli.courses.users` package contains tools to work with course users.
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]
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
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]
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]
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]