autograder_gen
autograder_gen is a tool for lecturers to automatically generate assessment scripts for Grading a Programming Assignment on Gradescope. It supports filling out an interactive web form or providing a YAML configuration, which then generates a packaged ZIP file ready to be uploaded to Gradescope. The project validates your YAML configuration, renders test scripts using Jinja2 templates, and packages everything for immediate upload to Gradescope.
Installation
Install the package via pip:
pip install autograder_gen
CLI Usage
When installed, autograder-gen generates Gradescope autograders directly from configuration files. Running without parameters displays usage help:
autograder-gen
usage: autograder-gen [-h] [--config CONFIG] [--descriptions]
[--run-submission RUN_SUBMISSIONS]
[--run-stub-submissions [RUN_STUBS_SUBMISSIONS]]
[--verbose]
Generate Gradescope autograder script from YAML configuration. Generated files
will be at the same folder as the config (autograder.zip, stub submissions for
testing, and optionally description.docx and description.md when
--descriptions is specified).
options:
-h, --help show this help message and exit
--config, -c CONFIG Path to YAML configuration file
--descriptions, --description
Generate description.docx and description.md
assessment descriptions
--run-submission, -r RUN_SUBMISSIONS
Path or folder name of submission directory or zip
file to run (can be specified multiple times)
--run-stub-submissions [RUN_STUBS_SUBMISSIONS]
Run autograder for generated stub submissions
(stub_correct_answer.zip, stub_wrong_answer.zip,
stub_compiler_error.zip,
stub_correct_answer_wrong_location.zip)
--verbose, -v Print full autograder execution logs instead of only
paths to log files
Examples
Generate an autograder package:
autograder-gen --config config.yaml
Generate assessment descriptions (description.docx and description.md):
autograder-gen --config config.yaml --descriptions
Run student submission against an autograder configuration:
autograder-gen --config config.yaml --run-submission submission.zip
Run autograder against generated stub submissions:
autograder-gen --config config.yaml --run-stub-submissions
Batch Processing
Use autograder-gen-batch to process multiple configuration files or directories at once:
# Generate autograders for all configurations in a folder
autograder-gen-batch path/to/assignments/
# Run autograders for stub submissions across all configurations
autograder-gen-batch path/to/assignments/ --run-stub-submissions
Web Interface
Launch the interactive web interface:
autograder-gen-web
Development and Building from Source
For development instructions, building from source, and running Python source files directly, see BUILD.md.
Authors
- Alan Guedes – @alanlivio
- Giorgio Werberich Scur – @giorgioscur
License
Contributions are welcome and will be credited. This project is licensed under the MIT License.
The University of Reading retains rights of original contributions.
Metadata
Release files for autograder-gen 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autograder_gen-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / autograder_gen-0.1.1-py3-none-any.whl
| Download URL | autograder_gen-0.1.1-py3-none-any.whl |
|---|---|
| Size | 81.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4fd1f00d8549837e2ac0e29d8d40fa9241767db3e5d775b25cd4cdde5b734476
|
|
BLAKE2b-256 checksum How to use checksums |
1a36af7ef3c8d020228afc2fd9f4c6584560d261ae4a2717ab00f786636173bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|