Metadata-Version: 2.4
Name: markus_exam_matcher
Version: 0.2.0
Summary: A package for matching students to test papers in MarkUs
Project-URL: Homepage, https://github.com/MarkUsProject/markus-exam-matcher
Project-URL: Bug Tracker, https://github.com/MarkUsProject/markus-exam-matcher/issues
Author-email: Hannah Li <hannah.li97@gmail.com>, Anis Singh <anisnylesingh@gmail.com>
Maintainer-email: David Liu <david@cs.toronto.edu>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Requires-Dist: numpy<2.3,>=2.0.0
Requires-Dist: opencv-python-headless==4.12.0.88
Requires-Dist: pdf2image==1.17.0
Requires-Dist: pillow==11.3.0
Requires-Dist: scipy==1.14.1
Requires-Dist: torch==2.7.1
Requires-Dist: torchvision==0.22.1
Requires-Dist: zxing-cpp==2.3.0
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Description-Content-Type: text/markdown

# MarkUs Exam Matcher

## Installation
It is recommended to use a [virtual environment](https://docs.python.org/3/library/venv.html) to install this package, as it contains many pinned runtime dependencies.

### Production Installation (Recommended)
To install the production version of the package, run the following command in the console:

```console
$ pip install markus-exam-matcher --extra-index-url https://download.pytorch.org/whl/cpu
```

### Latest Development Installation

To install the latest development version of the package, run the following command in the console:

```console
$ pip install git+https://github.com/MarkUsProject/markus-exam-matcher.git --extra-index-url https://download.pytorch.org/whl/cpu
```

### Branch Installation
To install the version specified by a particular branch (when permissions are granted), run the following command in the
console:
```console
$ pip install git+https://github.com/MarkUsProject/markus-exam-matcher.git@branch_name --extra-index-url https://download.pytorch.org/whl/cpu
```

### Commit Hash Installation
To install the version specified by a specific commit, the commit hash can be used by running the following command in
the console:
```console
$ pip install git+https://github.com/MarkUsProject/markus-exam-matcher.git@commit_hash --extra-index-url https://download.pytorch.org/whl/cpu
```
## Usage
This package works under the assumption that the characters to be detected are surrounded by boxes that are placed
side-by-side. An example image with this format is displayed below:

![Text](./examples/student_info_num.jpg?raw=true)

Below is a sample usage that generates a prediction from the file shown above.
```console
$ python3 -m markus_exam_matcher --char_type digit char examples/student_info_num.jpg
0001250981
```

## Developers

1. First, clone this repository.
2. Open a terminal in this repo, and create a new [virtual environment](https://docs.python.org/3/library/venv.html).
3. Run `pip install -e ".[dev]"` to install the dependencies.
4. Then run `pre-commit install` to install the pre-commit hooks (for automatically formatting and checking your code on each commit).
