Metadata-Version: 2.1
Name: grading-tools
Version: 0.19.0
Summary: Tools for evaluating student submissions.
Author: Nicholas Cifuentes-Goodbody
Requires-Python: >=3.10,<3.13
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: Flask (==2.3.2)
Requires-Dist: Flask-Cors (==4.0.0)
Requires-Dist: Markdown (==3.4.4)
Requires-Dist: Pillow (==10.0.0)
Requires-Dist: bson (>=0.5.10,<0.6.0)
Requires-Dist: category-encoders (==2.6.1)
Requires-Dist: matplotlib (==3.7.2)
Requires-Dist: numpy (==1.24.4)
Requires-Dist: pandas (==1.5.3)
Requires-Dist: scikit-learn (==1.3.0)
Requires-Dist: scipy (==1.11.1)
Requires-Dist: statsmodels (==0.14.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: wqet-grader (==0.1.25)
Description-Content-Type: text/markdown

# Grading Tools

[![build](https://github.com/worldquant-university/grading-tools/actions/workflows/build.yml/badge.svg)](https://github.com/worldquant-university/grading-tools/actions)
[![codecov](https://codecov.io/gh/worldquant-university/grading-tools/branch/main/graph/badge.svg?token=PV83R6T99N)](https://codecov.io/gh/worldquant-university/grading-tools)

This library allows you to compare student submissions to an answer, and provide
meaningful feedback. It currently accommodates basic Python data structures, `pandas`
Series and DataFrames, `scikit-learn` models, and images.

## Installation

```bash
$ pip install grading-tools
```

## Usage

```python
>>> from grading_tools.graders import PythonGrader
>>> sub = {"snake": "reptile", "frog": "reptile"}
>>> ans = {"snake": "reptile", "frog": "amphibian"}
>>> g = PythonGrader(sub, ans)
>>> g.grade_dict()
>>> g.return_feedback(html=False)
{
    'score': 0,
    'passed': False,
    'comment': "The value for the key `frog` doesn't match the expected result."
}
```

## License

`grading-tools` was created by
[Nicholas Cifuentes-Goodbody](https://github.com/ncgoodbody) at
[WorldQuant University](http://wqu.edu/). It is not currently licensed for reuse of
any kind.

## Contributing

This package uses [Python Semantic Release](https://python-semantic-release.readthedocs.io/en/latest/), so all commit messages must follow the [Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format) format.

