Things you can get/do as a Python core developer

I’ve been a Python core developer since January 27, 2017.

Being a Python core developer comes with perks, privileges, and also responsibilities.

Sometimes I can’t tell whether something is a perk, or a privilege, or a responsibility. I think depends on who you’re talking to, they might see it as an optional nice thing they could get/do, but the same thing might be seen as burden responsibility to others.

Here are a list of all of the things I can get and do as a Python core developer, and I’ll leave it to you to decide whether you see it as a perk, privilege, or a responsibility.

Commit access to CPython repository (and 20+ other Python repos)

I see the green “Merge” button on the CPython GitHub repo. I can merge my PRs, and I can merge other people’s PRs.

Of course, I don’t just merge randomly everything as I please. PRs still go through reviews. Other core devs can also reject my PRs, and they can revert any changes I make if they disagree. Though this hasn’t happened yet in my case.

And of course I don’t commit malicious code.

Yes I can merge, but it is also something that we each have to do responsibly.

It’s not just the CPython that I have commit access to. I also have write privileges to other related Python repositories like the devguide, peps, core-workflow, bedevere, etc.

A python.org email address

I have my own python dot org email address. I use it when people want to contact me for Python-related things. But I don’t use it for non-Python related things. Eg. when I apply for jobs, or when signing up for a food-delivery app account.

Attend Python Language Summit at PyCon US

As a Python core developer, I get to attend the Python Language Summit. Non Python core team members can apply and sign up for it too, but core developer gets first dibs to available space.

Note that this is a change from before I started co-chairing the Language Summit in 2019. Prior to 2019, the summit was exclusively only for Python core developers. If you’re not a core developer, then you needed to first be invited by another core developer.

It was one of the things I took the initiative to change when I co-chaired the summit. Waiting to be invited, or becoming friend of a core dev, is such a narrow gate to participation. By allowing more people to sign up, it opens up the summit for more diverse voices and perspectives.

Since 2019, non-core developers like triagers and maintainers of other relevant open source libraries have been participating and in the language summit, like the maintainers of Hypothesis, BeeWare, CircuitPython, etc.

Access to CPython “funds”

As a Python core developer, I can apply for funds from the PSF for these things:

  • Python Core Sprint
  • Travel grant to PyCon US
  • Free registration to PyCon US

Note that even though PyCon US has its own travel grant fund, (and there’s also a separate fund from PyLadies at PyCon US), the funds for the Python core devs are separate from all those. i.e. I won’t be taking away funds from other attendees. Only from other core devs. And of course, the expectation is that if a core dev has employer who could pay for their travel, then they should be asking their employer first. But for me, most of the time, my employer aren’t funding my core Python activities, so yeah I’m one of the recipients of these “CPython funds”.

The fund comes from the PSF’s Sponsor income: “Core Development Benefits”. You can read more about CPython’s financials posted by Thomas Wouters on Discourse. I wish this is in more publicly visible place though, not buried under old Discourse topics.

Python core sprints in which I was covered by the PSF instead of by employer:

  • 2017 (Bay Area, USA)
  • 2018 (Redmond, USA)
  • 2020 (online)
  • 2021 (online)
  • 2022 (Mountain View, USA)
  • 2023 (Brno, Czech Republic)
  • 2024 (Bellevue, USA)

Now that I think of it, it’s basically all of them. The PSF covered the cost of my travel and hotel accommodation for the sprints. You can read in my sprint blog post to learn exactly what was covered for the Bellevue sprint (and how much). I’m sharing all of this for transparency.

I didn’t attend the sprint in 2019 because it conflicted with work event at the time.

There was no travel involved for the online sprints (2020 and 2021), but we did receive meal stipends from The PSF.

PyCon US in which I applied for travel grants as a Python core developer:

  • 2017
  • 2024

In 2015 and 2016 I received travel grant from the PyLadies PyCon US travel grant pool because I was not yet a core dev back then.

In 2018, 2019, my employer back then covered my travel.

2020 and 2021 were online so no travel involved.

In 2022, my employer paid for my flight ticket, but my hotel was covered by The PSF because I was the conference co-chair.

In 2023, I was expecting my employer to cover my conference travel costs, but they didn’t. I only learned about it after the PyCon US travel grant application has closed. If I had learned about it sooner, I would have applied for the travel grant. However because I was also serving as conference chair for PyCon US, I wrote a message to PSF accounting team, and they covered everything for me.

