Skip to content

Models Reference

Complete Pydantic model definitions for every resource.


Common

hivelms_client.models.hive_common.modeling

Core Pydantic base classes and type aliases used across all models.

Classes

ModelType

Bases: StrEnum

Enum classifying a model as input, patch, or response.

Attributes:

Name Type Description
INPUT

Model carries fields for creating a new resource.

PATCH

Model carries fields for partially updating an existing resource.

RESPONSE

Model represents a resource returned by the API.

HiveOption

Bases: StrEnum

StrEnum base class that generates title-cased values from member names.

HiveModel

Bases: BaseModel

Pydantic base model configured to accept both field name and alias.

BaseHiveResource

Bases: BaseModel

Base class for all Hive API resources that have a numeric id.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

hivelms_client.models.hive_common.data_types

Annotated type aliases for common Hive field constraints.

hivelms_client.models.hive_common.pagination

Generic paginated results wrapper.

Classes

ResultsPage

Bases: BaseModel

Generic paginated results page wrapping a list of resources.

Attributes:

Name Type Description
count int

Total number of resources matching the query across all pages.

next HttpUrl | None

URL of the next page, or None if this is the last page.

previous HttpUrl | None

URL of the previous page, or None if this is the first page.

results list[TResource]

Resources on the current page.


Auth

hivelms_client.models.auth

Authentication request and response models.

Classes

AuthTokenRequest

Bases: BaseModel

Request body for obtaining a JWT token pair.

Attributes:

Name Type Description
password str

The user's password.

username str

The user's username.

AuthTokenRefreshRequest

Bases: BaseModel

Request body for refreshing an access token.

Attributes:

Name Type Description
refresh str

The refresh token issued at login.

AuthTokenResponse

Bases: BaseModel

Response containing a JWT refresh and access token pair.

Attributes:

Name Type Description
refresh str

Long-lived refresh token for obtaining new access tokens.

access str

Short-lived access token for authorising API requests.


Assignments

hivelms_client.models.assignments.assignment

Assignment resource models.

Classes

AssignmentNotification

Bases: BaseHiveResource

Notification summary attached to an assignment.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

user ResourceId

ID of the student the notification belongs to.

user_name str

Display name of the student.

exercise ResourceId

ID of the related exercise.

module ResourceId

ID of the parent module.

subject ResourceId

ID of the parent subject.

last_staff_updated datetime

Timestamp of the last staff action.

AssignmentInput

Bases: HiveModel

Input payload for creating an assignment.

Attributes:

Name Type Description
assignment_status AssignmentStatus

Teacher-visible status of the assignment.

student_assignment_status AssignmentStatus | None

Student-visible status override.

description str

Free-text notes on the assignment.

submission_count int

Number of submissions made.

total_check_count int

Total number of checks performed.

manual_check_count int

Number of manual checks performed.

flagged bool

Whether the assignment is flagged for attention.

timer str | None

Optional timer string associated with the assignment.

Assignment

Bases: BaseHiveResource

Full assignment resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

assignment_status AssignmentStatus

Teacher-visible status of the assignment.

student_assignment_status AssignmentStatus | None

Student-visible status override.

description str

Free-text notes on the assignment.

submission_count int

Number of submissions made.

total_check_count int

Total number of checks performed.

manual_check_count int

Number of manual checks performed.

flagged bool

Whether the assignment is flagged for attention.

timer str | None

Optional timer string associated with the assignment.

user ResourceId

ID of the student who owns the assignment.

checker ResourceId | None

ID of the checker assigned to review it, if any.

checker_first_name str | None

First name of the assigned checker.

checker_last_name str | None

Last name of the assigned checker.

is_subscribed bool

Whether the current user is subscribed to updates.

exercise ResourceId

ID of the exercise being assigned.

reveal_solution_to_student Annotated[bool, Field(alias=patbas)]

Whether the solution is visible to the student.

notifications list[NestedNotification]

Nested notification summaries attached to this assignment.

last_staff_updated datetime

Timestamp of the last staff action.

work_time int

Cumulative work time in seconds.

AssignmentPatch

Bases: HiveModel

Partial update payload for an assignment.

Attributes:

Name Type Description
assignment_status AssignmentStatus

Teacher-visible status of the assignment.

student_assignment_status AssignmentStatus | None

Student-visible status override.

description str

Free-text notes on the assignment.

submission_count int

Number of submissions made.

total_check_count int

Total number of checks performed.

manual_check_count int

Number of manual checks performed.

flagged bool

Whether the assignment is flagged for attention.

timer str | None

Optional timer string associated with the assignment.

hivelms_client.models.assignments.assignment_response

Assignment response resource models.

Classes

AssignmentResponseType

Bases: HiveOption

Enum of possible response types on an assignment.

Attributes:

Name Type Description
COMMENT

A free-text comment left by staff or the student.

WORK_IN_PROGRESS

Student saved intermediate progress without submitting.

SUBMISSION

Student formally submitted their work for review.

AUTOCHECK

An automated grading run was triggered for this response.

REDO

Teacher requested the student revise and resubmit.

DONE

Teacher marked the assignment as complete.

AssignmentResponseContents

Bases: BaseModel

A single field-content pair within a response.

Attributes:

Name Type Description
content str

The text content submitted for the field.

field ResourceId

ID of the form field this content belongs to.

AssignmentResponseCore

Bases: BaseModel

Shared core fields for all assignment response variants.

Attributes:

Name Type Description
response_type AssignmentResponseType

Category of this response (e.g. submission, comment).

contents list[AssignmentResponseContents]

List of field-content pairs submitted with this response.

AssignmentResponse

Bases: AssignmentResponseCore, BaseHiveResource

Full assignment response resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

response_type AssignmentResponseType

Category of this response (e.g. submission, comment).

contents list[AssignmentResponseContents]

List of field-content pairs submitted with this response.

file_name str

Name of the attached file, if any.

dear_student bool

Whether this response is addressed directly to the student.

hide_checker_name bool

Whether the checker's identity is hidden from the student.

segel_only bool

Whether this response is visible to staff only.

user ResourceId

ID of the user who authored this response.

date datetime

Timestamp when the response was created.

autocheck_statuses list[AutocheckStatus] | None

List of autocheck events triggered by this response.

AssignmentResponseInput

Bases: AssignmentResponseCore

Input payload for creating an assignment response.

Attributes:

Name Type Description
response_type AssignmentResponseType

Category of this response (e.g. submission, comment).

contents list[AssignmentResponseContents]

List of field-content pairs submitted with this response.

file_name str

Name of the file to attach.

dear_student bool

Address this response directly to the student.

hide_checker_name bool

Hide the checker's identity from the student.

segel_only bool

Restrict visibility to staff only.

file InlineBytes | None

Raw file bytes to attach, serialised as a base64 data URI.

AssignmentBulkCommentInput

Bases: AssignmentResponseInput

Input payload for posting a bulk comment across multiple classes.

Attributes:

Name Type Description
response_type AssignmentResponseType

Category of this response (e.g. submission, comment).

contents list[AssignmentResponseContents]

List of field-content pairs submitted with this response.

file_name str

Name of the file to attach.

dear_student bool

Address this response directly to the student.

hide_checker_name bool

Hide the checker's identity from the student.

segel_only bool

Restrict visibility to staff only.

file InlineBytes | None

Raw file bytes to attach, serialised as a base64 data URI.

currently_assigned bool

Restrict the bulk comment to currently-assigned students only.

classes list[ResourceId]

IDs of the classes to target with the bulk comment.

AssignmentResponsePatch

Bases: AssignmentResponseCore

Partial update payload for an assignment response.

Attributes:

Name Type Description
response_type AssignmentResponseType

Category of this response.

contents list[AssignmentResponseContents]

List of field-content pairs to update.

file_name str

Name of the replacement file.

dear_student bool

Address this response directly to the student.

hide_checker_name bool

Hide the checker's identity from the student.

segel_only bool

Restrict visibility to staff only.

file InlineBytes | None

Raw replacement file bytes, serialised as a base64 data URI.

hivelms_client.models.assignments.assignment_status

Assignment status enumeration.

Classes

AssignmentStatus

Bases: HiveOption

Enum of possible states for an assignment.

Attributes:

Name Type Description
NEW

Assignment has been created but the student has not yet started.

WORK_IN_PROGRESS

Student has saved progress but not yet submitted.

REDO

Teacher has sent the assignment back for revision.

SUBMITTED

Student has submitted their work for review.

AUTOCHECKED

