Skip to content

Lab Allocator

This page gives an overview of the Lab Allocator service.

Service Description

The Lab Allocator service allows administrators to allocate students to subject lectures and practicals within the Natural Sciences Tripos. It potentially replaces the Legacy NST IA Lab Allocation, which does the same thing but takes 3 days (human tweaking and allocation runs) to come up with a valid allocation. The existing system also has some rigidity to it, that would make adding new features difficult.

This Lab Allocator service aims to solve the performance issue whilst introducing a more flexible architecture.

Service Status

This service is currently in development.


Issues with the service should be raised on the corresponding GitLab project (University members only).


The Lab Allocator is hosted on GCP.

Source code

These are the two relevant repos:

Technologies used

The following gives an overview of the technologies the Lab Allocator is built on.

Category Language Framework(s)
API Python Django REST framework
Genetic Algorithm Python PyGAD
Testing Python PyTest
Database SQL PostgreSQL
Deployment terraform N/A


Deployment is via Gitlab using the laballoc-infrastructure pipelines.


See the following README documents:

Service Management and tech lead

The following engineers have operational experience with the Lab Allocator and are able to respond to support requests or incidents: