andrewtavis / andrewtavis/poli-sci-kit

Add Adams method to appointment.methods.highest_averages

Open
#21 0 comments 0 reactions 0 assignees View on GitHub
feature good first issue help wanted
Dominant language
Python
Stars
34
Forks
8
PR merge metrics
No merged PRs in 30d

Description

The Adams method, as described [on Wikipedia](https://en.wikipedia.org/wiki/Highest_averages_method#Adams's_method), is another highest averages method that could be implemented. This method has been implemented in [voting](https://github.com/crflynn/voting), but lacks the allocation conditions that poli-sci-kit provide.

This issue would be to add this method to [appointment.methods.highest_averages](https://github.com/andrewtavis/poli-sci-kit/blob/main/src/poli_sci_kit/appointment/methods.py) in a way that allows for minimum allocations, tie break conditions, majority bonus rules, and other conditional rulesets.

Contributor guide

Open the contributing guide

Research direction

Start by reading src/poli_sci_kit/appointment/methods.py and the Adams method description on Wikipedia, then compare the implementation in the linked voting project. Done means Adams is available through appointment.methods.highest_averages while supporting the allocation conditions named in the issue, including minimum allocations, tie breaks, and majority bonuses.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.