Matching: A Python library for solving matching games

Abstract: Matching games allow for the allocation of resources and partnerships in a fair way. Typically, a matching game is defined by two sets of players that each have preferences over at least some of the elements of the other set. The objective of the game is then to find a mapping between the sets of players in which everyone is happy enough with their match. One of the most ubiquitous matching games is the Stable Marriage Problem. Matching is a Python library for solving such matching games.

@article{wilde2020matching,
  title   = {Matching: {A} {P}ython library for solving matching games},
  author  = {Wilde, Henry and Knight, Vincent A. and Gillard, Jon},
  journal = {Journal of Open Source Software},
  year    = {2020},
  doi     = {10.21105/joss.02169},
  url     = {https://joss.theoj.org/papers/10.21105/joss.02169},
}