21. Experts Index
This document has tables that list Python Modules, Tools, Platforms and Interest Areas and names for each item that indicate a maintainer or an 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 add to the nosy list or to contact directly by email for help and decisions on feature requests and bug fixes. People on this list may be asked to render final judgement on a feature or bug. If no active maintainer is listed for a given module, then questionable changes should go to python-dev, while any other issues can and should be decided by any committer.
Unless a name is followed by a ‘*’, you should never assign an issue to that person, only make them nosy. Names followed by a ‘*’ may be assigned issues involving the module or topic.
The Platform and Interest Area tables list broader fields in which various people 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 an extended period (three weeks or more), they should be marked as inactive in this list by placing the word ‘inactive’ in parenthesis behind their tracker id. They are of course free to remove that inactive mark at any 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 people must be contacted for decisions; it is, rather, a resource to be used by non-committers to find responsible parties, and by committers who do not feel qualified to make a decision in a particular context.
See also PEP 291 and PEP 360 for information about certain modules with special rules.
21.1. Stdlib
Module | Maintainers |
---|---|
future | |
main | gvanrossum, ncoghlan |
_dummy_thread | brett.cannon |
_thread | |
_testbuffer | |
abc | |
aifc | r.david.murray |
argparse | rhettinger |
array | |
ast | benjamin.peterson, pablogsal, BTaskaya |
asynchat | josiahcarlson, giampaolo.rodola, stutzbach |
asyncio | yselivanov, asvetlov |
asyncore | josiahcarlson, giampaolo.rodola, stutzbach |
atexit | |
audioop | serhiy.storchaka |
base64 | |
bdb | |
binascii | |
binhex | |
bisect | rhettinger |
builtins | |
bz2 | |
calendar | rhettinger |
cgi | ethan.furman |
cgitb | ethan.furman |
chunk | |
cmath | mark.dickinson |
cmd | |
code | |
codecs | lemburg, doerwalter |
codeop | |
collections | rhettinger |
collections.abc | rhettinger, stutzbach |
colorsys | |
compileall | |
concurrent.futures | pitrou, bquinlan |
configparser | lukasz.langa |
contextlib | ncoghlan, yselivanov |
contextvars | |
copy | alexandre.vassalotti |
copyreg | alexandre.vassalotti |
cProfile | |
crypt | jafo |
csv | skip.montanaro (inactive) |
ctypes | theller (inactive), belopolsky, amaury.forgeotdarc, meador.inge |
curses | twouters |
dataclasses | eric.smith |
datetime | belopolsky, p-ganssle |
dbm | |
decimal | facundobatista, rhettinger, mark.dickinson |
difflib | tim.peters (inactive) |
dis | yselivanov |
distutils | eric.araujo, dstufft |
doctest | tim.peters (inactive) |
dummy_threading | brett.cannon |
barry, r.david.murray, maxking | |
encodings | lemburg |
ensurepip | ncoghlan, dstufft, pradyunsg |
enum | eli.bendersky, barry, ethan.furman |
errno | twouters |
faulthandler | vstinner |
fcntl | twouters |
filecmp | |
fileinput | |
fnmatch | |
formatter | |
fractions | mark.dickinson, rhettinger |
ftplib | giampaolo.rodola |
functools | rhettinger |
gc | pitrou, pablogsal |
getopt | |
getpass | |
gettext | |
glob | |
grp | |
gzip | |
hashlib | christian.heimes, gregory.p.smith |
heapq | rhettinger, stutzbach |
hmac | christian.heimes, gregory.p.smith |
html | ezio.melotti |
http | |
idlelib | kbk (inactive), terry.reedy, roger.serwy (inactive), taleinat |
imaplib | |
imghdr | |
imp | |
importlib | brett.cannon |
inspect | yselivanov |
io | benjamin.peterson, stutzbach |
ipaddress | pmoody |
itertools | rhettinger |
json | bob.ippolito (inactive), ezio.melotti, rhettinger |
keyword | |
lib2to3 | benjamin.peterson |
libmpdec | |
linecache | |
locale | lemburg |
logging | vinay.sajip |
lzma | |
mailbox | |
mailcap | |
marshal | |
math | mark.dickinson, rhettinger, stutzbach |
mimetypes | |
mmap | twouters |
modulefinder | theller (inactive), jvr |
msilib | |
msvcrt | |
multiprocessing | davin, pitrou, jnoller (inactive), sbt (inactive) |
netrc | |
nis | |
nntplib | |
numbers | |
operator | |
optparse | aronacher |
os | |
os.path | serhiy.storchaka |
ossaudiodev | |
parser | benjamin.peterson, pablogsal |
pathlib | |
pdb | |
pickle | alexandre.vassalotti |
pickletools | alexandre.vassalotti |
pipes | |
pkgutil | |
platform | lemburg |
plistlib | |
poplib | |
posix | larry |
pprint | fdrake |
profile | |
pstats | |
pty | twouters |
pwd | |
py_compile | |
pyclbr | BTaskaya |
pydoc | |
queue | rhettinger |
quopri | |
random | rhettinger, mark.dickinson |
re | effbot (inactive), ezio.melotti, serhiy.storchaka |
readline | twouters |
reprlib | |
resource | twouters |
rlcompleter | |
runpy | ncoghlan |
sched | |
secrets | |
select | |
selectors | neologix, giampaolo.rodola |
shelve | |
shlex | |
shutil | tarek, giampaolo.rodola |
signal | |
site | |
smtpd | giampaolo.rodola |
smtplib | |
sndhdr | |
socket | |
socketserver | |
spwd | |
sqlite3 | ghaering |
ssl | janssen, christian.heimes, dstufft, alex |
stat | christian.heimes |
statistics | steven.daprano, rhettinger |
string | |
stringprep | |
struct | mark.dickinson, meador.inge |
subprocess | astrand (inactive), giampaolo.rodola |
sunau | |
symbol | |
symtable | benjamin.peterson |
sys | |
sysconfig | tarek |
syslog | jafo |
tabnanny | tim.peters (inactive) |
tarfile | lars.gustaebel |
telnetlib | |
tempfile | |
termios | twouters |
test | ezio.melotti |
textwrap | |
threading | pitrou |
time | belopolsky, p-ganssle |
timeit | |
tkinter | gpolo, serhiy.storchaka |
token | |
tokenize | meador.inge |
trace | belopolsky |
traceback | iritkatriel |
tracemalloc | vstinner |
tty | twouters |
turtle | gregorlingl, willingc |
types | yselivanov |
typing | gvanrossum, levkivskyi |
unicodedata | lemburg, ezio.melotti |
unittest | michael.foord, ezio.melotti, rbcollins |
unittest.mock | michael.foord |
urllib | orsenthil |
uu | |
uuid | |
venv | vinay.sajip |
warnings | |
wave | |
weakref | fdrake |
webbrowser | |
winreg | stutzbach |
winsound | effbot (inactive) |
wsgiref | pje |
xdrlib | |
xml.dom | |
xml.dom.minidom | |
xml.dom.pulldom | |
xml.etree | effbot (inactive), eli.bendersky, scoder |
xml.parsers.expat | |
xml.sax | |
xml.sax.handler | |
xml.sax.saxutils | |
xml.sax.xmlreader | |
xmlrpc | |
zipapp | paul.moore |
zipfile | alanmcintyre, serhiy.storchaka, twouters |
zipimport | twouters |
zlib | twouters |
21.2. Tools
Tool | Maintainers |
---|---|
Argument Clinic | larry |
PEG Generator | gvanrossum, pablogsal, lys.nikolaou |
21.3. Platforms
Platform | Maintainers |
---|---|
AIX | David.Edelsohn |
Cygwin | jlt63, stutzbach |
FreeBSD | |
HP-UX | |
Linux | |
Mac OS X | ronaldoussoren, ned.deily |
NetBSD1 | |
OS2/EMX | aimacintyre |
Solaris/OpenIndiana | jcea |
Windows | tim.golden, zach.ware, steve.dower, paul.moore |
JVM/Java | frank.wierzbicki |
21.4. Miscellaneous
Interest Area | Maintainers |
---|---|
algorithms | rhettinger |
argument clinic | larry |
ast/compiler | benjamin.peterson, brett.cannon, yselivanov, pablogsal, Mark.Shannon, BTaskaya |
autoconf/makefiles | twouters |
bsd | |
bug tracker | ezio.melotti |
buildbots | zach.ware, pablogsal |
bytecode | benjamin.peterson, yselivanov, Mark.Shannon |
context managers | ncoghlan |
core workflow | mariatta |
coverity scan | christian.heimes, brett.cannon, twouters |
cryptography | gregory.p.smith, dstufft |
data formats | mark.dickinson |
database | lemburg |
devguide | eric.araujo, ezio.melotti, willingc, mariatta |
documentation | ezio.melotti, eric.araujo, mdk, willingc |
emoji | mariatta |
extension modules | petr.viktorin, ncoghlan |
filesystem | giampaolo.rodola |
f-strings | eric.smith |
GUI | |
i18n | lemburg, eric.araujo |
import machinery | brett.cannon, ncoghlan, eric.snow |
io | benjamin.peterson, stutzbach |
locale | lemburg |
mathematics | mark.dickinson, lemburg, stutzbach, rhettinger |
memory management | tim.peters, lemburg, twouters |
memoryview | |
networking | giampaolo.rodola, |
object model | benjamin.peterson, twouters |
packaging | tarek, lemburg, alexis, eric.araujo, dstufft, paul.moore |
pattern matching | brandtbucher |
peg parser | gvanrossum, pablogsal, lys.nikolaou |
performance | brett.cannon, vstinner, serhiy.storchaka, yselivanov, rhettinger, Mark.Shannon |
pip | ncoghlan, dstufft, paul.moore, Marcus.Smith, pradyunsg |
py3 transition | benjamin.peterson |
release management | tarek, lemburg, benjamin.peterson, barry, gvanrossum, anthonybaxter, eric.araujo, ned.deily, georg.brandl, mdk |
str.format | eric.smith* |
testing | michael.foord, ezio.melotti |
test coverage | |
threads | |
time and dates | lemburg, belopolsky, p-ganssle |
unicode | lemburg, ezio.melotti, benjamin.peterson, |
version control | eric.araujo, ezio.melotti |
21.5. Documentation Translations
Translation | Coordinator |
---|---|
French | mdk |
Japanese | inada.naoki |
Korean | flowdas |
Bengali India | kushal.das |
Hungarian | gbtami |
Portuguese | rougeth |
Chinese (TW) | adrianliaw |
Chinese (CN) | zhsj |