Automated grading has been run on the submission.

DONE

Assignment has been reviewed and marked complete.

hivelms_client.models.assignments.autocheck_status

Autocheck action and status models.

Classes

AutocheckAction

Bases: HiveOption

Enum of actions produced during an autocheck run.

Attributes:

Name Type Description
HANDLING

The autocheck runner has picked up the submission.

NO_CHECK

No autocheck configuration exists for this exercise; skipped.

BUILT

The submission was successfully built.

FINISHED

The autocheck run has completed all steps.

SENDING

Results are being dispatched back to the server.

ERROR

An error occurred during the autocheck run.

SUCCESS

The autocheck run completed and all checks passed.

AutocheckStatus

Bases: BaseModel

A timestamped autocheck event for a submission.

Attributes:

Name Type Description
id int

Unique identifier for this autocheck status record.

time datetime

Timestamp when the autocheck action occurred.

action AutocheckAction

The autocheck action that was taken.

payload str | None

Optional extra data produced by the action.


Course

hivelms_client.models.course.program

Program resource models.

Classes

ProgramCore

Bases: BaseModel

Shared core fields for a program.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe display name of the program.

checker ResourceId

ID of the default checker assigned to this program.

Program

Bases: BaseHiveResource, ProgramCore

Full program resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name HiveFilenameComponent

Filename-safe display name of the program.

checker ResourceId

ID of the default checker assigned to this program.

default_class ResourceId | None

ID of the default class for new students, if set.

auto_toilet bool

Whether toilet requests are handled automatically.

allow_raising_hands RaiseHand

Whether students can raise their hands via the UI.

auto_schedule bool

Whether the schedule is generated automatically.

auto_room bool

Whether room assignment is automatic.

show_one_day_schedule ShowOneDaySchedule

Whether students see only today's schedule.

show_lesson_names ShowLessonNames

Whether lesson names are visible to students.

auto_toilet_count int

Maximum concurrent automatic toilet allowances.

hanich_classes_only bool

Whether students see only their own classes.

hanich_schedule bool

Whether students have access to the schedule view.

sync_status SyncStatus

Current GitLab synchronisation state.

sync_message str

Human-readable message describing the sync state.

ProgramInput

Bases: ProgramCore

Input payload for creating a program.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe display name of the program.

checker ResourceId

ID of the default checker assigned to this program.

default_class int | None

ID of the default class for new students.

auto_toilet bool

Whether toilet requests are handled automatically.

allow_raising_hands RaiseHand

Whether students can raise their hands via the UI.

auto_schedule bool

Whether the schedule is generated automatically.

auto_room bool

Whether room assignment is automatic.

show_one_day_schedule ShowOneDaySchedule

Whether students see only today's schedule.

show_lesson_names ShowLessonNames

Whether lesson names are visible to students.

auto_toilet_count int

Maximum concurrent automatic toilet allowances.

hanich_classes_only bool

Whether students see only their own classes.

hanich_schedule bool

Whether students have access to the schedule view.

ProgramPatch

Bases: ProgramCore

Partial update payload for a program.

Attributes:

Name Type Description
name HiveFilenameComponent

Replacement filename-safe name.

checker int

Replacement default checker ID.

default_class int | None

Replacement default class ID.

auto_toilet bool

Whether toilet requests are handled automatically.

allow_raising_hands RaiseHand

Whether students can raise their hands via the UI.

auto_schedule bool

Whether the schedule is generated automatically.

auto_room bool

Whether room assignment is automatic.

show_one_day_schedule ShowOneDaySchedule

Whether students see only today's schedule.

show_lesson_names ShowLessonNames

Whether lesson names are visible to students.

auto_toilet_count int

Maximum concurrent automatic toilet allowances.

hanich_classes_only bool

Whether students see only their own classes.

hanich_schedule bool

Whether students have access to the schedule view.

hivelms_client.models.course.subject

Subject resource models.

Classes

SubjectCore

Bases: BaseModel

Shared core fields for a subject.

Attributes:

Name Type Description
symbol SubjectSymbol

Short identifier symbol for the subject (e.g. "ל").

parent_program ResourceId

ID of the program this subject belongs to.

color Color

Hex colour string used to represent the subject in the UI.

name SubjectName

Human-readable name of the subject.

Subject

Bases: SubjectCore

Full subject resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

parent_program_name str

Display name of the parent program.

sync_status SyncStatus

Current GitLab synchronisation state.

sync_message str | None

Human-readable message describing the sync state.

segel_path str | None

Filesystem path to the subject on the staff server.

SubjectInput

Bases: SubjectCore

Input payload for creating a subject.

Attributes:

Name Type Description
symbol SubjectSymbol

Short identifier symbol for the subject (e.g. "ל").

parent_program ResourceId

ID of the program this subject belongs to.

color Color

Hex colour string used to represent the subject in the UI.

name SubjectName

Human-readable name of the subject.

SubjectPatch

Bases: BaseModel

Partial update payload for a subject.

Attributes:

Name Type Description
symbol SubjectSymbol

Replacement short identifier symbol.

parent_program ResourceId

Replacement parent program ID.

color Color

Replacement hex colour string.

name SubjectName

Replacement human-readable name.

hivelms_client.models.course.module

Module resource models.

Classes

ModuleCore

Bases: HiveModel

Shared core fields for a course module.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe display name of the module.

parent_subject int

ID of the subject this module belongs to.

order HiveFilenameComponent

Ordering key within the parent subject.

Module

Bases: ModuleCore, BaseHiveResource

Full module resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name HiveFilenameComponent

Filename-safe display name of the module.

parent_subject int

ID of the subject this module belongs to.

order HiveFilenameComponent

Ordering key within the parent subject.

sync_status SyncStatus

Current GitLab synchronisation state.

sync_message str

Human-readable message describing the sync state.

parent_program_name str

Display name of the grandparent program.

parent_subject_name str

Display name of the parent subject.

parent_subject_symbol str

Symbol identifier of the parent subject.

segel_path str

Filesystem path to the module on the staff server.

ModuleInput

Bases: ModuleCore

Input payload for creating a module.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe display name of the module.

parent_subject int

ID of the subject this module belongs to.

order HiveFilenameComponent

Ordering key within the parent subject.

ModulePatch

Bases: BaseModel

Partial update payload for a module.

Attributes:

Name Type Description
name HiveFilenameComponent

Replacement filename-safe name.

parent_subject int

Replacement parent subject ID.

order HiveFilenameComponent

Replacement ordering key within the parent subject.

hivelms_client.models.course.exercise.exercise

Exercise resource models.

Classes

ExerciseCore

Bases: HiveModel

Shared core fields common to all exercise variants.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe name of the exercise.

parent_module ResourceId

ID of the module this exercise belongs to.

download bool

Whether students can download exercise materials.

preview ExercisePreviewMode

How exercise content is previewed for students.

patbas SolutionRevealCondition

Condition under which the solution is revealed to students.

order HiveFilenameComponent

Ordering key within the parent module.

tags list[str]

List of tag names attached to this exercise.

patbas_preview ExercisePreviewMode

Preview mode applied to the revealed solution.

patbas_download bool

Whether the solution is downloadable when revealed.

is_lecture bool

Whether this exercise is a lecture rather than a task.

style ExerciseStyle | None

Optional CSS class or style string for display customisation.

on_creation_data ExerciseMetadata

Metadata used when provisioning exercise resources on creation.

autocheck_tag OptionalString[DockerTag]

Docker image tag for the autocheck runner, if any.

autodone bool

Whether the exercise is automatically marked done after autocheck passes.

expected_duration HiveDuration | None

Expected time to complete the exercise.

segel_brief str

Staff-facing brief description of the exercise.

Exercise

Bases: ExerciseCore, BaseHiveResource

Full exercise resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name HiveFilenameComponent

Filename-safe name of the exercise.

parent_module ResourceId

ID of the module this exercise belongs to.

download bool

Whether students can download exercise materials.

preview ExercisePreviewMode

How exercise content is previewed for students.

patbas SolutionRevealCondition

Condition under which the solution is revealed to students.

order HiveFilenameComponent

Ordering key within the parent module.

tags list[str]

List of tag names attached to this exercise.

patbas_preview ExercisePreviewMode

Preview mode applied to the revealed solution.

patbas_download bool

Whether the solution is downloadable when revealed.

is_lecture bool

Whether this exercise is a lecture rather than a task.

style ExerciseStyle | None

Optional CSS class or style string for display customisation.

