Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions peps/pep-0013.rst
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,7 @@ History of council elections
* December 2022: :pep:`8104`
* December 2023: :pep:`8105`
* December 2024: :pep:`8106`
* December 2025: :pep:`8107`


History of amendments
Expand Down
208 changes: 208 additions & 0 deletions peps/pep-8107.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
PEP: 8107
Title: 2026 Term Steering Council election
Author: Ee Durbin <[email protected]>
Sponsor: Barry Warsaw <[email protected]>
Status: Active
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 <https://www.python.org/psf-landing/>`__
Director of Infrastructure, Ee Durbin, to administer the election.


Schedule
========

There will be a two-week nomination period, followed by a two-week
vote.

The nomination period will be: November 10, 2025 through `November 24, 2025 AoE
<https://www.timeanddate.com/worldclock/fixedtime.html?msg=Python+Steering+Council+nominations+close&iso=20251125T00&p1=3399>`_ [#note-aoe]_.

The voting period will be: November 28, 2025 through `December 12, 2025 AoE
<https://www.timeanddate.com/worldclock/fixedtime.html?msg=Python+Steering+Council+voting+closes&iso=20251213T00&p1=3399>`_ [#note-aoe]_.


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):

- TBD

Withdrawn nominations:

- None

Voter Roll
==========

All active Python core team members are eligible to vote. Active status
is determined as :pep:`described in PEP 13 <13#membership>`
and implemented via the software at `python/voters <https://github.com/python/voters>`_
[#note-voters]_.

Ballots will be distributed based on the `Python Voter Roll
<https://github.com/python/voters/blob/master/voter-files/>`_ [#note-voters]_
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
<https://bettervoting.com>`__ service.

.. attention::
This election will be the first where voting is conducted, and
results are calculated using
`Multi-winner Bloc STAR <https://www.starvoting.org/multi_winner>`__
as `approved by the core developers <https://discuss.python.org/t/64971>`__
and `codified <https://github.com/python/peps/pull/3958/files>`__
into :pep:`13`.


Configuration
-------------

Create a `new election <https://bettervoting.com/new_election>`__.

Poll or Election?: ``Election``

Title?: ``2026 Python Steering Council Election``

Restricted?: ``Yes``

Contact Email: ``[email protected]``

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: ``Midway Island, Samoa``

Start Date: ``11/28/2025, 01:00 AM``

End Date: ``12/13/2025, 01:00 AM``

Click "Save".

Click "Extra Settings"

Check "Randomize Candidate Order".

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):

* TBD
* TBD
* TBD
* TBD
* TBD

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 NN eligible voters, MM cast ballots.

The top five vote-getters are:

* TBD
* TBD
* TBD
* TBD
* TBD

No conflict of interest as defined in :pep:`13` were observed.

The full vote counts are as follows:

+-----------------------+----------------+
| Candidate | Votes Received |
+=======================+================+
| TBD | |
+-----------------------+----------------+

Complete Voter Roll
===================

Active Python core developers
-----------------------------

.. code-block:: text

TBD

Copyright
=========

This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.


.. [#note-voters] This repository is private and accessible only to Python Core
Developers, administrators, and Python Software Foundation Staff as it
contains personal email addresses.
.. [#note-aoe] AoE: `Anywhere on Earth <https://www.ieee802.org/16/aoe.html>`_.
Loading