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).
The steering council appointed the Python Software Foundation Director of Infrastructure, Ee Durbin, to administer the election.
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 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:
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.
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.
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”.
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):
Now, use “Cast test ballot” section to preview the ballot and resolve any misconfigurations.
Enter voter data using Email list from Voter Roll repository.
Of 106 eligible voters, 74 cast ballots.
The five winners are:
No conflict of interest as defined in PEP 13 were observed.
The full voting results are:
| Pablo Galindo Salgado | 313 |
| Savannah Ostrowski | 249 |
| Barry Warsaw | 239 |
| Donghee Na | 191 |
| Thomas Wouters | 187 |
| Gregory P. Smith | 173 |
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.
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.
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.
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.
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.
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.
[1] (1, 2) This repository is private and accessible only to Python Core Developers, administrators, and Python Software Foundation Staff as it contains personal email addresses. [2] (1, 2) AoE: Anywhere on Earth.Source: https://github.com/python/peps/blob/main/peps/pep-8107.rst
Last modified: 2025-12-13 12:50:02 UTC