Skip to content

alanlivio/autograder-gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autograder-gen

autograder-gen is a tool for lecturers to generate automated assessment scripts (autograders compatible with the GradeScope Platform. It transforms a high-level YAML configuration into a complete autograder environment packaged as a ZIP file.

The project validates your configuration, renders test scripts using Jinja2 templates, and packages everything for immediate upload to Gradescope.

Setup

Create and activate a virtual environment (recommended):

python -m venv .venv
  • On Windows:

    .venv\Scripts\activate
  • On macOS/Linux:

    source .venv/bin/activate

Install dependencies:

pip install -r requirements.txt

CLI Usage

The Command-Line Interface allows you to generate autograders directly from a configuration file.

python autograder_gen/cli.py --config <path/to/config.yaml> [options]

Arguments:

  • --config, -c (required): Path to your configuration file (YAML).
  • --output, -o: Output directory for the generated autograder.zip (default: ./output).
  • --verbose, -v: Enable verbose logging.
  • --validate-only: Only validate the configuration file without generating the ZIP.

Example:

python autograder_gen/cli.py --config tests/examples/py_simple/config.yaml

Web Interface

The web interface provides a graphical form to define your autograder structure or upload existing configurations. Start the Web Server:

python web/app.py

Testing

To run the automated test suite and verify your installation:

python -m pytest

Authors

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.

About

Tool for supporting lecturers on creating automatic assessment of students programs submitted to the GradeScope Platform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors