andrewtavis / andrewtavis/poli-sci-kit
Add Adams method to appointment.methods.highest_averages
- 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
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