on_creation_data ExerciseMetadata

Metadata used when provisioning exercise resources on creation.

autocheck_tag OptionalString[DockerTag]

Docker image tag for the autocheck runner, if any.

autodone bool

Whether the exercise is automatically marked done after autocheck passes.

expected_duration HiveDuration | None

Expected time to complete the exercise.

segel_brief str

Staff-facing brief description of the exercise.

parent_subject ResourceId

ID of the subject this exercise belongs to.

parent_module_name str

Display name of the parent module.

parent_subject_symbol str

Symbol identifier of the parent subject.

parent_subject_color HiveColor

Hex colour of the parent subject.

parent_subject_name str

Display name of the parent subject.

parent_module_order str

Ordering key of the parent module.

segel_path str

Filesystem path to the exercise on the staff server.

sync_status SyncStatus

Current GitLab synchronisation state.

sync_message str

Human-readable message describing the sync state.

ExerciseInput

Bases: ExerciseCore

Input payload for creating an exercise.

Attributes:

Name Type Description
name HiveFilenameComponent

Filename-safe name of the exercise.

parent_module ResourceId

ID of the module this exercise belongs to.

download bool

Whether students can download exercise materials.

preview ExercisePreviewMode

How exercise content is previewed for students.

patbas SolutionRevealCondition

Condition under which the solution is revealed to students.

order HiveFilenameComponent

Ordering key within the parent module.

tags list[str]

List of tag names attached to this exercise.

patbas_preview ExercisePreviewMode

Preview mode applied to the revealed solution.

patbas_download bool

Whether the solution is downloadable when revealed.

is_lecture bool

Whether this exercise is a lecture rather than a task.

style ExerciseStyle

Optional CSS class or style string for display customisation.

on_creation_data ExerciseMetadata

Metadata used when provisioning exercise resources on creation.

autocheck_tag OptionalString[DockerTag]

Docker image tag for the autocheck runner, if any.

autodone bool

Whether the exercise is automatically marked done after autocheck passes.

expected_duration HiveDuration | None

Expected time to complete the exercise.

segel_brief str

Staff-facing brief description of the exercise.

ExercisePatch

Bases: BaseModel

Partial update payload for an exercise.

Attributes:

Name Type Description
name HiveFilenameComponent

Replacement filename-safe name.

parent_module ResourceId

Replacement parent module ID.

download bool

Whether students can download exercise materials.

preview ExercisePreviewMode

How exercise content is previewed for students.

patbas SolutionRevealCondition

Condition under which the solution is revealed to students.

order HiveFilenameComponent

Replacement ordering key within the parent module.

tags list[str]

Replacement list of tag names.

patbas_preview ExercisePreviewMode

Preview mode applied to the revealed solution.

patbas_download bool

Whether the solution is downloadable when revealed.

is_lecture bool

Whether this exercise is a lecture rather than a task.

style ExerciseStyle | None

Replacement CSS class or style string.

on_creation_data ExerciseMetadata

Replacement exercise creation metadata.

autocheck_tag OptionalString[DockerTag]

Replacement Docker image tag for the autocheck runner.

autodone bool

Whether to auto-mark done after autocheck passes.

expected_duration HiveDuration | None

Replacement expected duration.

segel_brief str

Replacement staff-facing brief description.

hivelms_client.models.course.exercise.exercise_options

Exercise option enumerations.

Classes

ExercisePreviewMode

Bases: HiveOption

Enum controlling how exercise content is previewed.

Attributes:

Name Type Description
DISABLED

No preview is shown; students must download the content.

MARKDOWN

Content is rendered as Markdown in the browser.

PDF

Content is displayed as an embedded PDF viewer.

SolutionRevealCondition

Bases: HiveOption

Enum defining when the solution may be revealed to students.

Attributes:

Name Type Description
NEVER

The solution is never shown to students.

ON_DONE

The solution becomes visible once the assignment is marked done.

ALWAYS

The solution is always visible to students.

STAFF_ONLY

The solution is restricted to staff and never shown to students.

SyncStatus

Bases: HiveOption

Enum representing the GitLab sync state of a course resource.

Attributes:

Name Type Description
CREATING

GitLab repository creation is in progress.

DELETING

GitLab repository deletion is in progress.

NORMAL

The resource is fully synced with its GitLab repository.

ERROR

An error occurred during the last GitLab sync operation.

hivelms_client.models.course.exercise.exercise_metadata

Exercise metadata models for GitLab and autocheck configuration.

Classes

ExerciseGitlabParameters

Bases: HiveModel

GitLab repository parameters used when creating an exercise.

Attributes:

Name Type Description
namespace str

GitLab namespace (group or user) in which to create the repo.

source_repo str

URL or path of the template repository to fork from.

new_repo_name str

Name for the newly created repository.

base_branch_name str

Name of the base/solution branch.

work_branch_name str

Name of the student work branch.

detailed_instructions bool

Whether to include detailed instructions in the repo.

ExerciseMetadata

Bases: HiveModel

Metadata bag for exercise creation, covering GitLab and autocheck config.

Attributes:

Name Type Description
gitlab ExerciseGitlabParameters

GitLab repository parameters for this exercise.

autocheck dict[str, Any]

Arbitrary autocheck configuration passed to the grading runner.

hivelms_client.models.course.exercise.form_field

Form field models for exercise submission fields.

Classes

FormFieldType

Bases: HiveOption

Enum of supported form field types.

Attributes:

Name Type Description
TEXT

A free-text input field accepting arbitrary string content.

NUMBER

A numeric input field accepting integer values.

MULTIPLE

A single-choice field presented as a radio button group.

MULTI_RESPONSE

A multi-choice field allowing multiple selections.

BaseFormFieldCore

Bases: HiveModel

Shared core fields for all form field types.

Attributes:

Name Type Description
name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

BaseFormFieldInput

Bases: BaseFormFieldCore

Base input payload for creating any form field.

Attributes:

Name Type Description
description str

Human-readable label shown to the student.

metadata FormFieldMetadata

Arbitrary extra metadata for the field.

groups list[ResourceId]

IDs of form groups to assign this field to.

UnfillableFormFieldCore

Bases: BaseFormFieldCore

Core mixin for form fields that cannot hold a student value.

Attributes:

Name Type Description
type FormFieldType

Discriminator field identifying the form field kind.

has_value Literal[False]

Always False; marks this field as unfillable.

BaseFillableFormFieldCore

Bases: BaseFormFieldCore

Core mixin for form fields that accept a student value.

Attributes:

Name Type Description
has_value Literal[True]

Always True; marks this field as fillable.

TextFormFieldCore

Bases: BaseFillableFormFieldCore

Core mixin for a free-text form field.

Attributes:

Name Type Description
type Literal[TEXT]

Discriminator literal identifying this as a text field.

NumericFormFieldCore

Bases: BaseFillableFormFieldCore

Core mixin for a numeric form field with optional range limits.

Attributes:

Name Type Description
type Literal[NUMBER]

Discriminator literal identifying this as a numeric field.

lower_limit int | None

Minimum accepted value, or None for no lower bound.

upper_limit int | None

Maximum accepted value, or None for no upper bound.

ChoicesFormFieldCore

Bases: BaseFillableFormFieldCore

Core mixin for form fields that present a list of choices.

Attributes:

Name Type Description
type Literal[MULTIPLE, MULTI_RESPONSE]

Discriminator literal identifying this as a choices-based field.

choices list[str]

Ordered list of option strings the student can select from.

RadioFormFieldCore

Bases: ChoicesFormFieldCore

Core mixin for a single-choice (radio) form field.

Attributes:

Name Type Description
type Literal[MULTIPLE]

Discriminator literal identifying this as a radio field.

CheckboxesFormFieldCore

Bases: ChoicesFormFieldCore

Core mixin for a multi-choice (checkboxes) form field.

Attributes:

Name Type Description
type Literal[MULTI_RESPONSE]

Discriminator literal identifying this as a checkboxes field.

UnfillableFormFieldInput

Bases: BaseFormFieldInput, UnfillableFormFieldCore

Input payload for creating an unfillable form field.

TextFormFieldInput

Bases: BaseFormFieldInput, TextFormFieldCore

Input payload for creating a text form field.

NumericFormFieldInput

Bases: BaseFormFieldInput, NumericFormFieldCore

Input payload for creating a numeric form field.

RadioFormFieldInput

Bases: BaseFormFieldInput, RadioFormFieldCore

Input payload for creating a radio (single-choice) form field.

CheckboxesFormFieldInput

