Skip to content

Handlers Reference

Complete method signatures for every handler class.


HiveClient

hivelms_client.hive_client.HiveClient

Client for the Hive LMS API.

Assumes staff or admin clearance. Endpoints that require lower clearance (student, checker) are not tested and may return reduced response shapes.


Assignments

hivelms_client.handlers.assignments.assignments_handler.AssignmentsHandler

Handler for student assignments.

Attributes:

Name Type Description
responses

Sub-handler for assignment submission responses.

Functions

__init__(http_client)

Initialize.

search(*, exercise_id=None, exercise_parent_module_id=None, exercise_parent_module_parent_subject_id=None, exercise_tags_id_in=None, queue_id=None, user_classes_id=None, user_classes_id_in=None, user_id_in=None, user_mentor_id=None, user_mentor_id_in=None, user_program_id_in=None)

Return assignments, optionally filtered.

Parameters:

Name Type Description Default
exercise_id int | None

Filter by exercise ID.

None
exercise_parent_module_id int | None

Filter by parent module ID.

None
exercise_parent_module_parent_subject_id int | None

Filter by parent subject ID.

None
exercise_tags_id_in list[int] | None

Filter by tag IDs (any match).

None
queue_id int | None

Filter by queue ID.

None
user_classes_id int | None

Filter by class ID.

None
user_classes_id_in list[int] | None

Filter by class IDs (any match).

None
user_id_in list[int] | None

Filter by user IDs (any match).

None
user_mentor_id int | None

Filter by mentor ID.

None
user_mentor_id_in list[int] | None

Filter by mentor IDs (any match).

None
user_program_id_in list[int] | None

Filter by program IDs (any match).

None

Returns:

Type Description
list[Assignment]

List of matching assignments.

create(assignment_request)

Create a new assignment.

Parameters:

Name Type Description Default
assignment_request AssignmentInput

Assignment data.

required

Returns:

Type Description
Assignment

The created assignment.

get(id_)

Fetch a single assignment by ID.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

Returns:

Type Description
Assignment

The assignment.

update(id_, assignment_request)

Replace an assignment (full update).

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required
assignment_request AssignmentInput

Replacement data.

required

Returns:

Type Description
Assignment

The updated assignment.

patch(id_, assignment_patch)

Partially update an assignment.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required
assignment_patch AssignmentPatch

Fields to change; omitted fields are left unchanged.

required

Returns:

Type Description
Assignment

The updated assignment.

delete(id_)

Delete an assignment.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

lock(id_)

Claim the assignment as the checking staff member.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

unlock(id_)

Release the checker claim on an assignment.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

subscribe(id_)

Subscribe to update notifications for an assignment.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

unsubscribe(id_)

Unsubscribe from update notifications for an assignment.

Parameters:

Name Type Description Default
id_ int

Assignment ID.

required

get_latest(*, last_staff_updated_gt=None, user_classes_id=None, user_id_in=None, user_mentor_id=None)

Return the latest assignment notification summaries.

Parameters:

Name Type Description Default
last_staff_updated_gt str | None

Include only assignments updated after this ISO datetime.

None
user_classes_id int | None

Filter by class ID.

None
user_id_in list[int] | None

Filter by user IDs (any match).

None
user_mentor_id int | None

Filter by mentor ID.

None

Returns:

Type Description
list[AssignmentNotification]

List of assignment notification items.

hivelms_client.handlers.assignments.assignments_responses_handler.AssignmentResponsesHandler

Handler for responses (submissions, comments, etc.) on an assignment.

Functions

__init__(http_client)

Initialize.

search(assignment_id)

Return all responses for an assignment.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required

Returns:

Type Description
list[AssignmentResponse]

List of assignment responses.

create(assignment_id, response_creation_request)

Add a new response to an assignment.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_creation_request AssignmentResponseInput

Response data.

required

Returns:

Type Description
AssignmentResponse

The created response.

get(assignment_id, response_id)

Fetch a single response.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_id int

Response ID.

required

Returns:

Type Description
AssignmentResponse

The response.

patch(assignment_id, response_id, response_patch)

Partially update a response.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_id int

Response ID.

required
response_patch AssignmentResponsePatch

Fields to change.

required

Returns:

Type Description
AssignmentResponse

The updated response.

delete(assignment_id, response_id)

Delete a response.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_id int

Response ID.

required

get_files(assignment_id, response_id)

Download the file attached to a response.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_id int

Response ID.

required

Returns:

Type Description
FileResponse

File response with filename, mimetype, and raw content.

rerun_autochecks(assignment_id, response_id)

Trigger autocheck re-evaluation for a response.

Parameters:

Name Type Description Default
assignment_id int

Parent assignment ID.

required
response_id int

Response ID.

required

Course

hivelms_client.handlers.course.programs_handler.ProgramsHandler

CRUD handler for course programs.

Functions

search()

Return all programs.

Returns:

Type Description
list[Program]

A list of all programs.

create(program_request)

Create a new program.

Parameters:

Name Type Description Default
program_request ProgramInput

Data for the program to create.

required

Returns:

Type Description
Program

The newly created program.

get(id_)

Retrieve a single program by ID.

Parameters:

Name Type Description Default
id_ int

The program ID.

required

Returns:

Type Description
Program

The matching program.

update(id_, program_request)

Fully replace a program.

Parameters:

Name Type Description Default
id_ int

The program ID.

required
program_request ProgramInput

Replacement data for the program.

required

Returns:

Type Description
Program

The updated program.

patch(id_, program_patch)

Partially update a program.

Parameters:

Name Type Description Default
id_ int

The program ID.

required
program_patch ProgramPatch

Fields to update on the program.

required

Returns:

Type Description
Program

The updated program.

delete(id_)

Delete a program.

Parameters:

Name Type Description Default
id_ int

The program ID.

required

hivelms_client.handlers.course.subjects_handler.SubjectsHandler

CRUD handler for course subjects.

Functions

search(*, parent_program_id_in=None)

Return subjects, optionally filtered by parent program IDs.

Parameters:

Name Type Description Default
parent_program_id_in list[int] | None

Restrict results to subjects belonging to these program IDs.

None

Returns:

Type Description
list

A list of subjects as dicts.

create(subject_request)

Create a new subject.

Parameters:

Name Type Description Default
subject_request SubjectInput

Data for the subject to create.

required

Returns:

Type Description
Subject

The newly created subject.

get(id_)

Retrieve a single subject by ID.

Parameters:

Name Type Description Default
id_ int

The subject ID.

required

Returns:

Type Description
Subject

The matching subject.

update(id_, subject_request)

Fully replace a subject.

Parameters:

Name Type Description Default
id_ int

The subject ID.

required
subject_request SubjectInput

Replacement data for the subject.

required

Returns:

Type Description
Subject

The updated subject.

patch(id_, subject_patch)

Partially update a subject.

Parameters:

Name Type Description Default
id_ int

The subject ID.

required
subject_patch SubjectPatch

Fields to update on the subject.

required

Returns:

Type Description
Subject

The updated subject.

delete(id_)

Delete a subject.

Parameters:

Name Type Description Default
id_ int

The subject ID.

required

hivelms_client.handlers.course.modules_handler.ModulesHandler

CRUD handler for course modules.

Functions

search(*, parent_subject=None)

Return modules, optionally filtered by parent subject.

Parameters:

Name Type Description Default
parent_subject int | None

Restrict results to modules belonging to this subject ID.

None

Returns:

Type Description
list[Module]

A list of matching modules.

create(module_request)

Create a new module.

Parameters:

Name Type Description Default
module_request ModuleInput

Data for the module to create.

required

Returns:

Type Description
Module

The newly created module.

get(id_)

Retrieve a single module by ID.

Parameters:

Name Type Description Default
id_ int

The module ID.

required

Returns:

Type Description
Module

The matching module.

update(id_, module_request)

Fully replace a module.

Parameters:

Name Type Description Default
id_ int

The module ID.

required
module_request ModuleInput

Replacement data for the module.

required

Returns:

Type Description
Module

The updated module.

patch(id_, module_patch)

Partially update a module.

Parameters:

Name Type Description Default
id_ int

The module ID.

required
module_patch ModulePatch

Fields to update on the module.

required

Returns:

Type Description
Module

The updated module.

delete(id_)

Delete a module.

Parameters:

Name Type Description Default
id_ int

The module ID.

required

hivelms_client.handlers.course.exercises_handler.ExercisesHandler

CRUD handler for exercises, with a nested fields sub-handler.

Attributes:

Name Type Description
fields

Handler for exercise form fields.

Functions

search(*, id=None, parent_module_id=None, parent_module_parent_subject_id=None, parent_program_id_in=None, queue_id=None, tags_id_in=None)

Return exercises, optionally filtered by module, subject, program, queue, or tags.

Parameters:

Name Type Description Default
id int | None

Exact exercise ID.

None
parent_module_id int | None

Restrict to exercises in this module.

None
parent_module_parent_subject_id int | None

Restrict to exercises whose module belongs to this subject.

None
parent_program_id_in list[int] | None

Restrict to exercises belonging to these program IDs.

None
queue_id int | None

Restrict to exercises assigned to this queue.

None
tags_id_in list[int] | None

Restrict to exercises tagged with any of these tag IDs.

None

Returns:

Type Description
list[Exercise]

A list of matching exercises.

create(exercise_request)

Create a new exercise.

Parameters:

Name Type Description Default
exercise_request ExerciseInput

Data for the exercise to create.

required

Returns:

Type Description
Exercise

The newly created exercise.

get(id_)

Retrieve a single exercise by ID.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

Returns:

Type Description
Exercise

The matching exercise.

update(id_, exercise_request)

Fully replace an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required
exercise_request ExerciseInput

Replacement data for the exercise.

required

Returns:

Type Description
Exercise

The updated exercise.

patch(id_, exercise_patch)

Partially update an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required
exercise_patch ExercisePatch

Fields to update on the exercise.

required

Returns:

Type Description
Exercise

The updated exercise.

delete(id_)

Delete an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

notify_students(id_, request)

Send a bulk notification to students assigned to this exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required
request AssignmentBulkCommentInput

Notification content.

required

get_patbas_files(id_)

Retrieve the patbas files for an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

Returns:

Type Description
FileResponse

The file response containing patbas files.

get_patbas_preview(id_)

Retrieve the patbas preview for an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

Returns:

Type Description
FileResponse

The file response containing the patbas preview.

get_preview(id_)

Retrieve the exercise preview file.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

Returns:

Type Description
FileResponse

The file response containing the preview.

get_student_files(id_)

Retrieve the student-facing files for an exercise.

Parameters:

Name Type Description Default
id_ int

The exercise ID.

required

Returns:

Type Description
FileResponse

The file response containing student files.

hivelms_client.handlers.course.exercise_fields_handler.ExerciseFieldsHandler

CRUD handler for exercise form fields.

Functions

search(exercise_id)

Return all fields for an exercise.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required

Returns:

Type Description
list[FormField]

A list of form fields for the exercise.

create(exercise_id, creation_request)

Create a new field on an exercise.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
creation_request FormFieldInput

Data for the field to create.

required

Returns:

Type Description
FormField

The newly created form field.

get(exercise_id, field_id)

Retrieve a single exercise field.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
field_id int

The field ID.

required

Returns:

Type Description
FormField

The matching form field.

update(exercise_id, field_id, field_request)

Fully replace an exercise field.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
field_id int

The field ID.

required
field_request FormFieldInput

Replacement data for the field.

required

Returns:

Type Description
FormField

The updated form field.

patch(exercise_id, field_id, field_patch)

Partially update an exercise field.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
field_id int

The field ID.

required
field_patch FormFieldPatch

Fields to update on the form field.

required

Returns:

Type Description
FormField

The updated form field.

delete(exercise_id, field_id)

Delete an exercise field.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
field_id int

The field ID.

required

duplicate(exercise_id, field_id, duplication_request)

Duplicate an exercise field.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required
field_id int

The field ID to duplicate.

required
duplication_request FormFieldDuplicationRequest

Options controlling the duplication.

required

Returns:

Type Description
FormField

The newly duplicated form field.

list_with_top_results(exercise_id)

Return fields for an exercise annotated with top submission results.

Parameters:

Name Type Description Default
exercise_id int

The exercise ID.

required

Returns:

Type Description
list[FormField]

A list of form fields with top result data.


Help

hivelms_client.handlers.helps.help_handler.HelpHandler

CRUD handler for help threads, with a nested responses sub-handler.

Attributes:

Name Type Description
responses

Handler for help thread responses.

Functions

search(*, created_by=None, current=None, exercise_id=None, exercise_parent_module_id=None, exercise_subject_id=None, free_text=None, help_status_in=None, help_type_in=None, limit=None, offset=None, ordering=None, user_classes_id=None, user_classes_id_in=None, user_id_in=None, user_mentor_id=None, user_mentor_id_in=None, user_program_id_in=None)

search(
    *,
    created_by: int | None = None,
    current: bool | None = None,
    exercise_id: int | None = None,
    exercise_parent_module_id: int | None = None,
    exercise_subject_id: int | None = None,
    free_text: str | None = None,
    help_status_in: list[str] | None = None,
    help_type_in: list[str] | None = None,
    limit: Literal[None] = None,
    offset: int | None = None,
    ordering: str | None = None,
    user_classes_id: int | None = None,
    user_classes_id_in: list[int] | None = None,
    user_id_in: list[int] | None = None,
    user_mentor_id: int | None = None,
    user_mentor_id_in: list[int] | None = None,
    user_program_id_in: list[int] | None = None,
) -> list[Help]
search(
    *,
    created_by: int | None = None,
    current: bool | None = None,
    exercise_id: int | None = None,
    exercise_parent_module_id: int | None = None,
    exercise_subject_id: int | None = None,
    free_text: str | None = None,
    help_status_in: list[str] | None = None,
    help_type_in: list[str] | None = None,
    limit: int,
    offset: int | None = None,
    ordering: str | None = None,
    user_classes_id: int | None = None,
    user_classes_id_in: list[int] | None = None,
    user_id_in: list[int] | None = None,
    user_mentor_id: int | None = None,
    user_mentor_id_in: list[int] | None = None,
    user_program_id_in: list[int] | None = None,
) -> ResultsPage[Help]

Return help threads, paginated when limit is provided.

Parameters:

Name Type Description Default
created_by int | None

Filter by the user ID who created the thread.

None
current bool | None

Filter by whether the thread is current.

None
exercise_id int | None

Filter by the associated exercise ID.

None
exercise_parent_module_id int | None

Filter by the exercise's parent module ID.

None
exercise_subject_id int | None

Filter by the exercise's subject ID.

None
free_text str | None

Full-text search term.

None
help_status_in list[str] | None

Restrict to threads with these statuses.

None
help_type_in list[str] | None

Restrict to threads of these types.

None
limit int | None

Page size; when provided the result is paginated.

None
offset int | None

Pagination offset.

None
ordering str | None

Ordering field.

