PEP 8107 – 2026 Term Steering Council election
- Author:
- Ee Durbin <ee at python.org>
- Sponsor:
- Barry Warsaw <barry at python.org>
- Status:
- Final
- Type:
- Informational
- Topic:
- Governance
- Created:
- 21-Oct-2025
Abstract
This document describes the schedule and other details of the 2025 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2026 term (i.e. Python 3.15).
Election Administration
The steering council appointed the Python Software Foundation Director of Infrastructure, Ee Durbin, to administer the election.
Schedule
There was be a two-week nomination period, followed by a two-week vote.
The nomination period was: November 10, 2025 through November 24, 2025 AoE [2].
The voting period was: November 28, 2025 through December 12, 2025 AoE [2].
Candidates
Candidates must be nominated by a core team member. If the candidate is a core team member, they may nominate themselves.
Nominees (in alphabetical order by first name):
Withdrawn nominations:
- None
Voter Roll
All active Python core team members are eligible to vote. Active status is determined as described in PEP 13 and implemented via the software at python/voters [1].
Ballots will be distributed based on the Python Voter Roll [1] for this election.
While this file is not public as it contains private email addresses, the Complete Voter Roll by name will be made available when the roll is created.
Election Implementation
The election will be conducted using the BetterVoting service.
Attention
This election will be the first to use Multi-winner Bloc STAR voting as approved by the core team and codified into PEP 13.
Configuration
Create a new election.
Poll or Election?: Election
Title?: 2026 Python Steering Council Election
Restricted?: Yes
Contact Email: psf-election@python.org
Choose Voters: Email List
This will initialize the election and you will be forwarded to the election admin page. Further configuration is required.
Click the pencil icon next to the election name on the admin.
Election Description: Election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2026 term.
Enable Start/End Times?: Check this box
Time Zone: Baker Island
Start Date: 11/28/2025, 12:00 AM
End Date: 12/13/2025, 12:00 AM
Click “Save”.
Select no limit under “Who can vote?” to allow users to return to their ballot from any device or network without a BetterVoting.com account.
Click “Extra Settings”
Check “Randomize Candidate Order”.
Check “Allow Voters To Edit Vote”.
Ensure “Show Preliminary Results” is unchecked.
Check “Confirm That Voter Read Instructions”.
Ensure “Make Election Publicly Searchable” is unchecked.
Ensure “Set Number of Rankings Allowed” is unchecked.
Click “Save”.
- Voting is not open to the public, only those on the Voter Roll may participate. Ballots will be emailed when voting starts.
- Candidates are presented in random order, to help avoid bias.
Races
Add Race
Race Title: 2026 Python Steering Council
Race Description: Rate candidates for the Python Steering Council
How many Winners?: Basic Multi-Winner
Number of winners: 5
Which Voting Method: STAR Voting
Candidates (add each candidate, hyperlink to nomination statement using the 🔗 icon):
- Barry Warsaw 🔗 https://discuss.python.org/t/steering-council-nomination-barry-warsaw-2026-term/104937
- Donghee Na 🔗 https://discuss.python.org/t/steering-council-nomination-donghee-na-2026-term/104888
- Gregory P. Smith 🔗 https://discuss.python.org/t/steering-council-nomination-gregory-p-smith-2026-term/105011
- Pablo Galindo Salgado 🔗 https://discuss.python.org/t/steering-council-nomination-pablo-galindo-salgado-2026-term/104936
- Savannah Ostrowski 🔗 https://discuss.python.org/t/steering-council-nomination-savannah-ostrowski-2026-term/104989
- Thomas Wouters 🔗 https://discuss.python.org/t/steering-council-nomination-thomas-wouters-2026-term/104954
Now, use “Cast test ballot” section to preview the ballot and resolve any misconfigurations.
Voters
Enter voter data using Email list from Voter Roll repository.
Results
Of 106 eligible voters, 74 cast ballots.
The five winners are:
- Pablo Galindo Salgado
- Savannah Ostrowski
- Barry Warsaw
- Donghee Na
- Thomas Wouters
No conflict of interest as defined in PEP 13 were observed.
The full voting results are:
| Candidate | Total Stars |
|---|---|
| Pablo Galindo Salgado | 313 |
| Savannah Ostrowski | 249 |
| Barry Warsaw | 239 |
| Donghee Na | 191 |
| Thomas Wouters | 187 |
| Gregory P. Smith | 173 |
Tabulation Steps
Winner 1
Scoring Round: Pablo Galindo Salgado and Savannah Ostrowski advance to runoff with 313 and 249 stars.
Automatic Runoff: Pablo Galindo Salgado is preferred over Savannah Ostrowski, 36 to 19, with 19 voters showing equal support for both finalists.
Winner 2
Scoring Round: Savannah Ostrowski and Barry Warsaw advance to runoff with 249 and 239 stars.
Automatic Runoff: Savannah Ostrowski is preferred over Barry Warsaw, 34 to 29, with 11 voters showing equal support for both finalists.
Winner 3
Scoring Round: Barry Warsaw and Donghee Na advance to runoff with 239 and 191 stars.
Automatic Runoff: Barry Warsaw is preferred over Donghee Na, 38 to 25, with 11 voters showing equal support for both finalists.
Winner 4
Scoring Round: Donghee Na and Thomas Wouters advance to runoff with 191 and 187 stars.
Automatic Runoff: Donghee Na is preferred over Thomas Wouters, 36 to 33, with 5 voters showing equal support for both finalists.
Winner 5
Scoring Round: Thomas Wouters and Gregory P. Smith advance to runoff with 187 and 173 stars.
Automatic Runoff: Thomas Wouters is preferred over Gregory P. Smith, 34 to 26, with 14 voters showing equal support for both finalists.
Complete Voter Roll
Active Python core developers
Adam Turner
Alex Gaynor
Alex Waygood
Alexander Belopolsky
Alyssa Coghlan
Ammar Askar
Andrew Svetlov
Antoine Pitrou
Armin Ronacher
Barney Gale
Barry Warsaw
Batuhan Taskaya
Bénédikt Tran
Benjamin Peterson
Berker Peksağ
Brandt Bucher
Brett Cannon
Brian Curtin
C.A.M. Gerlach
Carl Meyer
Carol Willing
CF Bolz-Tereick
Cheryl Sabella
Chris Withers
Dennis Sweeney
Diego Russo
Dino Viehland
Donghee Na
Emily Morehouse
Emma Smith
Éric Araujo
Eric Snow
Eric V. Smith
Erlend Egeberg Aasland
Ethan Furman
Ezio Melotti
Facundo Batista
Filipe Laíns
Giampaolo Rodolà
Gregory P. Smith
Guido van Rossum
Hugo van Kemenade
Hynek Schlawack
Inada Naoki
Irit Katriel
Ivan Levkivskyi
Jack Jansen
Jason R. Coombs
Jelle Zijlstra
Jeremy Hylton
Jeremy Kloth
Jesús Cea
Joannah Nanjekye
Julien Palard
Ken Jin
Kirill Podoprigora
Kumar Aditya
Kurt B. Kaiser
Kushal Das
Larry Hastings
Lisa Roach
Łukasz Langa
Lysandros Nikolaou
Marc-André Lemburg
Mariatta
Mark Hammond
Mark Shannon
Matt Page
Matthias Klose
Meador Inge
Michael Droettboom
Nathaniel J. Smith
Ned Batchelder
Ned Deily
Neil Schemenauer
Nikita Sobolev
Pablo Galindo
Paul Ganssle
Paul Moore
Peter Bierma
Petr Viktorin
Pradyun Gedam
R. David Murray
Raymond Hettinger
Ronald Oussoren
Russell Keith-Magee
Sam Gross
Sandro Tosi
Savannah Ostrowski
Senthil Kumaran
Serhiy Storchaka
Shantanu Jain
Stefan Behnel
Steve Dower
Terry Jan Reedy
Thomas Wouters
Tian Gao
Tim Golden
Tim Peters
Tomas Roun
Trent Nelson
Victor Stinner
Vinay Sajip
Xiang Zhang
Yury Selivanov
Zachary Ware
Copyright
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.
Source: https://github.com/python/peps/blob/main/peps/pep-8107.rst
Last modified: 2025-12-13 12:50:02 GMT