Bases: BaseFormFieldInput, CheckboxesFormFieldCore

Input payload for creating a checkboxes (multi-choice) form field.

UnfillableFormField

Bases: UnfillableFormFieldCore, BaseHiveResource

Unfillable form field resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

type FormFieldType

Discriminator field identifying the form field kind.

has_value Literal[False]

Always False; marks this field as unfillable.

TextFormField

Bases: TextFormFieldCore, BaseHiveResource

Text form field resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

has_value Literal[True]

Always True; marks this field as fillable.

type Literal[TEXT]

Discriminator literal identifying this as a text field.

NumericFormField

Bases: NumericFormFieldCore, BaseHiveResource

Numeric form field resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

has_value Literal[True]

Always True; marks this field as fillable.

type Literal[NUMBER]

Discriminator literal identifying this as a numeric field.

lower_limit int | None

Minimum accepted value, or None for no lower bound.

upper_limit int | None

Maximum accepted value, or None for no upper bound.

RadioFormField

Bases: RadioFormFieldCore, BaseHiveResource

Radio form field resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

has_value Literal[True]

Always True; marks this field as fillable.

type Literal[MULTIPLE]

Discriminator literal identifying this as a radio field.

choices list[str]

Ordered list of option strings the student can select from.

CheckboxesFormField

Bases: CheckboxesFormFieldCore, BaseHiveResource

Checkboxes form field resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Internal name of the field used as a key in submissions.

description str

Human-readable label shown to the student.

order int

Display order within the exercise form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Arbitrary extra metadata attached to the field.

groups list[ResourceId]

IDs of form groups this field belongs to.

has_value Literal[True]

Always True; marks this field as fillable.

type Literal[MULTI_RESPONSE]

Discriminator literal identifying this as a checkboxes field.

choices list[str]

Ordered list of option strings the student can select from.

FormFieldPatch

Bases: BaseModel

Partial update payload for a form field.

Attributes:

Name Type Description
name str

Replacement internal field name.

order int

Replacement display order within the form.

required bool

Whether the student must fill in this field.

staff_responses bool

Whether staff can respond using this field.

hanich_responses bool

Whether students can respond using this field.

has_value bool

Whether this field accepts a student value.

type FormFieldType

Replacement field type discriminator.

description str

Replacement human-readable label.

lower_limit int | None

Replacement minimum accepted value for numeric fields.

upper_limit int | None

Replacement maximum accepted value for numeric fields.

choices list[str] | None

Replacement list of selectable options.

segel_only bool

Whether this field is visible to staff only.

metadata FormFieldMetadata

Replacement extra metadata.

groups list[ResourceId]

Replacement list of form group IDs.

FormFieldTopResponse

Bases: BaseHiveResource

Most common student responses for a given form field.

Attributes:

Name Type Description
name str

Internal name of the form field.

top_results list[str] | None

Most frequently submitted values, or None if unavailable.

FormFieldDuplicationRequest

Bases: BaseModel

Request body for duplicating a form field under a new name.

Attributes:

Name Type Description
name Annotated[str, StringConstraints(min_length=1)]

Name to give the newly duplicated form field.


Help

hivelms_client.models.help.help

Help thread resource models.

Classes

HelpType

Bases: HiveOption

Enum of help request categories.

Attributes:

Name Type Description
EXERCISE

Help request related to a specific exercise.

MEDICAL

Student is requesting help for a medical reason.

ERROR

Student is reporting a technical error or bug.

MUSIC

Request related to music or background audio in the classroom.

REQUEST

A general request directed at staff.

OTHER

Any help request that does not fit another category.

CHAT

An chat thread opened by staff.

HelpStatus

Bases: HiveOption

Enum of possible states for a help thread.

Attributes:

Name Type Description
RESOLVED

The help thread has been addressed and closed by staff.

OPEN

The help thread is awaiting a staff response.

HelpVisibility

Bases: HiveOption

Enum controlling who can see a help thread.

Attributes:

Name Type Description
ALL_STAFF

Visible to all staff members.

ALL_STAFF_AND_CHECKERS

Visible to staff and checkers.

AUTHOR_ONLY

Visible only to the student who opened the thread.

HelpCore

Bases: BaseModel

Minimal shared fields for a help thread.

Attributes:

Name Type Description
user ResourceId

ID of the student who opened the help thread.

help_type HelpType

Category of the help request.

HelpInput

Bases: HelpCore

Input payload for opening a help thread.

Attributes:

Name Type Description
user ResourceId

ID of the student who opened the help thread.

help_type HelpType

Category of the help request.

title HelpTitle

Short title summarising the help request.

visibility HelpVisibility

Who is allowed to see this help thread.

exercise_id int | None

ID of the exercise this help request relates to, if any.

Help

Bases: HelpCore, BaseHiveResource

Full help thread resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

user ResourceId

ID of the student who opened the help thread.

help_type HelpType

Category of the help request.

title HelpTitle

Short title summarising the help request.

visibility HelpVisibility

Who is allowed to see this help thread.

is_subscribed bool

Whether current user is subscribed to this help.

for_exercise Exercise | None

Full exercise resource this thread relates to, if any.

checker ResourceId | None

ID of the checker handling this thread, if assigned.

checker_first_name str | None

First name of the assigned checker.

checker_last_name str | None

Last name of the assigned checker.

help_status HelpStatus

Current open/resolved state of the thread.

responses list[HelpResponse]

Ordered list of responses within this thread.

notifications list[NestedNotification]

Nested notification summaries attached to this thread.

Attributes
is_subscribed instance-attribute

Whether current user is subscribed to this help.

HelpPatch

Bases: BaseModel

Partial update payload for a help thread.

Attributes:

Name Type Description
user ResourceId

Replacement student ID for the thread owner.

title HelpTitle

Replacement title for the help thread.

help_type HelpType

Replacement category for the help request.

visibility HelpVisibility

Replacement visibility setting.

exercise_id int | None

Replacement exercise ID, or None to clear it.

HelpNotification

Bases: BaseModel

A notification event associated with a help thread.

Attributes:

Name Type Description
id int

Unique identifier for this notification record.

help_id int

ID of the related help thread.

user int

ID of the user this notification is for.

date str | None

ISO timestamp string of the notification, if available.

message str | None

Optional human-readable notification message.

HelpLatestItem

Bases: BaseModel

Summary of the most-recently-updated help thread for a user.

Attributes:

Name Type Description
id int

ID of the help thread.

user_name str

Display name of the student who opened the thread.

last_staff_updated datetime

Timestamp of the last staff action on the thread.

hivelms_client.models.help.help_response

Help thread response resource models.

Classes

HelpResponseType

Bases: HiveOption

Enum of possible response actions on a help thread.

Attributes:

Name Type Description
RESOLVE

Staff marked the help thread as resolved.

OPEN

Staff or student reopened a previously resolved thread.

COMMENT

A comment was posted without changing the thread's status.

HelpResponse

Bases: BaseHiveResource

A single response entry within a help thread.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

response_type HelpResponseType

Action taken in this response (resolve, open, or comment).

contents str | None

Text body of the response, if any.

file_name str

Name of the attached file.

dear_student bool

Whether this response is addressed directly to the student.

segel_only bool

Whether this response is visible to staff only.

hide_checker_name bool

Whether the checker's identity is hidden from the student.

user ResourceId

ID of the user who authored this response.

date str

Timestamp string when the response was created.

HelpResponseInput

Bases: HiveModel

Input payload for creating a help thread response.

Attributes:

Name Type Description
response_type HelpResponseType

Action to record for this response.

contents str | None

Text body of the response.

file_name str

Name of the file to attach.

dear_student bool

Address this response directly to the student.

segel_only bool

Restrict visibility to staff only.

hide_checker_name bool

Hide the checker's identity from the student.

file InlineBytes

Raw file bytes to attach, serialised as a base64 data URI.

HelpResponseContents

Bases: HiveModel

Wraps the text contents of a help response.

Attributes:

Name Type Description
contents str | None

Text body of the response, or None if absent.

HelpResponsePatch

Bases: HiveModel

Partial update payload for a help thread response.

Attributes:

Name Type Description
response_type HelpResponseType

Replacement action for this response.

contents str | None

Replacement text body.

file_name str

Replacement file name.

dear_student bool

Address this response directly to the student.

segel_only bool

Restrict visibility to staff only.

hide_checker_name bool

Hide the checker's identity from the student.


Management

hivelms_client.models.management.users.user

