Getting started

Py-school-match’s basic structure

Py-school-match tries to expose flexible and easy-to-understand structures and functions.

In order to use the library, you should create at least one element of each category:

  • Student: Represents one student.
  • School: Represent one school. A school can have many seats.
  • SocialPlanner: This entity runs the selected algorithm.

You should also select one algorithm:

  • TTC: Top trading cycles.
  • DAMTB: Deferred acceptance with multiple tie-breaking.
  • DASTB: Deferred acceptance with single tie-breaking.
  • SIC: Stable improvement cycles.
  • MSIC: Deferred Acceptance with multiple tie-breaking, and then searches for stable cycles.
  • NSIC: Deferred Acceptance with single tie-breaking, and then searches for non-stable cycles.

Finally, you can also define:

  • Criteria: Associates an adjective and a value type.
  • Characteristic: Associates a criteria with a value.
  • Rule: Is used to determine the priority of a student.
  • Ruleset: Aggregates a set of rules in a prioritized manner.