zhubx007 / fairpy

An open-source library of fair division algorithms in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fairpy

PyTest result

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.

Installation

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

Features and Examples

  1. Various input formats, to easily use by both researchers and end-users.

  2. Various output formats.

  3. Optional logging, to learn and understand how the algorithms work.

  4. Decorators, to easily code new algorithms.

  5. Item allocation algorithms, for both divisible and indivisible items.

  6. Cake-cutting algorithms.

Implemented algorithms

For a partial list of algorithms and their implementation status, see:

Development

Many algorithms can be added to fairpy. See:

You can run all doctests by either pytest or tox.

See also: other open-source projects related to fairness.

About

An open-source library of fair division algorithms in Python

License:GNU General Public License v3.0


Languages

Language:Python 100.0%