Discriminated union types and patch model for all user variants.

Classes

UserPatch

Bases: BaseModel

Partial update payload for any user, admin-facing.

Attributes:

Name Type Description
clearance Clearance

Replacement permission level.

avatar InlineBytes

Raw replacement avatar image bytes.

avatar_filename str

Replacement avatar filename.

gender Gender

Replacement gender.

number int | None

Replacement roll number, or None to clear.

program ResourceId | None

Replacement program ID, or None to clear.

checkers_brief str

Replacement staff-facing notes for checkers.

mentor ResourceId | None

Replacement mentor ID, or None to clear.

classes list[ResourceId]

Replacement list of class IDs.

mentees list[ResourceId]

Replacement list of mentee IDs.

username Username

Replacement username.

first_name str

Replacement first name.

last_name str

Replacement last name.

status StudentStatus

Replacement presence status.

queue ResourceId | None

Replacement class queue ID, or None to clear.

disable_queue bool

Whether to disable the class queue.

user_queue ResourceId

Replacement personal queue ID.

disable_user_queue bool | None

Whether to disable the personal queue, or None.

override_queue ResourceId | None

Replacement override queue ID, or None to clear.

confirmed bool

Whether to mark the account as confirmed.

teacher bool

Whether the account has teacher privileges.

hostname str

Replacement machine hostname.

password str

Replacement password.

hivelms_client.models.management.users.base_user

Base user resource models shared across all clearance levels.

Classes

BaseUserInput

Bases: HiveModel

Input payload shared by all user types.

Attributes:

Name Type Description
username Username

Unique username for the account.

password str

Account password.

clearance Clearance

Permission level assigned to the user.

gender Gender

User's gender.

status StudentStatus

Initial real-time presence status.

first_name str | None

User's first name.

last_name str | None

User's last name.

avatar_filename str | None

Filename of the user's avatar image.

hostname str | None

Hostname of the machine associated with this user.

avatar InlineBytes | None

Raw avatar image bytes, serialised as a base64 data URI.

BaseUser

Bases: BaseHiveResource

Base user resource fields returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username Username

Unique username for the account.

first_name str | None

User's first name, or None if not set.

last_name str | None

User's last name, or None if not set.

clearance Clearance

Permission level assigned to the user.

gender Gender

User's gender.

avatar_filename str | None

Filename of the user's avatar image, or None.

hostname str | None

Hostname of the machine associated with this user, or None.

display_name str

Formatted display name shown in the UI.

hivelms_client.models.management.users.student

Student user models.

Classes

StudentAssignmentOptions

Bases: BaseModel

A selectable assignment option presented to a student in a choose-queue.

Attributes:

Name Type Description
id int

ID of the assignment option.

exercise int

ID of the exercise.

exercise_name str

Display name of the exercise.

parent_module int

ID of the module the exercise belongs to.

parent_subject int

ID of the subject the exercise belongs to.

parent_module_name str

Display name of the parent module.

parent_subject_symbol str

Symbol identifier of the parent subject.

parent_subject_color str

Hex colour of the parent subject.

assignment_status AssignmentStatus

Current status of this assignment.

StudentUserInput

Bases: BaseUserInput

Input payload for creating a student user.

Attributes:

Name Type Description
username Username

Unique username for the account.

password str

Account password.

clearance Literal[STUDENT]

Must be Clearance.STUDENT; enforced at the type level.

gender Gender

User's gender.

first_name str | None

User's first name.

last_name str | None

User's last name.

avatar_filename str | None

Filename of the user's avatar image.

hostname str | None

Hostname of the machine associated with this user.

avatar InlineBytes | None

Raw avatar image bytes, serialised as a base64 data URI.

number int

Student's roll number.

status StudentStatus

Initial real-time presence status.

current_assignment ResourceId | None

ID of the student's initial active assignment, or None.

program ResourceId | None

ID of the program to enrol the student in.

current_assignment_options list[ResourceId]

IDs of assignments available in a choose-queue.

checkers_brief str

Staff-facing notes visible to checkers.

mentor ResourceId | None

ID of the staff member mentoring this student.

classes list[ResourceId]

IDs of classes to enrol the student in.

queue ResourceId | None

ID of the class queue assigned to the student.

disable_queue bool

Whether to disable the class queue for this student.

user_queue ResourceId | None

ID of the personal queue assigned to the student.

disable_user_queue bool

Whether to disable the personal queue.

override_queue ResourceId | None

ID of an override queue that takes precedence.

confirmed bool

Whether the student account starts as confirmed.

teacher bool

Whether the student account also has teacher privileges.

mentees Literal[[]]

Must be an empty list for student users.

StudentUser

Bases: BaseUser

Student user resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username Username

Unique username for the account.

first_name str | None

User's first name, or None if not set.

last_name str | None

User's last name, or None if not set.

clearance Literal[STUDENT]

Always Clearance.STUDENT; used as the discriminator.

gender Gender

User's gender.

avatar_filename str | None

Filename of the user's avatar image, or None.

hostname str | None

Hostname of the machine associated with this user, or None.

display_name str

Formatted display name shown in the UI.

number int | None

Student's roll number, or None if unassigned.

status StudentStatus

Real-time presence status.

program ResourceId | None

ID of the student's program, or None.

current_assignment ResourceId | None

ID of the student's active assignment, or None.

current_assignment_options list[ResourceId]

Assignment IDs available in a choose-queue.

checkers_brief str

Staff-facing notes visible to checkers.

mentor ResourceId | None

ID of the student's mentor, or None.

classes list[ResourceId]

IDs of classes the student is enrolled in.

queue ResourceId | None

ID of the class queue, or None.

disable_queue bool

Whether the class queue is disabled for this student.

user_queue ResourceId | None

ID of the personal queue, or None.

disable_user_queue bool

Whether the personal queue is disabled.

override_queue ResourceId | None

ID of the override queue, or None.

confirmed bool

Whether the student account is confirmed.

teacher bool

Whether the student account also has teacher privileges.

status_date datetime

Timestamp when the student's status last changed.

Attributes
current_assignment_options instance-attribute

Used with choose queue rules - list of assignments for user to choose from

hivelms_client.models.management.users.checker

Checker-level user models.

Classes

CheckerUserInput

Bases: BaseUserInput

Input payload for creating a checker user.

Attributes:

Name Type Description
username Username

Unique username for the account.

password str

Account password.

clearance Literal[CHECKER]

Must be Clearance.CHECKER; enforced at the type level.

gender Gender

User's gender.

status StudentStatus

Initial real-time presence status.

first_name str | None

User's first name.

last_name str | None

User's last name.

avatar_filename str | None

Filename of the user's avatar image.

hostname str | None

Hostname of the machine associated with this user.

avatar InlineBytes | None

Raw avatar image bytes, serialised as a base64 data URI.

CheckerUser

Bases: BaseUser

Checker-level user resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username Username

Unique username for the account.

first_name str | None

User's first name, or None if not set.

last_name str | None

User's last name, or None if not set.

clearance Literal[CHECKER]

Always Clearance.CHECKER; used as the discriminator.

gender Gender

User's gender.

avatar_filename str | None

Filename of the user's avatar image, or None.

hostname str | None

Hostname of the machine associated with this user, or None.

display_name str

Formatted display name shown in the UI.

hivelms_client.models.management.users.staff

Staff-level user models.

Classes

StaffUserInput

Bases: BaseUserInput

Input payload for creating a staff or admin user.

Attributes:

Name Type Description
username Username

Unique username for the account.

password str

Account password.

clearance Literal[STAFF, ADMIN]

Must be staff or admin clearance level.

gender Gender

User's gender.

status StudentStatus

Initial real-time presence status.

first_name str | None

User's first name.

last_name str | None

User's last name.

avatar_filename str | None

Filename of the user's avatar image.

hostname str | None

Hostname of the machine associated with this user.

avatar InlineBytes | None

Raw avatar image bytes, serialised as a base64 data URI.

mentees list[ResourceId]

IDs of students this staff member mentors.

StaffUser

Bases: BaseUser

Staff or admin user resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username Username

Unique username for the account.

first_name str | None

User's first name, or None if not set.

last_name str | None

User's last name, or None if not set.

clearance Literal[STAFF, ADMIN]

Staff or admin clearance level; used as the discriminator.

gender Gender

User's gender.

avatar_filename str | None

Filename of the user's avatar image, or None.

hostname str | None

Hostname of the machine associated with this user, or None.

display_name str

Formatted display name shown in the UI.

