Important
This is part of aDraft of the Python Contributor’s Guide.Text in square brackets are notes about content to fill in.Currently, the devguide and this new Contributor’s Guide co-exist in therepo. We are using Sphinx include directives to demonstrate the re-organization.The final Contributor’s Guide will replace the devguide with content in only oneplace.We welcome help with this!
The[Plan for the Contributor’s Guide] page has more details about the current state of this draftandhow you can help. See more info about the Contributor Guide in thediscussion forum:Refactoring the DevGuide.
[This is the existing core teamExperts index page from the devguide.]
This document has tables that list Python Modules, Tools, Platforms andInterest Areas and GitHub names for each item that indicate a maintainer oran expert in the field. This list is intended to be used by issue submitters,issue triage people, and other issue participants to find people to @mentionor add as reviewers to issues and pull requests. People on this list may beasked to render final judgment on a feature or bug. If no active maintaineris listed for a given module, then questionable changes should be discussedon theCore Development Discourse category,while any other issues can and should be decided by any committer.
Developers can choose to follow labels, so if a label that they arefollowing is added to an issue or pull request, they will be notifiedautomatically. The.github/CODEOWNERS file is also used to indicatemaintainers that will be automatically added as reviewers to pull requests.
Unless a name is followed by a ‘*’, you should never assign an issue tothat person. Names followed by a ‘*’ may be assigned issues involving themodule or topic.
Names followed by a ‘^’ indicate old bugs.python.org usernames, for peoplethat did not transition to GitHub.
The Platform and Interest Area tables list broader fields in which variouspeople have expertise. These people can also be contacted for help,opinions, and decisions when issues involve their areas.
If a listed maintainer does not respond to requests for comment for anextended period (three weeks or more), they should be marked as inactivein this list by placing the word ‘inactive’ in parenthesis behind theirtracker id. They are of course free to remove that inactive mark atany time.
Committers should update these tables as their areas of expertise widen.New topics may be added to the Interest Area table at will.
The existence of this list is not meant to indicate that these peoplemust be contacted for decisions; it is, rather, a resource to be usedby non-committers to find responsible parties, and by committers who donot feel qualified to make a decision in a particular context.
Module | Maintainers |
|---|---|
__future__ | |
__main__ | gvanrossum, ncoghlan |
_thread | |
abc | |
annotationlib | JelleZijlstra* |
argparse | savannahostrowski*, serhiy-storchaka* |
array | |
ast | benjaminp, pablogsal, isidentical, JelleZijlstra, eclips4 |
asyncio | 1st1, asvetlov, gvanrossum, graingert, kumaraditya303, willingc |
atexit | |
base64 | |
bdb | |
binascii | |
bisect | rhettinger* |
builtins | |
calendar | |
cmath | |
cmd | |
code | |
codecs | malemburg, doerwalter |
codeop | |
collections | rhettinger* |
collections.abc | rhettinger*, stutzbach^ |
colorsys | |
compileall | carljm |
compression.bz2 | |
compression.gzip | |
compression.lzma | |
compression.zlib | Yhg1s, gpshead*, emmatyping |
compression.zstd | emmatyping* |
concurrent.futures | pitrou, brianquinlan, gpshead* |
configparser | ambv* |
contextlib | ncoghlan, 1st1 |
contextvars | |
copy | avassalotti, serhiy-storchaka* |
copyreg | avassalotti, serhiy-storchaka* |
cProfile | |
csv | smontanaro (inactive), serhiy-storchaka* |
ctypes | theller (inactive), abalkin, amauryfa, meadori |
curses | Yhg1s |
dataclasses | ericvsmith*, carljm |
datetime | abalkin, pganssle |
dbm | |
decimal | facundobatista, rhettinger |
difflib | tim-one (inactive) |
dis | 1st1 |
doctest | tim-one (inactive) |
warsaw, bitdancer*, maxking | |
encodings | malemburg |
ensurepip | ncoghlan, dstufft, pradyunsg, pfmoore |
enum | eliben*, warsaw, ethanfurman* |
errno | Yhg1s |
faulthandler | vstinner, gpshead, ZeroIntensity* |
fcntl | Yhg1s |
filecmp | |
fileinput | |
fnmatch | serhiy-storchaka* |
fractions | |
ftplib | giampaolo* |
functools | rhettinger* |
gc | pitrou, pablogsal, nascheme |
getopt | serhiy-storchaka* |
getpath | FFY00 |
getpass | |
gettext | tomasr8 |
glob | serhiy-storchaka* |
grp | |
hashlib | tiran, gpshead*, picnixz |
heapq | rhettinger*, stutzbach^ |
hmac | tiran, gpshead*, picnixz |
html | ezio-melotti* |
http | |
idlelib | kbkaiser (inactive), terryjreedy*, serwy (inactive),taleinat |
imaplib | |
importlib | brettcannon |
inspect | 1st1 |
io | benjaminp, stutzbach^ |
ipaddress | pmoody^ |
itertools | rhettinger* |
json | etrepum (inactive), ezio-melotti, rhettinger,serhiy-storchaka* |
keyword | |
libmpdec | |
linecache | |
locale | malemburg |
logging | vsajip |
mailbox | |
marshal | |
math | rhettinger, stutzbach^ |
mimetypes | |
mmap | Yhg1s |
modulefinder | theller (inactive), jvr^ |
msvcrt | |
multiprocessing | applio*, pitrou, jnoller^ (inactive), sbt^ (inactive), gpshead* |
netrc | |
numbers | |
operator | |
optparse | mitsuhiko, serhiy-storchaka* |
os | |
os.path | serhiy-storchaka* |
parser | pablogsal |
pathlib | barneygale* |
pdb | gaogaotiantian |
pickle | avassalotti, serhiy-storchaka* |
pickletools | avassalotti, serhiy-storchaka* |
pkgutil | |
platform | malemburg |
plistlib | |
poplib | |
posix | larryhastings, gpshead |
pprint | freddrake |
profile | |
pstats | |
pty | Yhg1s* |
pwd | |
py_compile | carljm |
pyclbr | isidentical |
pydoc | AA-Turner, serhiy-storchaka* |
queue | rhettinger* |
quopri | |
random | rhettinger |
re | ezio-melotti, serhiy-storchaka* |
readline | Yhg1s |
reprlib | |
resource | Yhg1s |
rlcompleter | |
runpy | ncoghlan |
sched | |
secrets | |
select | |
selectors | neologix^, giampaolo |
shelve | |
shlex | |
shutil | tarekziade, giampaolo |
signal | gpshead |
site | |
smtplib | |
socket | gpshead |
socketserver | |
sqlite3 | ghaering^, erlend-aasland* |
ssl | jackjansen, tiran, dstufft, alex |
stat | tiran |
statistics | stevendaprano, rhettinger |
string | |
stringprep | |
struct | meadori |
subprocess | astrand^ (inactive), giampaolo, gpshead* |
symtable | benjaminp |
sys | |
sysconfig | FFY00 |
syslog | jafo^* |
tabnanny | tim-one (inactive) |
tarfile | gustaebel |
tempfile | serhiy-storchaka* |
termios | Yhg1s |
test | ezio-melotti, serhiy-storchaka* |
textwrap | |
threading | pitrou, gpshead |
time | abalkin, pganssle |
timeit | |
tkinter | gpolo^, serhiy-storchaka* |
token | |
tokenize | meadori |
tomllib | hauntsaninja* |
trace | abalkin |
traceback | iritkatriel |
tracemalloc | vstinner |
tty | Yhg1s* |
turtle | gregorlingl^, willingc |
turtledemo | terryjreedy* |
types | 1st1 |
typing | gvanrossum, JelleZijlstra*, AlexWaygood*, carljm, sobolevn* |
unicodedata | malemburg, ezio-melotti |
unittest | ezio-melotti, rbtcollins, gpshead, serhiy-storchaka* |
unittest.mock | |
urllib | orsenthil |
uuid | |
venv | vsajip, FFY00 |
warnings | |
wave | |
weakref | freddrake, nascheme |
webbrowser | |
winreg | stutzbach^ |
winsound | |
wsgiref | pjenvey |
xml.dom | |
xml.dom.minidom | |
xml.dom.pulldom | |
xml.etree | eliben*, scoder |
xml.parsers.expat | |
xml.sax | |
xml.sax.handler | |
xml.sax.saxutils | |
xml.sax.xmlreader | |
xmlrpc | |
zipapp | pfmoore |
zipfile | alanmcintyre^, serhiy-storchaka, Yhg1s, gpshead |
zipimport | Yhg1s* |
zoneinfo | pganssle |
Tool | Maintainers |
|---|---|
Argument Clinic | larryhastings, AlexWaygood*, erlend-aasland,serhiy-storchaka* |
Deepfreeze | gvanrossum, kumaraditya303 |
PEG Generator | gvanrossum, pablogsal, lysnikolaou |
For official contacts for supported platforms, seePEP 11.
Platforms listed here are not necessarily supported by CPython.Some of the experts listed here maintain and distribute Pythonfor “their” platform as a third-party project.
Platform | Maintainers |
|---|---|
AIX | edelsohn, ayappanec |
Android | mhsmith |
Cygwin | jlt63^, stutzbach^ |
Emscripten | hoodmane, pmp-p, rdb, rth, ryanking13 |
FreeBSD | |
HP-UX | |
iOS | freakboy3742, ned-deily |
JVM/Java | frank.wierzbicki^ |
Linux | |
macOS | ronaldoussoren, ned-deily, freakboy3742 |
NetBSD1 | |
OS2/EMX | aimacintyre^ |
Solaris/OpenIndiana | jcea, kulikjak |
Windows | tjguk, zooba, pfmoore |
Interest Area | Maintainers |
|---|---|
algorithms | rhettinger*, serhiy-storchaka |
argument clinic | larryhastings, AlexWaygood*, erlend-aasland,serhiy-storchaka* |
AST/compiler | benjaminp, 1st1, pablogsal, markshannon, isidentical, brandtbucher, carljm, iritkatriel |
autoconf/makefiles | Yhg1s*, emmatyping |
issue tracker | ezio-melotti |
buildbots | zware, pablogsal |
bytecode | benjaminp, 1st1, markshannon, brandtbucher, carljm, iritkatriel |
context managers | ncoghlan |
core workflow | Mariatta, ezio-melotti, hugovk, AA-Turner |
cryptography | gpshead, dstufft, picnixz |
data formats | |
database | malemburg |
devguide | merwok, ezio-melotti, willingc, Mariatta, hugovk,AA-Turner |
documentation | ezio-melotti, merwok, JulienPalard, willingc, hugovk,AA-Turner, AlexWaygood* |
emoji | Mariatta |
extension modules | encukou, ncoghlan |
filesystem | giampaolo |
frozen modules | ericsnowcurrently, gvanrossum, kumaraditya303 |
f-strings | ericvsmith* |
GUI | |
i18n | malemburg, merwok, tomasr8 |
import machinery | brettcannon, ncoghlan, ericsnowcurrently, FFY00 |
initialization | FFY00 |
io | benjaminp, stutzbach^, gpshead |
JIT | brandtbucher*, savannahostrowski* |
locale | malemburg |
mathematics | malemburg, stutzbach^, rhettinger, serhiy-storchaka |
memory management | tim-one, malemburg, Yhg1s, nascheme |
memoryview | |
networking | giampaolo, gpshead |
object model | benjaminp, Yhg1s |
packaging | tarekziade, malemburg, alexis^, merwok, dstufft, pfmoore, emmatyping |
pattern matching | brandtbucher* |
PEG parser | gvanrossum, pablogsal, lysnikolaou |
performance | vstinner, serhiy-storchaka*, 1st1, rhettinger, markshannon,brandtbucher, carljm, Fidget-Spinner, AlexWaygood*, nascheme |
pip | ncoghlan, dstufft, pfmoore, Marcus.Smith^, pradyunsg |
release management | tarekziade, malemburg, benjaminp, warsaw,gvanrossum, anthonybaxter^, merwok, ned-deily,birkenfeld, JulienPalard, hugovk |
runtime lifecycle | ericsnowcurrently, kumaraditya303, zooba, ZeroIntensity, nascheme |
str.format | ericvsmith* |
subinterpreters | ericsnowcurrently, kumaraditya303, ZeroIntensity* |
symbol table | JelleZijlstra, carljm |
testing | ezio-melotti |
test coverage | |
threads | gpshead |
time and dates | malemburg, abalkin, pganssle |
Unicode | malemburg, ezio-melotti, benjaminp |
version control | merwok, ezio-melotti |
Translations are within the charter ofEditorial Board.For a list of translations and their coordinators, seethis table of translations.