Nominate people for Python triage privileges

Becoming a Python Triager requires only one approval from Python core developer. As of now, I have nominated 6 people for Python triage privileges.

Nominate people for Python core privileges

Becoming a Python core team member requires a vote from the existing Python core developers, and at least 2/3 positive vote.

As of now, I have nominated 2 people for Python core privileges.

Write a PEP without needing a sponsor

As a Python core developer I can go ahead and write a PEP. So far I have authored 4 PEPs, including PEP 581: Using GitHub Issues for CPython.

Non-core devs can write a PEP too, but they need to have a core dev willing to sponsor it. So far I have sponsored 2 PEPs.

Access to private python/voters repository

Most Python repositories are public and open source, but the python/voters GitHub repo is private and only accessible by Python core developers. This repo contains sensitive and private information that we use during Python steering council election. (like personal email address).

Self-nominate for Python Steering Council

Python core devs can step up and nominate themselves in the Python Steering Council elections. I nominated myself for Steering Council terms 2019, 2021, 2022, and 2024. I have never been elected as an SC member.

Nominate others for Python Steering Council election

Non-Python core devs can be nominated for Steering Council by any Python core developer.

I have not nominated anyone else yet for Python steering council.

Vote in the Python Steering Council election

Currently only Python core developers can vote in the annual Python Steering Council election.

I have been voting in the Python Steering Council election since 2019.

I’ve also opened a discussion thread about expanding the voters pool for the Python Steering Council elections. If this sounds interesting to you, please participate in the discussion, or write to me privately.

Free registration to EuroPython

Since 2018, the EuroPython Society has been offering free EuroPython registrations to Python core developers. The fund is called the “Guido van Rossum Core Developer Grant”.

I have never had the opportunity to attend EuroPython yet. Maybe one day.

JetBrains PyCharm Professional License

I’ve been using PyCharm IDE since the time I was still just learning to use Python, even before I moved to Vancouver, and long before I became a Python core developer.

My PyCharm License looks like this:

PyCharm 2024.2.3 (Professional Edition)
Build #PY-242.23339.19, built on September 25, 2024
Licensed to CPython development / Mariatta Wijaya
Subscription is active until September 2, 2025.
For non-commercial open source development only.

Visual Studio subscription

I don’t use VS, but I know this is available to Python core developers.

GitHub Copilot

GitHub Copilot is free for maintainers of popular open source projects. CPython is a popular open source project. So as a maintainer of Python, I get to use GitHub Copilot for free, and I’ve been integrating it with my PyCharm IDE.

Access to exclusive category and content on Python’s Discourse

On Python Discourse forum, Python core developers get to write on the “Committers” category, and I get a Python badge next to my handle stating that I’m a Python core developer.

Access to exclusive channel on Core Developer Discord

There is a Discord server for Python core developers, in which other contributors like triagers are also invited. As a core developer, I get access to an additional “committers” channel that is not available to other type of contributors.

Respect

Everyone’s always looking for ways to stand out in resumes, right? So do I. I’ve been an engineer for longer than I’ve been a core developer, and I do notice that having the extra title like open source maintainer and public speaker really make a difference. As a woman, as someone with foreign last name that nobody knows how to pronounce, as someone who looks foreign, and speaks in a foreign accent, having these extra “credentials” helped me be seen as more or less equal compared to other people.

I also notice that people treat you differently when you have a title like “Python core developer”. Maybe it doesn’t mean much to other core devs, but again, as myself, this title of “Python core developer” makes people treat you more seriously.

Of course, I wish that things are different. I wish that people treat me the same way regardless of my title. But, this is reality.

I also used to witness people making inappropriate racist/sexist jokes right in front of me, and then be told to “lighten up”, because “obviously” they were “just joking” and that I shouldn’t be too sensitive.

Well, after being a Python core dev, I almost never have to deal with that kind of thing anymore. I do think people are more careful about what they say and do around me now. Maybe there were still some incidents, but at least now I know I can just report them to the CoC team and let them take it from there.


So those are all the things I could think of right now as a Python core dev. It’s actually a big list! I might be missing more perks or responsibilities. If I think of anything more, I will update this post.

What do you think? Do you know about all of these perks? Do you think these are perks, privileges, or responsibilities?

If you want to start contributing to Python, check out the Python Developer’s Guide (soon to be called the Python Contributing Guide).