mentees list[ResourceId]

IDs of students this staff member mentors.

hivelms_client.models.management.users.current_user

Models representing the currently authenticated user.

Classes

CurrentUserCore

Bases: BaseModel

Minimal fields shared across all current-user variants.

Attributes:

Name Type Description
username str

Unique username of the currently authenticated user.

clearance Clearance

Permission level of the currently authenticated user.

display_name str

Formatted display name shown in the UI.

StudentCurrentUser

Bases: CurrentUserCore, BaseHiveResource

Current-user representation for a student.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username str

Unique username of the currently authenticated user.

display_name str

Formatted display name shown in the UI.

clearance Literal[STUDENT]

Always Clearance.STUDENT; used as the discriminator.

status StudentStatus

Real-time presence status of the student.

schedule_enabled bool

Whether the student has access to the schedule view.

current_assignment ResourceId | None

ID of the student's active assignment, or None.

number int | None

Student's roll number, or None if unassigned.

program ResourceId | None

ID of the student's program, or None.

program__name str

Display name of the student's program.

show_only_today_schedule Annotated[bool, Field(alias=only_today)]

Whether the student sees only today's schedule.

confirmed bool | None

Whether the student account is confirmed, or None.

current_assignment_options list[StudentAssignmentOptions] | None

Selectable assignment options for choose-queue, if any.

current_assignment__exercise_name str

Name of the exercise in the active assignment.

current_assignment__exercise_id ResourceId

ID of the exercise in the active assignment.

current_assignment__module_id ResourceId

Module ID of the exercise in the active assignment.

current_assignment__subject_id ResourceId

Subject ID of the exercise in the active assignment.

hanich_raise_hand bool

Whether the student can raise their hand via the UI.

teacher bool

Whether the student account also has teacher privileges.

CheckerCurrentUser

Bases: CurrentUserCore, BaseHiveResource

Current-user representation for a checker.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username str

Unique username of the currently authenticated user.

display_name str

Formatted display name shown in the UI.

clearance Literal[CHECKER]

Always Clearance.CHECKER; used as the discriminator.

StaffCurrentUser

Bases: CurrentUserCore, BaseHiveResource

Current-user representation for a staff member or admin.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

username str

Unique username of the currently authenticated user.

display_name str

Formatted display name shown in the UI.

clearance Literal[STAFF, ADMIN]

Staff or admin clearance level; used as the discriminator.

BaseCurrentUserPatch

Bases: BaseModel

Base partial update payload for the current user's own profile.

Attributes:

Name Type Description
password str

New password to set.

current_password str

Current password for verification.

hostname str

Replacement machine hostname.

CheckerCurrentUserPatch

Bases: BaseCurrentUserPatch

Partial update payload for a checker's own profile.

Attributes:

Name Type Description
password str

New password to set.

current_password str

Current password for verification.

hostname str

Replacement machine hostname.

StaffCurrentUserPatch

Bases: BaseCurrentUserPatch

Partial update payload for a staff member's own profile.

Attributes:

Name Type Description
password str

New password to set.

current_password str

Current password for verification.

hostname str

Replacement machine hostname.

StudentCurrentUserPatch

Bases: BaseCurrentUserPatch

Partial update payload for a student's own profile.

Attributes:

Name Type Description
password str

New password to set.

current_password str

Current password for verification.

hostname str

Replacement machine hostname.

status StudentStatus

Replacement real-time presence status.

current_assignment int | None

Replacement active assignment ID, or None to clear.

confirmed bool

Whether to mark the student account as confirmed.

hivelms_client.models.management.users.user_options

User option enumerations for gender, status, and clearance.

Classes

Gender

Bases: HiveOption

Enum of gender options for a user.

Attributes:

Name Type Description
MALE

User identifies as male.

FEMALE

User identifies as female.

NONBINARY

User identifies as non-binary or outside the male/female binary.

StudentStatus

Bases: HiveOption

Enum of real-time presence statuses for a student.

Attributes:

Name Type Description
PRESENT

Student is present and working at their seat.

RAISED_HAND

Student has raised their hand and is waiting for assistance.

TOILET_REQUEST

Student has requested a toilet break and is awaiting approval.

TOILET

Student has been approved for a toilet break and has left their seat.

PERSONAL_TALK

Student is engaged in a personal conversation with staff.

WORK_TALK

Student is discussing work-related topics with staff.

MEDICAL

Student is away for a medical reason.

PRAYER

Student is away for prayer.

ROOM

Student is in a separate room.

HOME

Student is working from home and not physically present.

Clearance

Bases: IntEnum

Integer-valued permission levels, ordered from student to admin.

Attributes:

Name Type Description
STUDENT

Basic student access with no management capabilities.

CHECKER

Elevated access for reviewing and checking student submissions.

STAFF

Teacher-level access for managing courses, exercises, and students.

ADMIN

Full administrative access to all system features and settings.

hivelms_client.models.management.class_

Class (room/student-group) resource models.

Classes

ClassType

Bases: HiveOption

Enum distinguishing physical rooms from student groups.

Attributes:

Name Type Description
ROOM

A physical classroom or room used for seating arrangements.

STUDENT_GROUP

A logical grouping of students for queue or scheduling purposes.

ClassInput

Bases: HiveModel

Input payload for creating a class.

Attributes:

Name Type Description
name ClassName

Display name of the class.

program ResourceId

ID of the program this class belongs to.

users list[ResourceId]

IDs of users (students or staff) in this class.

email OptionalString[NameEmail]

Contact email address for the class, if any.

type ClassType

Whether this is a physical room or a student group.

classes list[ResourceId]

IDs of nested sub-classes, if applicable.

description OptionalString[ClassDescription]

Optional short description of the class.

Class

Bases: BaseHiveResource

Full class resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name ClassName

Display name of the class.

program ResourceId

ID of the program this class belongs to.

users list[ResourceId]

IDs of users (students or staff) in this class.

email OptionalString[str]

Contact email address for the class, if any.

type ClassType

Whether this is a physical room or a student group.

description OptionalString[ClassDescription]

Optional short description of the class.

display_name str

Formatted display name shown in the UI.

program_name str

Display name of the parent program.

ClassPatch

Bases: HiveModel

Partial update payload for a class.

Attributes:

Name Type Description
name ClassName

Replacement display name.

program ResourceId

Replacement parent program ID.

users list[ResourceId]

Replacement list of user IDs.

email OptionalString[str]

Replacement contact email address.

type ClassType

Replacement class type.

classes list[ResourceId]

Replacement list of nested sub-class IDs.

description OptionalString[ClassDescription]

Replacement short description.

SetClassQueueRequest

Bases: BaseModel

Request body for assigning a queue to a class.

Attributes:

Name Type Description
queue ResourceId | None

ID of the queue to assign, or None to clear the assignment.

SetClassLessonRequest

Bases: BaseModel

Request body for assigning a lesson to a class.

Attributes:

Name Type Description
lesson ResourceId | None

ID of the lesson to assign, or None to clear the assignment.

hivelms_client.models.management.seating

Seating arrangement resource models.

Classes

SeatingInput

Bases: HiveModel

Input payload for creating a seating assignment.

Attributes:

Name Type Description
classroom ResourceId

ID of the classroom this seat belongs to.

x int

Column position of the seat in the room grid.

y int

Row position of the seat in the room grid.

hanich ResourceId | None

ID of the student assigned to this seat, or None.

hostname str | None

Hostname of the machine at this seat, or None.

Seating

Bases: BaseHiveResource

Full seating resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

classroom ResourceId

ID of the classroom this seat belongs to.

x int

Column position of the seat in the room grid.

y int

Row position of the seat in the room grid.

hanich ResourceId | None

ID of the student assigned to this seat, or None.

hostname str | None

Hostname of the machine at this seat, or None.

SeatingPatch

Bases: HiveModel

Partial update payload for a seating assignment.

Attributes:

Name Type Description
classroom ResourceId

Replacement classroom ID.

x int

Replacement column position.

y int

Replacement row position.

hanich ResourceId | None

Replacement student ID, or None to vacate the seat.

hostname str | None

Replacement machine hostname, or None to clear it.

hivelms_client.models.management.registration

User registration models.

Classes

RegistrationCore

Bases: BaseModel

Shared core fields for a user registration.

Attributes:

Name Type Description
username Username

Chosen username for the new account.

first_name NameComponent

User's first name.

last_name NameComponent

User's last name.

gender Gender

User's gender.

password Password

Chosen password for the new account.

Registration

