Grader Labextension#

The JupyterLab extension consists of two launchers for students and instructors/tutors.

Course Management#

The Course Management view for instructors and tutors provides functionality to create and manage assignments in lectures. The whole lifecycle of the assignment is managed in this view, including the grading procedure.

../_images/overview.png

Assignment#

Students can view their assignments in the Assignment view and after working on the assignment they can make a submission which will become visible in the Submissions tab in the Course Management view.

../_images/student_view.png

REST API Documentation#

Subpackages#

Handlers#

Registry#

class HandlerPathRegistry(*args, **kwargs)[source]#

Bases: object

static add(cls, path: str)[source]#
static get_path(cls)[source]#
static handler_list(base_url: str = '/services/grader') List[Tuple[str, tornado.web.RequestHandler]][source]#
static has_path(cls) bool[source]#
registry = {<class 'grader_labextension.handlers.assignment.AssignmentBaseHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/?', <class 'grader_labextension.handlers.assignment.AssignmentObjectHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/?', <class 'grader_labextension.handlers.grading.ExportGradesHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/submissions\\/save?', <class 'grader_labextension.handlers.grading.GradingAutoHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/grading\\/(?P<sub_id>\\d*)\\/auto\\/?', <class 'grader_labextension.handlers.grading.GradingManualHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/grading\\/(?P<sub_id>\\d*)\\/manual\\/?', <class 'grader_labextension.handlers.grading.GenerateFeedbackHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/grading\\/(?P<sub_id>\\d*)\\/feedback\\/?', <class 'grader_labextension.handlers.grading.PullFeedbackHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/grading\\/(?P<sub_id>\\d*)\\/pull\\/feedback\\/?', <class 'grader_labextension.handlers.lectures.LectureBaseHandler'>: '\\/lectures\\/?', <class 'grader_labextension.handlers.lectures.LectureObjectHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/?', <class 'grader_labextension.handlers.lectures.LectureStudentsHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/users\\/?', <class 'grader_labextension.handlers.submissions.SubmissionHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/submissions\\/?', <class 'grader_labextension.handlers.submissions.SubmissionPropertiesHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/submissions\\/(?P<submission_id>\\d*)\\/properties\\/?', <class 'grader_labextension.handlers.submissions.SubmissionObjectHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/submissions\\/(?P<submission_id>\\d*)\\/?', <class 'grader_labextension.handlers.permission.PermissionBaseHandler'>: '\\/permissions\\/?', <class 'grader_labextension.handlers.version_control.GenerateHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/generate\\/?', <class 'grader_labextension.handlers.version_control.GitRemoteStatusHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/remote-status\\/(?P<repo>\\w*)\\/?', <class 'grader_labextension.handlers.version_control.GitLogHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/log\\/(?P<repo>\\w*)\\/?', <class 'grader_labextension.handlers.version_control.PullHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/pull\\/(?P<repo>\\w*)\\/?', <class 'grader_labextension.handlers.version_control.PushHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/push\\/(?P<repo>\\w*)\\/?', <class 'grader_labextension.handlers.version_control.ResetHandler'>: '\\/lectures\\/(?P<lecture_id>\\d*)\\/assignments\\/(?P<assignment_id>\\d*)\\/reset\\/?', <class 'grader_labextension.handlers.version_control.NotebookAccessHandler'>: '\\/(?P<lecture_id>\\d*)\\/(?P<assignment_id>\\d*)\\/(?P<notebook_name>.*)'}#
class Singleton[source]#

Bases: type

register_handler(path: str)[source]#