Vote to promote Karthikeyan Singaravelan as a core dev

I (Andrew Svetlov) want to promote Karthikeyan, a developer from India, to the Python Core Developers list.

  • Promote Karthikeyan Singaravelan
  • Do not promote Karthikeyan Singaravelan

0 voters

I’m mentoring Karthikeyan starting from this spring. He got triagers privilegy on since September of 2018, and he is very active on the bug tracker.

He has about 100 Pull Requests, 80+ were merged already; 5 PRs are waiting for review currently.

The main interest are of Karthikeyan is unittest.mock library, he helped a lot to add async mock in Python 3.8; he helped me in my work on asyncio issues as well.

Also, Karthikeyan is very strong in reviews, both in formal text part and manual checking that the proposed change is actually working fine. There are about 400 Pull Requests where Karthikeyan was a reviewer in very different areas of the Stadard Python Library.

As a triager, he took a part in 125+ discussions on the bug tracker issues; I personally very appreciate this work.

Karthikeyan had participated in Core Developers Spring in London this year, some of you had a chance to meet him in person doring the event.

Last but not least, Karthikeyan recently received “Google Open Source Peer Bonus” award for his contributions to CPython.

I offer to mentor Karthikeyan for a month once he would become a core dev to help him with understanding our workflow and etc.

The vote is starting now and will be finished in a week as PEP 13 states:

… 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."

Upd Added a poll widget


Karthikeyan is perhaps the best triager from non-core developers! He is amazing!


I cannot give a more enthusiastic recommendation for Karthikeyan here. He has been doing the job of a core dev for a long time now, and it’s definitely time that we recognized this fact. It’s evident that he has a pretty broad understanding of the code base, since his involvement in bug triage has exposed him to a wide variety of bugs. He understands a lot of the edge cases and can easily spot duplicate issues or other related PRs and bug reports, which is super useful for guiding new contributors to a solution.

I am sure we all have our own stories of the ways Karthik has improved the project, but I thought I would highlight this PR fixing a tricky bug in the mock module. Note that it has 72 comments, and Karthik is clearly playing the “core dev” role of deeply understanding how the changes would affect the module and giving a wider perspective on what unforeseen effects the proposed changes might have. Here is a thread on twitter from the contributor (a first time contributor to CPython), who described the months-long process as “really enjoyable”, and responded to Karthikeyan’s “congratulations” response with this:

Thank you so much for all your help! I really appreciate your expertise and eye for detail when reviewing. I saw the datetime change that came out of the discussion on my ticket, but still haven’t checked out the listobject change thoroughly yet.

I know we all have our own criteria for what makes a core dev, so I will say that I tend to put a lot of weight on code review and fostering contributions to the project. For others who share the same priorities, I thought I would share this anecdote.


I think Karthikeyan deserves this promotion. He is a good triager and has good PR reviews on the project.


I concur with @storchaka and @pganssle! Karthikeyan has proven to have excellent attention to detail, provides a very complete analysis of the problems he triages and (if needed) adds the domain expert(s) to the noisy list. He also puts noticeable efforts to help new contributors and has been helping substantially with reviews. I personally have enjoyed every interaction I had with him.

He has been really helpful to the core-dev team and the community and I strongly think he deserves this promotion! :tada:


Huge +1 from me. I worked with Karthikeyan at the last core sprint and can attest that he’s 100% ready to be promoted.


+1 from me. Karthikeyan has been doing lots of hard and thankless work (watching buildbots, triaging issues, PR reviews) that you would expect from a core developer.


A big +1 from me, too. Karthikeyan has been a great help to me both in bringing things to my attention and by making helpful comments and suggestions to help move things in the right direction.


I’m just going to pile on another +1 :slight_smile:


Big +1 for me as well. I wanted to add a comment to explain that I really like to work with Karthikeyan, but others already added great comments. I concur with all that has been said about him :slight_smile: Great triager, great reviewer, he is very kind, etc.

@asvetlov: I’m fine with a delay of 1 week, but maybe we could extend the vote duration to 10 days or even 2 weeks, since you opened during Christmas and Hanuka. Maybe some core developers are not available. I wasn’t supposed to check my Python emails today :slight_smile: I was supposed to not check them for 1 week in fact.


+1 from me. Karthikeyan brings a lot of energy and is very careful and committed. His contributions so far have been amazing.


I’m ok with the vote closing day postponing, it doesn’t change the vote result IMHO.

The only thing that scares me: I had specified auto-closing date at the poll creation. Does the date editing reset the poll result? I don’t want to enforce everybody cast the vote again.

Looking at history, a new committer election usually picks about 30 votes. By the rule, 2/3 of them should be positive for the successful election.
Karthikeyan has 30 votes already, and all of them are positives.
I very doubt if we will get additional 15+ negatives with zero positives to change the vote result even if we extend the voting in an extra week.

Please don’t get me wrong, I support the idea of extending but don’t want to experiment with (potential) reset of existing casts and asking for voting again.

Sorry for the late reply, I had holidays as well.


I agree with Andrew that there’s no reason to extend the vote: the result isn’t going to change and it shouldn’t. Let’s get it done before 2019 ends, so that Karthikeyan will have a chance to merge something to 2.7 :wink:.


I am fine with keeping the original closing date, because there are already 30 voters which is very close to the usual number of voters when a vote ends.

I only proposed to extend the vote to make sure that we get enough voters. It is the case, so it’s ok.


The vote has ended with the following result: 34 votes to promote (100%), 0 votes to reject.

The next step is the official Steering Council pronouncement.

My congratulations, Karthikeyan!


The steering council has no objections, and so I have reached out to @xtreak by email for details to turn on his new privileges.


Thank you very much everyone for your kind words, something I will cherish for a long time. I had a great journey throughout the 1.5 years interacting with everyone. I also had a wonderful experience with everyone being welcoming at the sprints though I was nervous given my first travel outside India. Thanks @asvetlov, @vstinner and @yselivanov for their invaluable mentorship and guidance.

Looking forward to contribute more to CPython and ecosystem :slight_smile:


Congrats! You earned it :smiley: Thanks for all you do for Python.