gradelib.policies.exceptions#
Track and apply grading exceptions.
- gradelib.policies.exceptions.make_exceptions(gradebook: Gradebook, student: Student | str, exceptions: Sequence[ForgiveLate | Drop | Replace])#
 Make policy exceptions for individual students.
- Parameters:
 gradebook (Gradebook) – The gradebook to apply the exceptions to. Will be modified.
student (Union[Student, str]) – The student to apply the exceptions to. Can be a
Studentobject or a string that will be used to find the student.exceptions (Sequence[Union[ForgiveLate, Drop, Replace]]) – A sequence of exceptions to apply to the student. Each exception should be an instance of
ForgiveLate,Drop, orReplace.
Example
from gradelib.policies.exceptions import make_exceptions, ForgiveLate, Drop make_exceptions(gradebook, "Justin", [ Drop("homework 01", reason="Illness."), ForgiveLate("homework 02", reason="Family emergency.") ])
- class gradelib.policies.exceptions.Drop(assignment: str, reason: str | None = None)#
 Drop a student’s assignment. To be used with
make_exceptions().- Parameters:
 assignment (str) – The name of the assignment that will be dropped.
reason (Optional[str]) – An optional reason for the exception.
- class gradelib.policies.exceptions.ForgiveLate(assignment: str, reason: str | None = None)#
 Forgive a student’s late assignment. To be used with
make_exceptions().- Parameters:
 assignment (str) – The name of the assignment whose lateness will be forgiven.
reason (Optional[str]) – An optional reason for the exception.
- class gradelib.policies.exceptions.Replace(assignment: str, with_: str | Points | Percentage, reason: str | None = None)#
 Replace a student’s score on an assignment. To be used with
make_exceptions().- Parameters:
 assignment (str) – The name of the assignment whose score will be replaced.
with (Union[str, Points, Percentage]) – If a string, it will be interpreted as the name of an assignment, and that assignment’s score will be used to replace the given assignment’s score. If
Points, this will override the existing point total. IfPercentage, the new point total is computed from the points possible for the assignment.reason (Optional[str]) – An optional reason for the exception.