To handle zipped submissions, a respective unpacking tool must be present on the host system.
- 7z: Most Linux distros provide a
p7zip
package. - rar: Provide for the
unrar
executable.
pip3 install --user coloredlogs patool
pipenv install
installs the requirements defined in Pipfile,
pipenv shell
spawns a shell process to work in the virtual environment.
usage: autograde.py [-h] -a ASSIGNMENT [--dangerous] [-i] [-f] [-n] [-o OUTPUT] inputfiles [inputfiles ...]
positional arguments:
inputfiles
optional arguments:
-h, --help show this help message and exit
-a ASSIGNMENT, --assignment ASSIGNMENT
Name of the assignment
--dangerous Ignore validation warnings
-i, --interactive Pass --interactive to halt on validation errors
-f, --force Pass --force to nbgrader autograde
-n, --noop Do not run autograde and feedback
-o OUTPUT, --output OUTPUT
Output directory for html feedback
For example, when running
./autograde.py -a assignment-2 Submissions.zip
the following steps will be executed:
- retrieve the correct notebook filename from
./source/assignment-2/
- collect student or group submissions from
Submissions.zip
:- unpack (nested) zipped submissions
- valid submissions go into
./submitted/(student|group)/assignment-2/
- submissions excluded by a validator go into
./dangerous/
instead
- autograde each valid submission if it was not already autograded
- list a summary of errors and problems encountered so far
- wait and ask you to optionally perform additional formgrading using your browser
- generate feedback for each submission and collect all
.html
files intoupload/assignment-2/