None
user_classes_id int | None

Filter by the student's class ID.

None
user_classes_id_in list[int] | None

Filter by any of these class IDs.

None
user_id_in list[int] | None

Filter by any of these user IDs.

None
user_mentor_id int | None

Filter by the student's mentor ID.

None
user_mentor_id_in list[int] | None

Filter by any of these mentor IDs.

None
user_program_id_in list[int] | None

Filter by any of these program IDs.

None

Returns:

Type Description
ResultsPage[Help] | list[Help]

A paginated results page when limit is set, otherwise a plain list.

create(help_request)

Create a new help thread.

Parameters:

Name Type Description Default
help_request HelpInput

Data for the help thread to create.

required

Returns:

Type Description
Help

The newly created help thread.

get(id_)

Retrieve a single help thread by ID.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

Returns:

Type Description
Help

The matching help thread.

update(id_, help_request)

Fully replace a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required
help_request HelpInput

Replacement data for the help thread.

required

Returns:

Type Description
Help

The updated help thread.

patch(id_, help_patch)

Partially update a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required
help_patch HelpInput

Fields to update on the help thread.

required

Returns:

Type Description
Help

The updated help thread.

delete(id_)

Delete a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

lock(id_)

Lock a help thread, preventing further responses.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

unlock(id_)

Unlock a help thread to allow responses again.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

subscribe(id_)

Subscribe the current user to a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

unsubscribe(id_)

Unsubscribe the current user from a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

get_top_responses(id_)

Retrieve the top responses for a help thread.

Parameters:

Name Type Description Default
id_ int

The help thread ID.

required

Returns:

Type Description
list[HelpResponseContents]

A list of top response contents.

hivelms_client.handlers.helps.help_responses_handler.HelpResponsesHandler

CRUD handler for help thread responses.

Functions

search(help_id)

Return all responses for a help thread.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required

Returns:

Type Description
list[HelpResponse]

A list of responses for the thread.

create(help_id, response_request)

Create a new response on a help thread.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_request HelpResponseInput

Data for the response to create.

required

Returns:

Type Description
HelpResponse

The newly created response.

get(help_id, response_id)

Retrieve a single response from a help thread.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_id int

The response ID.

required

Returns:

Type Description
HelpResponse

The matching response.

update(help_id, response_id, updated_response)

Fully replace a help thread response.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_id int

The response ID.

required
updated_response HelpResponseInput

Replacement data for the response.

required

Returns:

Type Description
HelpResponse

The updated response.

patch(help_id, response_id, response_patch)

Partially update a help thread response.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_id int

The response ID.

required
response_patch HelpResponsePatch

Fields to update on the response.

required

Returns:

Type Description
HelpResponse

The updated response.

delete(help_id, response_id)

Delete a help thread response.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_id int

The response ID.

required

bulk_respond(response_data, *, created_by=None, current=None, for_exercise__id=None, for_exercise__parent_module__id=None, for_exercise__parent_module__parent_subject__id=None, free_text=None, help_status__in=None, help_type__in=None, ordering=None, user__classes__id=None, user__classes__id__in=None, user__id__in=None, user__mentor__id=None, user__mentor__id__in=None, user__program__id__in=None)

Post the same response to multiple help threads matching the given filters.

Parameters:

Name Type Description Default
response_data HelpResponseInput

The response body to post to each matched thread.

required
created_by int | None

Filter threads by creator user ID.

None
current bool | None

Filter threads by current status.

None
for_exercise__id int | None

Filter threads by exercise ID.

None
for_exercise__parent_module__id int | None

Filter threads by the exercise's module ID.

None
for_exercise__parent_module__parent_subject__id int | None

Filter threads by the exercise's subject ID.

None
free_text str | None

Full-text search term.

None
help_status__in list[str] | None

Restrict to threads with these statuses.

None
help_type__in list[str] | None

Restrict to threads of these types.

None
ordering str | None

Ordering field.

None
user__classes__id int | None

Filter by the student's class ID.

None
user__classes__id__in list[int] | None

Filter by any of these class IDs.

None
user__id__in list[int] | None

Filter by any of these user IDs.

None
user__mentor__id int | None

Filter by the student's mentor ID.

None
user__mentor__id__in list[int] | None

Filter by any of these mentor IDs.

None
user__program__id__in list[int] | None

Filter by any of these program IDs.

None

Returns:

Type Description
list[HelpResponse]

A list of the created responses.

get_files(help_id, response_id)

Retrieve the student files attached to a help response.

Parameters:

Name Type Description Default
help_id int

The help thread ID.

required
response_id int

The response ID.

required

Returns:

Type Description
FileResponse

The file response containing student files.

get_latest(*, help_type_in=None, last_staff_updated_gt=None, user_classes_id=None, user_id_in=None, user_mentor_id=None)

Return the latest help items, optionally filtered.

Parameters:

Name Type Description Default
help_type_in list[str] | None

Restrict to these help types.

None
last_staff_updated_gt str | None

Filter to items updated after this timestamp.

None
user_classes_id int | None

Filter by the student's class ID.

None
user_id_in list[int] | None

