An open-source library of fair division algorithms in Python. Designed for three target audiences:
- Laypeople, who want to use existing fair division algorithms for real-life problems.
- Researchers, who develop new fair division algorithms and want to quickly implement them and compare to existing algorithms.
- Students, who want to trace the execution of algorithms to understand how they work.
clone https://github.com/erelsgl/fairpy.git
cd fairpy
pip install -r requirements.txt
pip install -e .
To verify that everything was installed correctly, run one of the example programs, e.g.
python examples/items.py
python examples/cake.py
-
Various input formats, to easily use by both researchers and end-users.
-
Optional logging, to learn and understand how the algorithms work.
-
Decorators, to easily code new algorithms.
-
Item allocation algorithms, for both divisible and indivisible items.
For a partial list of algorithms and their implementation status, see:
Many algorithms can be added to fairpy
. See:
You can run all doctests by either pytest
or tox
.