Vote to promote Brandt Bucher

Pablo and I want to propose Brandt Bucher as a core developer. Brandt is an all round coder with significant experience in Python and C, including CPython bugfix and feature coding.

  • Promote Brandt Bucher
  • Don’t promote Brandt Bucher

0 voters

Brandt has authored or co-authored the following PEPs:

  • PEP 584: Add Union Operators To dict (with Steven D’Aprano)
  • PEP 614: Relaxing Grammar Restrictions On Decorators
  • PEP 618: Add Optional Length-Checking To zip
  • PEP 622: Structural Pattern Matching (with 5 co-authors)

The first three of these have been accepted: PEP 584 and PEP 614 will appear in Python 3.9, while PEP 618 is slated for Python 3.10. Brandt is responsible for the implementation of all three. (If you check the logs it will appear as if I wrote the implementation for PEP 618 – this is due to a GitHub mixup that is entirely my fault.)

As you all know, PEP 622 is still under consideration by the Steering Council. Think of it what you will, but Brandt has single-handedly produced a working implementation without which we would probably still be staring at an early draft PEP without knowing how to proceed.

Regardless of the PEP 622 outcome, Brandt has now built up a significant amount of experience maintaining many different parts of CPython (especially the PEG parser, the bytecode compiler and the interpreter, as well as various object implementations).

Brandt has also been a regular reviewer of Pull Requests, helping new contributors and core devs alike. A search shows that he has been involved in more than 80 merged Pull Requests, giving usually very valuable feedback both in C and Python code. He has good attention to detail and is able to give candid, constructive feedback.

Brandt is easy to work with, responsive, and a quick learner – all capacities we appreciate in core devs. He has expressed interest in working on CPython maintenance long term and I trust him implicitly.

We’ve talked to Brandt about this potential new role and its responsibilities, and he is excited to become a member of the core dev team. We both are confident of Brandt’ skills and attitude and his dedication to improving Python and we are sure that he will be be a productive member of the team for years to come.

Post-promotion mentoring

As it was done in previous promotions we will continue to mentor him for one month after his promotion (if it’s accepted) to help him to deal with his new responsibilities, and we plan to require him to ask us before merging anything until he will be used to the process.

Vote process

As a reminder from PEP 13 regarding voting rules:

It is granted by receiving at least two-thirds positive votes in a core team vote that is open for one week and with no veto by the steering council.


My immediate reaction was “oh, he isn’t yet?”, which always makes it easy to vote yes :slight_smile:


Brandt has the bug triage permission and got 30 changes merged into the master branch since April 2019:

I looked at these commits.

He worked on the implementation of “Add Union Operators To dict” (PEP 584), “Relaxing Grammar Restrictions On Decorators” (PEP 614), “Assignment Expressions” (PEP 572, he updated the language reference doc), etc. He also fixed bugs in the posix module, bytearray.extend, marshal init code, _tracemalloc, fixed PyModule_AddObject usage, etc.

I trust Guido and Pablo, and Brandt gets my +1 on his promotion!


I’m a bit late to the party, but I still wanted to add my explicit +1 to Brandt’s nomination. From the major PEPs worked on and his individual contributions alone, I would consider him to be qualified. However, adding on-top of that, he’s also done excellently with code reviews; covering a wide range of different PRs, providing helpful feedback, and being highly welcoming to new contributors. It’s also great to see the continued maintenance on PEPs that he was a part of, notably addressing suggestions for PEP 622 recently.

In case anyone else would like to look over it, here’s a complete list of issues that @brandtbucher has been involved with in the python org repos, minus authored ones.


Congrats to Brandt!

Brett or Pablo, what needs to be done permission-wise? Could one of you do it?


Congrats @brandtbucher! :tada:

I think @brettcannon is the one that has the necessary privileges to do the permission changes but I assume we need to wait until the SC meets first to confirm the result in any case.


The details of what needs to occur is outlined in So next step is you email the SC with the result of this poll and Brandt’s contact details.


The Steering Council approves (does not veto) Brandt’s promotion: congratulations Brandt!

Guido and/or Pablo: you can now follow process as Brett explained :wink:

Also, thanks Guido and Pablo for offering to mentor him “to help him to deal with his new responsibilities”!


My understanding is that we are now at step 5 and it is up to the SC to send an email to Brandt. I already did step 4.

1 Like

Wow. This is easily the most welcoming, positive, and intelligent online community of its size that I have ever experienced, and I’m honored and excited to continue serving and representing it in this new role.

In addition to those who took the time to write positive recommendations for me here, I want to explicitly thank the mypy and typeshed folks for guiding my first open-source contributions, Nick for merging my first CPython PR, Steven for taking me on as co-author for PEP 584, Antoine for sponsoring PEP 618, Guido and Pablo for nominating me and committing to a month of mentorship, and Guido again for approving my triage application, sponsoring PEP 614, and nerd-sniping me with what would later become PEP 622.

These were each such great learning experiences that ultimately led me to keep contributing. Now I’m one of the lucky few people in the world with hobbies, employment, and volunteer work that all intersect in this one space. That’s amazing.


Congrats Brandt!

Excited to see you join officially, though it has felt like you were part of the team for a while now.

1 Like