Skip to content

mitodl/mitx-grading-library

Repository files navigation

MITx Grading Library

Build Status Coverage Status

A library of graders for edX Custom Response problems.

Version 2.4.1 (changelog)

Copyright 2017-2024 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

Demo Course

A demonstration course for the MITx Grading Library can be viewed here. The source code for this course is contained in this repository here.

Documentation for edX Course Authors

Extensive documentation has been compiled for the configuration of the different graders in the library.

Local Installation

This is not required but can be useful for testing configurations in Python, rather than in edX.

To install:

Requirements: An installation of Python 3.8 or 3.11 (current edX versions).

  1. (Optional) Create and activate a new Python Virtual Environment.
  2. Clone this repository and cd into it.
  3. Run pip install -r requirements-python38.txt or pip install -r requirements-python311.txt to install the requirements based on the Python version you want to test.
  4. 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/*)

FAQ

  • 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.