Filter by any of these user IDs.

None
user_mentor_id int | None

Filter by the student's mentor ID.

None

Returns:

Type Description
list[HelpLatestItem]

A list of the latest help items.


Management

hivelms_client.handlers.management.users_handler.UsersHandler

CRUD handler for user accounts, with a nested me sub-handler.

Attributes:

Name Type Description
me

Handler for the currently authenticated user's own profile.

Functions

search()

Return all users.

Returns:

Type Description
list[User]

A list of all users.

create(new_user)

Create a new user account.

Parameters:

Name Type Description Default
new_user UserInput

Data for the user to create.

required

Returns:

Type Description
User

The newly created user.

get(id_)

Retrieve a single user by ID.

Parameters:

Name Type Description Default
id_ int

The user ID.

required

Returns:

Type Description
User

The matching user.

update(id_, updated_user)

Fully replace a user account.

Parameters:

Name Type Description Default
id_ int

The user ID.

required
updated_user UserInput

Replacement data for the user.

required

Returns:

Type Description
User

The updated user.

patch(id_, request)

Partially update a user account.

Parameters:

Name Type Description Default
id_ int

The user ID.

required
request UserPatch

Fields to update on the user.

required

Returns:

Type Description
User

The updated user.

delete(id_)

Delete a user account.

Parameters:

Name Type Description Default
id_ int

The user ID.

required

get_avatar(id_)

Retrieve a user's avatar image.

Parameters:

Name Type Description Default
id_ int

The user ID.

required

Returns:

Type Description
FileResponse

The file response containing the avatar.

check_in()

Mark the current user as checked in.

hivelms_client.handlers.management.classes_handler.ClassesHandler

CRUD handler for student classes.

Functions

search()

Return all classes.

Returns:

Type Description
list[Class]

A list of all classes.

create(student_group_request)

Create a new class.

Parameters:

Name Type Description Default
student_group_request ClassInput

Data for the class to create.

required

Returns:

Type Description
Class

The newly created class.

get(id_)

Retrieve a single class by ID.

Parameters:

Name Type Description Default
id_ int

The class ID.

required

Returns:

Type Description
Class

The matching class.

update(id_, student_group_request)

Fully replace a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required
student_group_request ClassInput

Replacement data for the class.

required

Returns:

Type Description
Class

The updated class.

patch(id_, student_group_patch)

Partially update a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required
student_group_patch ClassPatch

Fields to update on the class.

required

Returns:

Type Description
Class

The updated class.

delete(id_)

Delete a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required

auto_seat(id_)

Automatically assign seats for all students in a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required

set_lesson(id_, request)

Assign a lesson to a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required
request SetClassLessonRequest

The lesson assignment details.

required

set_queue(id_, request)

Assign a queue to a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required
request SetClassQueueRequest

The queue assignment details.

required

unassign_override_queues(id_)

Remove all override queue assignments from a class.

Parameters:

Name Type Description Default
id_ int

The class ID.

required

hivelms_client.handlers.management.seating_handler.SeatingHandler

CRUD handler for seating arrangements.

Functions

search()

Return all seating records.

Returns:

Type Description
list[Seating]

A list of all seating arrangements.

create(request)

Create a new seating record.

Parameters:

Name Type Description Default
request SeatingInput

Data for the seating arrangement to create.

required

Returns:

Type Description
Seating

The newly created seating arrangement.

get(id_)

Retrieve a single seating record by ID.

Parameters:

Name Type Description Default
id_ int

The seating record ID.

required

Returns:

Type Description
Seating

The matching seating arrangement.

update(id_, request)

Fully replace a seating record.

Parameters:

Name Type Description Default
id_ int

The seating record ID.

required
request SeatingInput

Replacement data for the seating arrangement.

required

Returns:

Type Description
Seating

The updated seating arrangement.

patch(id_, request)

Partially update a seating record.

Parameters:

Name Type Description Default
id_ int

The seating record ID.

required
request SeatingPatch

Fields to update on the seating arrangement.

required

Returns:

Type Description
Seating

The updated seating arrangement.

delete(id_)

Delete a seating record.

Parameters:

Name Type Description Default
id_ int

The seating record ID.

required

Queues

hivelms_client.handlers.queues.queues_handler.QueuesHandler

CRUD handler for exercise queues, with a nested items sub-handler.

Attributes:

Name Type Description
items

Handler for individual queue items.

Functions

search(*, class_id=None, mentor_id=None, module=None, module_is_null=None, program_id_in=None, user=None, user_is_null=None)

Return queues, optionally filtered by class, mentor, module, or user.

Parameters:

Name Type Description Default
class_id int | None

Filter by class ID.

None
mentor_id int | None

Filter by mentor user ID.

None
module int | None

Filter by module ID.

None
module_is_null bool | None

Filter to queues without a module when True.

None
program_id_in list[int] | None

Restrict to queues belonging to these program IDs.

None
user int | None

Filter by user ID.

None
user_is_null bool | None

Filter to queues without an assigned user when True.

None

Returns:

Type Description
list[Queue]

A list of matching queues.

create(queue)

