A library of graders for edX Custom Response problems.
Version 2.0.2 (changelog)
Copyright 2017-2019 Jolyon Bloomfield and Chris Chudzicki
Licensed under the BSD-3 License.
We thank the MIT Office of Open Learning for their support.
Table of Contents
A demonstration course for the MITx Grading Library can be viewed here. The source code for this course is contained in this repository here.
Extensive documentation has been compiled for the configuration of the different graders in the library.
This is not required but can be useful for testing configurations in python, rather than in edX.
To install:
Requirements: An installation of Python 2.7 (since this is what edX currently uses) or Python 3.6 or 3.7 (since edX is in the process of upgrading).
- (Optional) Create and activate a new python virtual environment.
- Clone this repository and
cd
into it. - Run
pip install -r requirements.txt
to install the requirements specified inrequirements.txt
. If using python 3, userequirements3.txt
instead. - Run
pytest
to check that tests are passing. (To invoke tests of just the documentation, you can run the following command:python -m pytest --no-cov --disable-warnings docs/*
)
- What's this
voluptuous
thing?
Voluptuous is a library that handles configuration validation, while giving (hopefully) meaningful error messages. We use it to automate the checking of the configurations passed into the mitxgraders
library. They need to be packaged together in the python_lib.zip
file.