Skip to content

Roadmap

Chris Donnay edited this page Jan 6, 2026 · 3 revisions

Welcome to the VoteKit roadmap!

Tech Debt

  • #235 migrate to UV, migrate mypy to TY
  • #236, #244 updates to MCMC methods
  • #256 remove is_finished from child classes
  • #262 deprecate load_csv
  • #291 optimize the cleaning module with numpy

New Features

  • #172 clustering code
  • #170 add viz to preference interval
  • #219 ballot truncation
  • #222 round by round STV viz
  • #223 perturbing profiles
  • #225 add helper function to handle turnout computations
  • #251 add batching model
  • #274 add a way to do "typical" cleaning, or even city specific
  • #275 remove repeated candidates and condense
  • #281, 317 add meek stv
  • #293 winner set functions for elections
  • #315 add function to convert BT cohesion and fpv

Upgrades

  • #161 update the ballot graph
  • #166 update the pairwise comparison graph
  • #188 add a contains_ties parameter to PrefProfile
  • #196 raise a warning from PrefProfile if repeated candidates on ballots
  • #210 ballot iterator for PrefProfile that carries the weights
  • #214 add warning to CondoBorda if Borda is used for tie
  • #314 create a more general historical sampler

Refactoring

  • #202, #230, #250, #296 tiebreaks: handling ties in real elections, warning spam, default behavior, partial tiebreaks
  • #255 make run_step always append to the stored states
  • #257 change the way get_elected functions

Documentation

  • #224 add a notebook explaining how to link PyEI with VoteKit
  • #321 add a notebook explaining how to link gerrychain with VoteKit
  • #263 update doc strings and how we handle optional
  • #292 create a code style

Next release

Before the June training

Clone this wiki locally