create(queue: UserQueueInput) -> UserQueue
create(queue: ModuleQueueInput) -> ModuleQueue

Create a new queue (user or module type).

Parameters:

Name Type Description Default
queue QueueInput

Data for the queue to create.

required

Returns:

Type Description
Queue

The newly created queue.

get(id_)

Retrieve a single queue by ID.

Parameters:

Name Type Description Default
id_ int

The queue ID.

required

Returns:

Type Description
Queue

The matching queue.

update(id_, updated_queue)

Fully replace a queue.

Parameters:

Name Type Description Default
id_ int

The queue ID.

required
updated_queue QueueInput

Replacement data for the queue.

required

Returns:

Type Description
Queue

The updated queue.

patch(id_, queue_patch)

Partially update a queue.

Parameters:

Name Type Description Default
id_ int

The queue ID.

required
queue_patch QueuePatch

Fields to update on the queue.

required

Returns:

Type Description
Queue

The updated queue.

delete(id_)

Delete a queue.

Parameters:

Name Type Description Default
id_ int

The queue ID.

required

duplicate(id_, duplication_request)

Duplicate an existing queue.

Parameters:

Name Type Description Default
id_ int

The queue ID to duplicate.

required
duplication_request QueueDuplicationRequest

Options controlling the duplication.

required

Returns:

Type Description
Queue

The newly duplicated queue.

delete_new_assignments(queue_id)

Delete all new (unstarted) assignments in a queue.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required

hivelms_client.handlers.queues.queues_items_handler.QueueItemsHandler

CRUD handler for items within a queue.

Functions

search(queue_id)

Return all items in a queue.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required

Returns:

Type Description
list[QueueItem]

A list of queue items.

create(queue_id, item)

Add a new item to a queue.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item QueueItemInput

Data for the queue item to create.

required

Returns:

Type Description
QueueItem

The newly created queue item.

get(queue_id, item_id)

Retrieve a single queue item.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item_id int

The queue item ID.

required

Returns:

Type Description
QueueItem

The matching queue item.

update(queue_id, item_id, updated_item)

Fully replace a queue item.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item_id int

The queue item ID.

required
updated_item QueueItemInput

Replacement data for the queue item.

required

Returns:

Type Description
QueueItem

The updated queue item.

patch(queue_id, item_id, item_patch)

Partially update a queue item.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item_id int

The queue item ID.

required
item_patch QueueItemPatch

Fields to update on the queue item.

required

Returns:

Type Description
QueueItem

The updated queue item.

delete(queue_id, item_id)

Delete a queue item.

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item_id int

The queue item ID.

required

expand(queue_id, item_id)

Expand a queue item (e.g. unfold its sub-exercises).

Parameters:

Name Type Description Default
queue_id int

The queue ID.

required
item_id int

The queue item ID.

required

move(queue_id, item_id, move_request)

Move a queue item to a different position or queue.

Parameters:

Name Type Description Default
queue_id int

The source queue ID.

required
item_id int

The queue item ID.

required
move_request QueueItemMoveRequest

Target position or queue details.

required

Returns:

Type Description
QueueItem

The moved queue item in its new position.


Schedule

hivelms_client.handlers.schedule.lessons_handler.LessonsHandler

CRUD handler for lessons, with a nested rules sub-handler.

Attributes:

Name Type Description
rules

Handler for lesson recurrence rules.

Functions

search(*, start=None, end=None)

Return lessons, optionally filtered by date range.

Parameters:

Name Type Description Default
start str | None

Return lessons that start on or after this datetime string.

None
end str | None

Return lessons that end on or before this datetime string.

None

Returns:

Type Description
list[Lesson]

A list of matching lessons.

create(creation_request)

Create a new lesson.

Parameters:

Name Type Description Default
creation_request LessonInput

Data for the lesson to create.

required

Returns:

Type Description
Lesson

The newly created lesson.

get(id_)

Retrieve a single lesson by ID.

Parameters:

Name Type Description Default
id_ int

The lesson ID.

required

Returns:

Type Description
Lesson

The matching lesson.

update(id_, update_request)

Fully replace a lesson.

Parameters:

Name Type Description Default
id_ int

The lesson ID.

required
update_request LessonInput

Replacement data for the lesson.

required

Returns:

Type Description
Lesson

The updated lesson.

patch(id_, patch_request)

Partially update a lesson.

Parameters:

Name Type Description Default
id_ int

The lesson ID.

required
patch_request LessonPatch

Fields to update on the lesson.

required

Returns:

Type Description
Lesson

The updated lesson.

delete(id_)

Delete a lesson.

Parameters:

Name Type Description Default
id_ int

The lesson ID.

required

hivelms_client.handlers.schedule.lesson_rules_handler.LessonRulesHandler

CRUD handler for lesson recurrence rules.

Functions

search(lesson_id)

Return all recurrence rules for a lesson.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required

Returns:

Type Description
list[LessonRule]

A list of recurrence rules for the lesson.

create(lesson_id, request)

Create a new recurrence rule on a lesson.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required
request LessonRuleInput

Data for the rule to create.

required

Returns:

