Vote to promote Kirill Podoprigora

Hi,

I would like to propose promoting Kirill Podoprigora (eclips4) as a core developer.

Vote

  • Promote Kirill
  • Do not promote
0 voters

Kirill’s contributions to Python

Kirill is active in Python for almost two years. He got 131 commits merged in the main branch (first commit in October 2022). He modified various parts of Python: compiler, AST, unittest, inspect, pickle, asyncio, documentation, warnings, etc. He is not afraid of digging into the code to identify and fix reference leaks.

Kirill is also active in bug triage. He was involved in 486 issues and 500 pull requests.

Outside Python, Kirill is contributing to RustPython (porting tests between versions), and tries to reimplement Python in Zig (as a replacement for C) but the project is only at the design stage.

Major accomplishments in CPython

I asked Kirill if he is proud of a specific contribution. He replied that he is proud of these two PRs:

Both of them are really hard to solve (IMO), not gonna lie, I’ve spent about a hundred of hours solving each of them. (The second PR was closed in favor of GH-106176, GH-104702: Fix reference leak when importing across multiple threads by brettcannon · Pull Request #108497 · python/cpython · GitHub which is based on my PR and my idea for how to solve the problem)

pyexpat and elementtree

After the _elementree C extension was “isolated” (converted to the multiphase API and static types converted to heap types), _elementree started to crash at exit (ooops!)

The problem was the usage of a borrowed reference in the _elementtree extension. Kirill modified _elementtree to hold a strong reference to the pyexpat capsule object.

importlib leak

On June 2023, a reference leak was reported on the test_import test suite. The same day, Kirill proposed a fix and asked for reviews. There was a long discussion for 2 months about the best fix. Kirill was active in the discussion. At the end, a different fix was merged by Brett Cannon using a weak reference dictionary. The most difficult part was the analysis of the root cause and discussing the best fix.

Post-promotion mentoring

I will mentor Kirill for one month after his promotion (if it’s accepted) to help him to deal with his new responsibilities. I will require him to ask me 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.

24 Likes

To the 4 early voters: please vote again, I modified the vote to only show results once the vote closes.

I want to endorse the promotion. Kirill is a very talented developer, he has a great attention to details. His reports about our CI and tests are always very helpful: multiple times I found that there are already his proposed solutions to some problems that I noticed while working on CPython.

Kirill is also very pleasant to work and communicate with. His ability to learn and to provide solutions to code problems is very motivating. I even use him as an example of hard-working and dedication to my students and co-workers.

I will always be happy to help him in any areas :slight_smile:

16 Likes

I nominated Kirill to become a triager in Request for Python triage membership: Kirill Podoprigora · Issue #509 · python/core-workflow · GitHub and volunteered to mentor him. As far as I’m concerned, he’s required very little mentorship! I can hardly think of any complaints I or anybody else has had regarding his conduct, and whenever I’ve given feedback (which he’s actively sought), he’s been very quick to act on it.

I have every confidence that Kirill will continue to act in a trustworthy way and seek consensus on changes after gaining these new priviliges.

14 Likes

The SC does not veto my promotion, and @ambv granted me the necessary privileges (thanks Lukasz!).
Thanks folks for the kind words! I’ll try my best to make CPython better!

31 Likes

Congrats Kirill for your promotion! :tada:

12 Likes