Baltor Get started

Library / Code module

Section enrollment allocator with prerequisites and waitlists

section_enrollment_allocator

Seat students in course sections by priority group and registration time, honouring capacity, prerequisites, one section per course and time-block clashes, with ordered waitlists.

Files, names only

  • ATTRIBUTION.md 4.9 KB
  • LICENSE 1.0 KB
  • ONET-ATTRIBUTION.md 7.9 KB
  • PROCEDURE.md 2.6 KB
  • README.md 4.6 KB
  • TOOLS.md 2.0 KB
  • component.json 13.5 KB
  • examples/known_good.json 3.3 KB
  • examples/known_wrong.json 482 bytes
  • kit_schema.py 11.4 KB
  • section_enrollment_allocator.py 8.9 KB
  • test_package.py 6.8 KB

Full files in your harness.

What it takes and gives

Runs with
Python 3.10 or later
Command
python3 section_enrollment_allocator.py < input.json
Function
section_enrollment_allocator.run
Required input
sections, students, requests

Cases it covers

  • Known wrong example: A request names section BIO100-A, which is not in the section list. Refused as unknown section.
  • input invalid: refused with exit code 2
  • input not json: refused with exit code 2
  • duplicate id: refused with exit code 2
  • unknown section: refused with exit code 2
  • unknown student: refused with exit code 2
  • invalid date time: refused with exit code 2

Limits and scope

Limits
Prerequisites are completed course ids only; grades, co-requisites and instructor permission are not modelled. A time block is a label; overlap between different labels is not detected. Waitlists are not promoted automatically when seats free up: rerun with updated capacity. A registration time without an offset is read as UTC.
Work activities
Perform student enrollment or registration activities; Maintain student records.

Details

Kind
Code module
Licence
MIT
Declared effects
runs commands
Source
github.com/alisonjieli-png/loop-engine/tools/creative_originals/occupation_task_kits/items/section_enrollment_allocator
Size
12 files, 67.6 KB
Identity
library.supply.creative_originals.6fccd047de766c8191c34e3b.79427df908c77e62
Version
79427df908c77e62cdc28991df5c2b272fba246b52d7f287bd91ba88ed29e285

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Where it is shown

Related components

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.