Skip to main content

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:

  • pandas for data manipulation
  • pathlib for file path handling
  • xlwings for Excel file interaction
  • tqdm for progress bars
  • numpy for numerical operations
  • openpyxl for handling Excel files

For a complete list, see pyproject.toml.

Contributing

Contributions are welcome! To get started:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature-name.
  3. Commit your changes: git commit -m "Description of changes".
  4. Push to the branch: git push origin feature-name.
  5. 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.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grader-helper 0.1.15
File Size Uploaded
grader_helper-0.1.15.tar.gz 488.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grader-helper 0.1.15
File Interpreter ABI Platform
grader_helper-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 639.1 kB

Release files / grader_helper-0.1.15.tar.gz

Download URL grader_helper-0.1.15.tar.gz
Size 488.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c94796731b527ed48acaa3d5bf9e6e54f0f1d880c2ca5e11283344f9ba58a8b7
BLAKE2b-256 checksum
How to use checksums
1cffbc4b58e1b8668d224714f2911738937240528e5a95c9ab268ff2a6988787
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.1.15-py3-none-any.whl

Download URL grader_helper-0.1.15-py3-none-any.whl
Size 150.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1140d2356e32fbf3861a8050340b9701073f3f0096ae03ccdbd33ed426d6b62d
BLAKE2b-256 checksum
How to use checksums
617f04a01f35102f6b15be944a463762a28f1c8d07149a7a50dbf32c9d0e8ec4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.15 This release

2 release files

0.1.12

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page