Bases: RegistrationCore

Standard user registration payload.

Attributes:

Name Type Description
username Username

Chosen username for the new account.

first_name NameComponent

User's first name.

last_name NameComponent

User's last name.

gender Gender

User's gender.

password Password

Chosen password for the new account.

RegistrationRequest

Bases: RegistrationCore

Registration payload that also requires an invite secret.

Attributes:

Name Type Description
username Username

Chosen username for the new account.

first_name NameComponent

User's first name.

last_name NameComponent

User's last name.

gender Gender

User's gender.

password Password

Chosen password for the new account.

secret Secret

Invite secret code required to complete self-registration.


Notifications

hivelms_client.models.notification.notification

Notification resource models for exercise and help events.

Classes

NotificationResponseType

Bases: HiveOption

Enum of response actions that can trigger a notification.

Attributes:

Name Type Description
COMMENT

A comment was posted on an assignment or help thread.

WORK_IN_PROGRESS

Student saved progress without submitting.

SUBMISSION

Student formally submitted their work.

AUTOCHECK

An automated grading run was triggered.

REDO

Teacher requested the student revise and resubmit.

DONE

Teacher marked the assignment as complete.

RESOLVE

Staff resolved a help thread.

OPEN

A help thread was (re)opened.

NestedNotification

Bases: BaseModel

Lightweight notification reference embedded in another resource.

Attributes:

Name Type Description
id ResourceId

Unique identifier of the notification.

from_user ResourceId | None

ID of the user who triggered the notification, or None.

comment str

Short comment text accompanying the notification.

BaseNotificationCore

Bases: BaseModel

Shared core fields for all notification types.

Attributes:

Name Type Description
comment str | None

Short comment text accompanying the notification, or None.

was_read bool | None

Whether the notification has been read, or None if unknown.

ExerciseNotificationCore

Bases: BaseNotificationCore

Core fields for notifications linked to an exercise assignment.

Attributes:

Name Type Description
assignment ResourceId

ID of the assignment this notification relates to.

HelpNotificationCore

Bases: BaseNotificationCore

Core fields for notifications linked to a help thread.

Attributes:

Name Type Description
help ResourceId

ID of the help thread this notification relates to.

BaseNotificationInput

Bases: BaseNotificationCore

Base input payload for creating any notification.

Attributes:

Name Type Description
user ResourceId

ID of the user this notification is for.

comment str

Short comment text to include with the notification.

was_read bool | None

Initial read state of the notification.

ExerciseNotificationInput

Bases: BaseNotificationInput, ExerciseNotificationCore

Input payload for creating an exercise assignment notification.

Attributes:

Name Type Description
comment str

Short comment text to include with the notification.

was_read bool | None

Initial read state of the notification.

user ResourceId

ID of the user this notification is for.

assignment ResourceId

ID of the assignment this notification relates to.

HelpNotificationInput

Bases: BaseNotificationInput, HelpNotificationCore

Input payload for creating a help thread notification.

Attributes:

Name Type Description
comment str

Short comment text to include with the notification.

was_read bool | None

Initial read state of the notification.

user ResourceId

ID of the user this notification is for.

help ResourceId

ID of the help thread this notification relates to.

BaseNotification

Bases: BaseHiveResource, BaseNotificationCore

Full notification resource fields shared across all notification types.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

comment str | None

Short comment text accompanying the notification, or None.

was_read bool | None

Whether the notification has been read, or None if unknown.

response_type OptionalString[NotificationResponseType]

The response action that triggered this notification, if any.

from_user ResourceId

ID of the user who triggered the notification.

from_user_name str

Display name of the triggering user.

time datetime

Timestamp when the notification was created.

for_user ResourceId

ID of the user this notification is addressed to.

for_user_name str

Display name of the recipient user.

ExerciseNotification

Bases: BaseNotification, ExerciseNotificationCore

Notification resource for an exercise assignment event.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

comment str | None

Short comment text accompanying the notification, or None.

was_read bool | None

Whether the notification has been read, or None if unknown.

assignment ResourceId

ID of the assignment this notification relates to.

response_type OptionalString[NotificationResponseType]

The response action that triggered this notification, if any.

from_user ResourceId

ID of the user who triggered the notification.

from_user_name str

Display name of the triggering user.

time datetime

Timestamp when the notification was created.

for_user ResourceId

ID of the user this notification is addressed to.

for_user_name str

Display name of the recipient user.

exercise ResourceId

ID of the exercise related to this notification.

exercise_name str

Display name of the exercise.

module ResourceId

ID of the module the exercise belongs to.

subject ResourceId

ID of the subject the exercise belongs to.

program ResourceId

ID of the program the exercise belongs to.

HelpNotification

Bases: BaseNotification, HelpNotificationCore

Notification resource for a help thread event.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

comment str | None

Short comment text accompanying the notification, or None.

was_read bool | None

Whether the notification has been read, or None if unknown.

help ResourceId

ID of the help thread this notification relates to.

response_type OptionalString[NotificationResponseType]

The response action that triggered this notification, if any.

from_user ResourceId

ID of the user who triggered the notification.

from_user_name str

Display name of the triggering user.

time datetime

Timestamp when the notification was created.

for_user ResourceId

ID of the user this notification is addressed to.

for_user_name str

Display name of the recipient user.

help_type str

Category of the help request that triggered this notification.

help_title str

Title of the help thread.

NotificationPatch

Bases: BaseNotificationCore

Partial update payload for a notification.

Attributes:

Name Type Description
assignment int | None

Replacement assignment ID, or None to clear.

comment str | None

Replacement comment text.

was_read bool | None

Replacement read state.

user int | None

Replacement recipient user ID.


Queues

hivelms_client.models.queues.queue

Queue resource models.

Classes

BaseQueueInput

Bases: HiveModel

Shared input fields for creating any queue.

Attributes:

Name Type Description
name QueueName

Display name of the queue.

description str | None

Optional description of the queue's purpose.

UserQueueInput

Bases: BaseQueueInput

Input payload for creating a per-user queue.

Attributes:

Name Type Description
user ResourceId

ID of the user this queue is scoped to.

module Literal[None]

Always None for user queues.

ModuleQueueInput

Bases: BaseQueueInput

Input payload for creating a module-scoped queue.

Attributes:

Name Type Description
module ResourceId

ID of the module this queue is scoped to.

user Literal[None]

Always None for module queues.

BaseQueue

Bases: BaseHiveResource

Shared fields for all queue resources.

Attributes:

Name Type Description
name QueueName

Display name of the queue.

description str

Description of the queue's purpose.

ModuleQueue

Bases: BaseQueue

Queue resource scoped to a specific module.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name QueueName

Display name of the queue.

description str

Description of the queue's purpose.

module_id ResourceId

ID of the module this queue is scoped to.

module_name str

Display name of the module.

module_order str

Ordering key of the module within its subject.

program_id ResourceId

ID of the grandparent program.

program_name str

Display name of the program.

subject_id int

ID of the parent subject.

subject_name str

Display name of the subject.

subject_symbol str

Symbol identifier of the subject.

subject_color str

Hex colour string of the subject.

UserQueue

Bases: BaseQueue

Queue resource scoped to a specific user.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name QueueName

Display name of the queue.

description str

Description of the queue's purpose.

user_id int

ID of the user this queue is scoped to.

user_name str

Display name of the user.

QueuePatch

Bases: BaseModel

Partial update payload for a queue.

Attributes:

Name Type Description
name QueueName

Replacement display name.

description QueueDescription | None

Replacement description.

module ResourceId

Replacement module ID for module-scoped queues.

user ResourceId

Replacement user ID for user-scoped queues.

QueueDuplicationRequest

Bases: BaseModel

Request body for duplicating a queue under a new name.

Attributes:

Name Type Description
name QueueName

Name to give the duplicated queue.

module ResourceId | None

Module ID to associate with the duplicate, if module-scoped.

user ResourceId | None

User ID to associate with the duplicate, if user-scoped.

hivelms_client.models.queues.queue_items

Queue item resource models.

Classes

QueueRule

Bases: HiveOption

Enum of rules controlling how a queue item advances a student.

Attributes:

Name Type Description
CHOOSE

Student chooses which exercise to work on from this item.

WAIT_FOR_SUBMITTED

Student must submit before advancing past this item.

WAIT_FOR_AUTOCHECKS

Autocheck must pass before the student advances.

WAIT_FOR_DONE

Assignment must be marked done before the student advances.

BaseQueueItem

Bases: BaseHiveResource

