With the next SC election fast approaching, I did the final tweaks I wanted to make to the voters repo to address visibility issues we had in the last election.

First, there is now a monthly cron job that will run at https://github.com/python/voters/actions?query=workflow%3A%22Projected+Voter+Roll%22 which will project a Dec 01 vote and then calculate who would fall off the voter roll based solely on activity, who would be added, and then the full list of voters. What that means is the two year of activity is calculated back from the next Dec 01, so you can check to see if you haven't committed or authored code in that timeframe to automatically be put on the voter roll.

Second, I created https://github.com/python/voters/actions?query=workflow%3A%22Generate+Voter+Roll%22 for manually creating the voter roll. This means people can manually trigger the same code used to create the initial voter roll and see who would (not) be automatically placed on it. I expect this to mostly be used by the folks running the election. And I do advise specifying the full date as the input instead of using the MM-DD shortcut if you choose today as it will most likely wrap around to projecting a vote next year.

Finally, I updated the data to include when someone left the core team (and if someone was ejected, which is a term from PEP 13). For those that never entered a GitHub username, I implicitly put them as having left the team the day the first PR was merged on GitHub since they stopped being able to participate actively from that day forward with an appropriate note as to why (2017-02-10). This is now shown in the developer log at https://devguide.python.org/developers/.

Hopefully this is enough to easily check if one should try to get a quick PR committed and/or authored before an election. We can all also try to remember to include it in the vote announcement email going forward if anyone forgets.