Grader Helper
Grader Helper is a Python-based tool designed to streamline academic grading workflows for module leaders in the University of Limerick, particularly for assignments hosted on Brightspace. It provides functionality to improve quality-of-life in various areas of assessment administration.
It's designed to help with managing both specific coursework
- managing student submissions
- renaming student submission folders into UL format (e.g. "Lastname, Firstname (Studentnumber)") and the Brightspace format ("1234-5678 - Lastname Firstname - 01 January 2001 0000 AM") and back again (for reupload to Brightspace).
- randomly assigning submissions to graders (both group and individual assesments).
- disrtibuting blank feedback sheets into each students submission folder (named using each students student number)
Key Features
- Automated Grader Assignment: Assigns graders to students either individually or in groups.
- Data Processing: Extracts student IDs and grades from feedback files and aggregates them into a master dataset.
- Brightspace Integration: Imports class lists and handles data in Brightspace-compatible formats.
- Feedback Management: Distributes feedback sheets with rubrics to individual student folders.
- File Organization: Renames and organizes submission folders for clarity.
- Score Calculation: Computes total and weighted scores for modules, including letter grade conversion.
Installation
From PyPI
Install the package directly:
pip install grader-helper
Using UV
UV is an incredibly fast python tool for dependency management in python. See the docs for guides on setting up a project with UV.
uv add grader_helper
Usage
Working on more full documentation - watch this space.
Dependencies
Key dependencies:
pandasfor data manipulationpathlibfor file path handlingxlwingsfor Excel file interactiontqdmfor progress barsnumpyfor numerical operationsopenpyxlfor handling Excel files
For a complete list, see pyproject.toml.
Contributing
Contributions are welcome! To get started:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name. - Commit your changes:
git commit -m "Description of changes". - Push to the branch:
git push origin feature-name. - Create a pull request.
License
This project is licensed under the MIT License. See LICENSE for more details.
grader_helper
Next steps
- Integrate the functionality that allows us to randomly select students from each gradeband and copy them to the moderation folders.
- Integrate the way of making the departmental gradefile.
- I've already got the functions that make the dataframes written, but not any explicit functionality for writing them into the departmental template.
- Write full documentation and a sample project (make fake student files)
- Consider writing it all together into an gui/tui app?
Release files for grader-helper 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grader_helper-0.2.0.tar.gz | 491.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grader_helper-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 666.9 kB
Release files / grader_helper-0.2.0.tar.gz
| Download URL | grader_helper-0.2.0.tar.gz |
|---|---|
| Size | 491.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6f1d6f29bf4c9b2ff8ed7a2daaa9d378affc62df4c81ae5252736bb16fb1455
|
|
BLAKE2b-256 checksum How to use checksums |
51c111859caa2d2b1b5cec00e20872c700dbcf1cc031d0c9a70527902155f0f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / grader_helper-0.2.0-py3-none-any.whl
| Download URL | grader_helper-0.2.0-py3-none-any.whl |
|---|---|
| Size | 175.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35a36aadb3877b1887306a8745ac7e45ad000ffd039a2fb19cb88518e9a8aa1a
|
|
BLAKE2b-256 checksum How to use checksums |
a066c9b834dc6b7e3acaed369563ab364289fa8bb9f865aff0a21f158dac8e2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|