Shared fields for all queue item variants.

Attributes:

Name Type Description
order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

ExerciseQueueItem

Bases: BaseQueueItem

Queue item that points to a specific exercise.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

exercise Exercise

Full exercise resource this queue item points to.

NestedQueueQueueItem

Bases: BaseQueueItem

Queue item that embeds another queue as a nested step.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

nested_queue Queue

The queue embedded as a step within this queue item.

BaseQueueItemInput

Bases: HiveModel

Shared input fields for creating any queue item.

Attributes:

Name Type Description
order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

ExerciseQueueItemInput

Bases: BaseQueueItemInput

Input payload for creating an exercise-based queue item.

Attributes:

Name Type Description
order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

exercise_id ResourceId

ID of the exercise to assign to this queue item.

set_nested_queue_id Literal[None]

Always None for exercise queue items.

set_module_id Literal[None]

Always None for exercise queue items.

set_tags_id Literal[[]]

Always an empty list for exercise queue items.

NestedQueueQueueItemInput

Bases: BaseQueueItemInput

Input payload for creating a nested-queue queue item.

Attributes:

Name Type Description
order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

nested_queue_id ResourceId

ID of the queue to embed as a nested step.

set_exercise_id Literal[None]

Always None for nested-queue items.

set_module_id Literal[None]

Always None for nested-queue items.

set_tags_id Literal[[]]

Always an empty list for nested-queue items.

ModuleQueueItemInput

Bases: BaseQueueItemInput

Input payload for creating a module-scoped queue item.

Attributes:

Name Type Description
order int

Position of this item within its queue.

enabled bool

Whether this queue item is active.

queue_rule QueueRule

Rule controlling how this item advances a student.

continue_on_redo bool

Whether the student continues past this item on redo.

module_id ResourceId

ID of the module to draw exercises from.

filter_for_tags list[ResourceId]

IDs of tags to filter exercises by within the module.

set_exercise_id Literal[None]

Always None for module queue items.

set_nested_queue_id Literal[None]

Always None for module queue items.

QueueItemPatch

Bases: HiveModel

Partial update payload for a queue item.

Attributes:

Name Type Description
order int

Replacement position within the queue.

enabled bool

Whether this queue item should be active.

queue_rule QueueRule

Replacement advancement rule.

continue_on_redo bool

Whether the student continues past this item on redo.

exercise_id Annotated[ResourceId, Field(alias=set_exercise_id)]

Replacement exercise ID for exercise-based items.

nested_queue_id Annotated[ResourceId, Field(alias=set_nested_queue_id)]

Replacement nested queue ID for nested-queue items.

QueueItemMoveRequest

Bases: HiveModel

Request body for changing the order position of a queue item.

Attributes:

Name Type Description
new_order int

The target position to move this queue item to.


Schedule

hivelms_client.models.schedule.lesson

Lesson and lesson rule resource models.

Classes

Lesson

Bases: BaseHiveResource

A scheduled lesson resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name LessonName

Display name of the lesson.

module ResourceId

ID of the module associated with this lesson.

module_order str

Ordering key of the associated module.

module_name str

Display name of the associated module.

subject_symbol str

Symbol identifier of the parent subject.

subject_name str

Display name of the parent subject.

program_name str

Display name of the grandparent program.

description str

Optional description of the lesson.

LessonInput

Bases: HiveModel

Input payload for creating a lesson.

Attributes:

Name Type Description
name LessonName

Display name of the lesson.

module int

ID of the module to associate with the lesson.

description str

Optional description of the lesson.

LessonPatch

Bases: HiveModel

Partial update payload for a lesson.

Attributes:

Name Type Description
name LessonName

Replacement display name.

module int

Replacement associated module ID.

description str

Replacement description.

LessonRule

Bases: BaseHiveResource

A routing rule that maps student groups to a queue within a lesson.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

parent_rule ResourceId | None

ID of the parent rule this rule falls under, or None.

student_groups list[ResourceId]

IDs of student groups this rule applies to.

queue ResourceId | None

ID of the queue assigned by this rule, or None.

queue_data Queue | None

Full queue resource for the assigned queue, or None.

student_groups_data list[Class] | None

Full class resources for the student groups, or None.

LessonRuleInput

Bases: HiveModel

Input payload for creating a lesson rule.

Attributes:

Name Type Description
parent_rule ResourceId | None

ID of the parent rule, or None for a top-level rule.

student_groups list[ResourceId]

IDs of student groups this rule applies to.

queue ResourceId | None

ID of the queue to assign via this rule, or None.

LessonRulePatch

Bases: HiveModel

Partial update payload for a lesson rule.

Attributes:

Name Type Description
parent_rule ResourceId | None

Replacement parent rule ID, or None to make it top-level.

student_groups list[ResourceId]

Replacement list of student group IDs.

queue ResourceId | None

Replacement queue ID, or None to clear the assignment.

hivelms_client.models.schedule.event

Calendar event resource models.

Classes

EventType

Bases: StrEnum

Enum of calendar event categories.

Attributes:

Name Type Description
SCHOOL_SOLUTION

A session where the school presents the model solution.

LECTURE

A teacher-led lecture or instructional session.

SELF_STUDY

An unguided period where students work independently.

EventAttendee

Bases: BaseHiveResource

An attendee record linked to a calendar event.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name str

Display name of the attendee.

description str | None

Optional extra description for the attendee.

Event

Bases: BaseModel

A scheduled calendar event.

Attributes:

Name Type Description
start datetime

Start timestamp of the event.

end datetime

End timestamp of the event.

title str | None

Optional display title for the event.

attendees list[EventAttendee] | None

List of attendee records, or None.

subject_id int | None

ID of the related subject, or None.

subject_name str | None

Display name of the related subject, or None.

color HiveColor | None

Display colour of the event, or None.

type EventType

Category of the event.

location LocationName | None

Name of the event location, or None.

module_id int | None

ID of the related module, or None.

lesson_name str | None

Name of the related lesson, or None.

hivelms_client.models.schedule.event_color

Event colour resource models.

Classes

EventColor

Bases: BaseHiveResource

A named colour swatch used to categorise calendar events.

Attributes:

Name Type Description
id int

Unique numeric identifier for this colour swatch.

name EventColorName

Display name of the colour swatch.

color HiveColor

Hex colour value of the swatch.

EventColorInput

Bases: HiveModel

Input payload for creating an event colour.

Attributes:

Name Type Description
name EventColorName

Display name for the new colour swatch.

color HiveColor

Hex colour value for the new swatch.

EventColorPatch

Bases: HiveModel

Partial update payload for an event colour.

Attributes:

Name Type Description
name EventColorName | None

Replacement display name, or None to clear.

color HiveColor | None

Replacement hex colour value, or None to clear.

hivelms_client.models.schedule.daily_review

Daily review report input model.

Classes

DailyReviewInput

Bases: BaseModel

Input payload for generating a daily review report.

Attributes:

Name Type Description
date datetime

The date for which to generate the review report.

show_lesson_names bool

Whether to include lesson names in the report.

hide_work_details bool

Whether to omit per-exercise work details from the report.


Tags

hivelms_client.models.tag

Tag resource models.

Classes

TagCore

Bases: HiveModel

Shared core fields for a tag.

Attributes:

Name Type Description
name TagName

Display name of the tag.

color HiveColor

Hex colour used to represent the tag in the UI.

Tag

Bases: TagCore, BaseHiveResource

Tag resource returned by the API.

Attributes:

Name Type Description
id ResourceId

Unique numeric identifier assigned by the API.

name TagName

Display name of the tag.

color HiveColor

Hex colour used to represent the tag in the UI.

TagInput

Bases: TagCore

Input payload for creating a tag.

Attributes:

Name Type Description
name TagName

Display name of the tag.

color HiveColor

Hex colour used to represent the tag in the UI.

TagPatch

Bases: HiveModel

Partial update payload for a tag.

Attributes:

Name Type Description
name TagName

Replacement display name.

color HiveColor

Replacement hex colour.


File Response

hivelms_client.models.file_response

File download response model and HTTP helper.

Classes

FileResponse

Bases: BaseModel

A downloaded file with its name, MIME type, and raw content.

Attributes:

Name Type Description
filename str

Name of the downloaded file extracted from the Content-Disposition header.

mimetype str

MIME type of the file from the Content-Type header.

content bytes

Raw binary content of the downloaded file.

Functions
from_http_response(response) classmethod

Build a FileResponse from a raw requests HTTP response.