Type Description
LessonRule

The newly created lesson rule.

get(lesson_id, id_)

Retrieve a single lesson rule.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required
id_ int

The rule ID.

required

Returns:

Type Description
LessonRule

The matching lesson rule.

update(lesson_id, id_, request)

Fully replace a lesson rule.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required
id_ int

The rule ID.

required
request LessonRuleInput

Replacement data for the rule.

required

Returns:

Type Description
LessonRule

The updated lesson rule.

patch(lesson_id, id_, request)

Partially update a lesson rule.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required
id_ int

The rule ID.

required
request LessonRulePatch

Fields to update on the lesson rule.

required

Returns:

Type Description
LessonRule

The updated lesson rule.

delete(lesson_id, id_)

Delete a lesson rule.

Parameters:

Name Type Description Default
lesson_id int

The lesson ID.

required
id_ int

The rule ID.

required

hivelms_client.handlers.schedule.schedule_events_handler.ScheduleEventsHandler

Read-only handler for schedule events.

Functions

search(*, start=None, end=None, lesson_id=None)

Return schedule events, optionally filtered by date range or lesson.

Parameters:

Name Type Description Default
start str | None

Return events that start on or after this datetime string.

None
end str | None

Return events that end on or before this datetime string.

None
lesson_id int | None

Filter to events belonging to this lesson.

None

Returns:

Type Description
list[Event]

A list of matching schedule events.

get(event_id)

Retrieve a single schedule event by ID.

Parameters:

Name Type Description Default
event_id int

The schedule event ID.

required

Returns:

Type Description
Event

The matching schedule event.

hivelms_client.handlers.schedule.schedule_colors_handler.ScheduleColorsHandler

CRUD handler for schedule event colors.

Functions

search()

Return all event colors.

Returns:

Type Description
list[EventColor]

A list of all event colors.

create(request)

Create a new event color.

Parameters:

Name Type Description Default
request EventColorInput

Data for the event color to create.

required

Returns:

Type Description
EventColor

The newly created event color.

get(id_)

Retrieve a single event color by ID.

Parameters:

Name Type Description Default
id_ int

The event color ID.

required

Returns:

Type Description
EventColor

The matching event color.

update(id_, request)

Fully replace an event color.

Parameters:

Name Type Description Default
id_ int

The event color ID.

required
request EventColorInput

Replacement data for the event color.

required

Returns:

Type Description
EventColor

The updated event color.

patch(id_, request)

Partially update an event color.

Parameters:

Name Type Description Default
id_ int

The event color ID.

required
request EventColorPatch

Fields to update on the event color.

required

Returns:

Type Description
EventColor

The updated event color.

delete(id_)

Delete an event color.

Parameters:

Name Type Description Default
id_ int

The event color ID.

required

hivelms_client.handlers.schedule.daily_review_handler.DailyReviewHandler

Handler for creating daily review modules.

Functions

create(creation_request)

Create a daily review module for a given date.

Parameters:

Name Type Description Default
creation_request DailyReviewInput

Data specifying the daily review to create.

required

Returns:

Type Description
Module

The newly created module for the daily review.


Tags

hivelms_client.handlers.tags.tags_handler.TagsHandler

CRUD handler for exercise tags.

Functions

search()

Return all tags.

Returns:

Type Description
list[Tag]

A list of all tags.

create(tag_request)

Create a new tag.

Parameters:

Name Type Description Default
tag_request TagInput

Data for the tag to create.

required

Returns:

Type Description
Tag

The newly created tag.

get(id_)

Retrieve a single tag by ID.

Parameters:

Name Type Description Default
id_ int

The tag ID.

required

Returns:

Type Description
Tag

The matching tag.

update(id_, tag_request)

Fully replace a tag.

Parameters:

Name Type Description Default
id_ int

The tag ID.

required
tag_request TagInput

Replacement data for the tag.

required

Returns:

Type Description
Tag

The updated tag.

patch(id_, tag_patch)

Partially update a tag.

Parameters:

Name Type Description Default
id_ int

The tag ID.

required
tag_patch TagPatch

Fields to update on the tag.

required

Returns:

Type Description
Tag

The updated tag.

delete(id_)

Delete a tag.

Parameters:

Name Type Description Default
id_ int

The tag ID.

required

Notifications

hivelms_client.handlers.notifications.notification_handler.NotificationHandler

CRUD handler for user notifications.

Functions

search(*, assignment=None, assignment_exercise=None, assignment_exercise_in=None, from_user_isnull=None, help_id=None, help_in=None, was_read=None)

Return notifications, optionally filtered by assignment, help thread, or read status.

Parameters:

Name Type Description Default
assignment int | None

Filter by assignment ID.

None
assignment_exercise int | None

Filter by the assignment's exercise ID.

None
assignment_exercise_in list[int] | None

Filter by any of these exercise IDs.

None
from_user_isnull bool | None

Filter by whether the sender is null.

None
help_id int | None

Filter by help thread ID.

None
help_in list[int] | None

Filter by any of these help thread IDs.

None
was_read bool | None

Filter by read status.

None

Returns:

Type Description
list[Notification]

A list of matching notifications.

create(notification_data)

Create a new notification.

Parameters:

Name Type Description Default
notification_data NotificationInput

Data for the notification to create.

required

Returns:

Type Description
Notification

The newly created notification.

get(id_)

Retrieve a single notification by ID.

Parameters:

Name Type Description Default
id_ int

The notification ID.

required

Returns:

Type Description
Notification

The matching notification.

update(id_, notification_data)

Fully replace a notification.

Parameters:

Name Type Description Default
id_ int

The notification ID.

required
notification_data NotificationInput

Replacement data for the notification.

required

Returns:

Type Description
Notification

The updated notification.

patch(id_, notification_patch)

Partially update a notification.

Parameters:

Name Type Description Default
id_ int

The notification ID.

required
notification_patch NotificationPatch

Fields to update on the notification.

required

Returns:

Type Description
Notification

The updated notification.

delete(id_)

Delete a notification.

Parameters:

Name Type Description Default
id_ int

The notification ID.

required

Token

hivelms_client.handlers.token_handler.TokenHandler

Handler for obtaining and refreshing JWT access tokens.

Functions

create(request)

Fetch a new JWT token pair using credentials.

Parameters:

Name Type Description Default
request AuthTokenRequest

Username and password credentials.

required

Returns:

Type Description
AuthTokenResponse

The access and refresh token pair.

refresh(request)

Obtain a new access token using a refresh token.

Parameters:

Name Type Description Default
request AuthTokenRefreshRequest

The refresh token.

required

Returns:

Type Description
AuthTokenResponse

A new access and refresh token pair.


Time

hivelms_client.handlers.time.time_handler.TimeHandler

Handler for retrieving the server's current time.

Functions

get()

Retrieve the server's current datetime.

Returns:

Type Description
datetime

The server's current datetime.


HTTP Client

hivelms_client.http_client.HiveHttpClient

Authenticated HTTP client that transparently re-authenticates on 401 responses.

Functions

get_subclient(prefix)

Return a new client whose base path is extended by prefix.

Parameters:

Name Type Description Default
prefix str

Path segment to append to the current path prefix.

required

Returns:

Type Description
HiveHttpClient

A new HiveHttpClient scoped to the extended path.

post(path, *, body=None, response_model=None, **params)

post(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: type[TResponse],
    **params: Any,
) -> TResponse
post(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: None,
    **params: Any,
) -> None

Send a POST request.

Parameters:

Name Type Description Default
path str

URL path relative to the client's base path.

required
body BaseModel | None

Optional request body serialized as JSON.

None
response_model type[TResponse] | None

Pydantic model used to deserialize the response.

None
**params Any

Query parameters passed to the request.

{}

Returns:

Type Description
TResponse | None

Deserialized response, or None when response_model is None.

patch(path, *, body=None, response_model=None, **params)

patch(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: type[TResponse],
    **params: Any,
) -> TResponse
patch(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: None,
    **params: Any,
) -> None

Send a PATCH request.

Parameters:

Name Type Description Default
path str

URL path relative to the client's base path.

required
body BaseModel | None

Optional request body serialized as JSON.

None
response_model type[TResponse] | None

Pydantic model used to deserialize the response.

None
**params Any

Query parameters passed to the request.

{}

Returns:

Type Description
TResponse | None

Deserialized response, or None when response_model is None.

put(path, *, body=None, response_model=None, **params)

put(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: type[TResponse],
    **params: Any,
) -> TResponse
put(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: None,
    **params: Any,
) -> None

Send a PUT request.

Parameters:

Name Type Description Default
path str

URL path relative to the client's base path.

required
body BaseModel | None

Optional request body serialized as JSON.

None
response_model type[TResponse] | None

Pydantic model used to deserialize the response.

None
**params Any

Query parameters passed to the request.

{}

Returns:

Type Description
TResponse | None

Deserialized response, or None when response_model is None.

delete(path, *, body=None, response_model=None, **params)

delete(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: type[TResponse],
    **params: Any,
) -> TResponse
delete(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: None,
    **params: Any,
) -> None

Send a DELETE request.

Parameters:

Name Type Description Default
path str

URL path relative to the client's base path.

required
body BaseModel | None

Optional request body serialized as JSON.

None
response_model type[TResponse] | None

Pydantic model used to deserialize the response.

None
**params Any

Query parameters passed to the request.

{}

Returns:

Type Description
TResponse | None

Deserialized response, or None when response_model is None.

get(path, *, body=None, response_model=None, **params)

get(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: type[TResponse],
    **params: Any,
) -> TResponse
get(
    path: str,
    *,
    body: BaseModel | None = ...,
    response_model: None,
    **params: Any,
) -> None

Send a GET request.

Parameters:

Name Type Description Default
path str

URL path relative to the client's base path.

required
body BaseModel | None

Optional request body serialized as JSON.

None
response_model type[TResponse] | None

Pydantic model used to deserialize the response.

None
**params Any

Query parameters passed to the request.

{}

Returns:

Type Description
TResponse | None

Deserialized response, or None when response_model is None.