cpython/.github/CODEOWNERS

# See https://help.github.com/articles/about-codeowners/
# for more info about CODEOWNERS file

# It uses the same pattern rule for gitignore file
# https://git-scm.com/docs/gitignore#_pattern_format

# GitHub
.github/**                    @ezio-melotti @hugovk

# pre-commit
.pre-commit-config.yaml       @hugovk @AlexWaygood
.ruff.toml                    @hugovk @AlexWaygood

# Build system
configure*                    @erlend-aasland @corona10
Makefile.pre.in               @erlend-aasland
Modules/Setup*                @erlend-aasland

# argparse
**/*argparse*                 @savannahostrowski

# asyncio
**/*asyncio*                  @1st1 @asvetlov @kumaraditya303 @willingc

# Core
**/*context*                  @1st1
**/*genobject*                @markshannon
**/*hamt*                     @1st1
**/*jit*                      @brandtbucher @savannahostrowski
Objects/set*                  @rhettinger
Objects/dict*                 @methane @markshannon
Objects/typevarobject.c       @JelleZijlstra
Objects/type*                 @markshannon
Objects/codeobject.c          @markshannon
Objects/frameobject.c         @markshannon
Objects/call.c                @markshannon
Python/ceval*.c               @markshannon
Python/ceval*.h               @markshannon
Python/codegen.c              @markshannon @iritkatriel
Python/compile.c              @markshannon @iritkatriel
Python/assemble.c             @markshannon @iritkatriel
Python/flowgraph.c            @markshannon @iritkatriel
Python/instruction_sequence.c @iritkatriel
Python/bytecodes.c            @markshannon
Python/optimizer*.c           @markshannon
Python/optimizer_analysis.c   @Fidget-Spinner
Python/optimizer_bytecodes.c  @Fidget-Spinner
Python/symtable.c             @JelleZijlstra @carljm
Lib/_pyrepl/*                 @pablogsal @lysnikolaou @ambv
Lib/test/test_patma.py        @brandtbucher
Lib/test/test_type_*.py       @JelleZijlstra
Lib/test/test_capi/test_misc.py  @markshannon
Lib/test/test_pyrepl/*        @pablogsal @lysnikolaou @ambv
Tools/c-analyzer/             @ericsnowcurrently

# dbm
**/*dbm*                      @corona10 @erlend-aasland @serhiy-storchaka

# runtime state/lifecycle
**/*pylifecycle*              @ericsnowcurrently
**/*pystate*                  @ericsnowcurrently
**/*preconfig*                @ericsnowcurrently
**/*initconfig*               @ericsnowcurrently
**/*pathconfig*               @ericsnowcurrently
**/*sysmodule*                @ericsnowcurrently
**/*bltinmodule*              @ericsnowcurrently
**/*gil*                      @ericsnowcurrently
Include/internal/pycore_runtime.h   @ericsnowcurrently
Include/internal/pycore_interp.h    @ericsnowcurrently
Include/internal/pycore_tstate.h    @ericsnowcurrently
Include/internal/pycore_*_state.h   @ericsnowcurrently
Include/internal/pycore_*_init.h    @ericsnowcurrently
Include/internal/pycore_atexit.h    @ericsnowcurrently
Include/internal/pycore_freelist.h  @ericsnowcurrently
Include/internal/pycore_global_objects.h  @ericsnowcurrently
Include/internal/pycore_obmalloc.h  @ericsnowcurrently
Include/internal/pycore_pymem.h     @ericsnowcurrently
Include/internal/pycore_stackref.h  @Fidget-Spinner
Modules/main.c                @ericsnowcurrently
Programs/_bootstrap_python.c  @ericsnowcurrently
Programs/python.c             @ericsnowcurrently
Tools/build/generate_global_objects.py  @ericsnowcurrently

# Initialization
Doc/library/sys_path_init.rst @FFY00
Doc/c-api/init_config.rst     @FFY00

# getpath
**/*getpath*                  @FFY00

# site
**/*site.py                   @FFY00
Doc/library/site.rst          @FFY00

# Exceptions
Lib/test/test_except*.py      @iritkatriel
Objects/exceptions.c          @iritkatriel

# Hashing
**/*hashlib*                  @gpshead @tiran
**/*pyhash*                   @gpshead @tiran
**/sha*                       @gpshead @tiran
Modules/md5*                  @gpshead @tiran
**/*blake*                    @gpshead @tiran
Modules/_hacl/**              @gpshead

# logging
**/*logging*                  @vsajip

# venv
**/*venv*                     @vsajip @FFY00

# Launcher
/PC/launcher.c                @vsajip

# HTML
/Lib/html/                    @ezio-melotti
/Lib/_markupbase.py           @ezio-melotti
/Lib/test/test_html*.py       @ezio-melotti
/Tools/build/parse_html5_entities.py   @ezio-melotti

# Import (including importlib).
**/*import*                   @brettcannon @ericsnowcurrently @ncoghlan @warsaw
/Python/import.c              @kumaraditya303
Python/dynload_*.c            @ericsnowcurrently
**/*freeze*                   @ericsnowcurrently
**/*frozen*                   @ericsnowcurrently
**/*modsupport*               @ericsnowcurrently
**/*modulefinder*             @ericsnowcurrently
**/*moduleobject*             @ericsnowcurrently
**/*multiphase*               @ericsnowcurrently
**/*pkgutil*                  @ericsnowcurrently
**/*pythonrun*                @ericsnowcurrently
**/*runpy*                    @ericsnowcurrently
**/*singlephase*              @ericsnowcurrently
Lib/test/test_module/         @ericsnowcurrently
Doc/c-api/module.rst          @ericsnowcurrently
**/*importlib/resources/*     @jaraco @warsaw @FFY00
**/*importlib/metadata/*       @jaraco @warsaw

# Dates and times
**/*datetime*                 @pganssle @abalkin
**/*str*time*                 @pganssle @abalkin
Doc/library/time.rst          @pganssle @abalkin
Lib/test/test_time.py         @pganssle @abalkin
Modules/timemodule.c          @pganssle @abalkin
Python/pytime.c               @pganssle @abalkin
Include/internal/pycore_time.h  @pganssle @abalkin

# Email and related
**/*mail*                     @python/email-team
**/*smtp*                     @python/email-team
**/*mime*                     @python/email-team
**/*imap*                     @python/email-team
**/*poplib*                   @python/email-team

# Garbage collector
/Modules/gcmodule.c           @pablogsal
/Doc/library/gc.rst           @pablogsal

# Parser
/Parser/                      @pablogsal @lysnikolaou
/Tools/peg_generator/         @pablogsal @lysnikolaou
/Lib/test/test_peg_generator/ @pablogsal @lysnikolaou
/Grammar/python.gram          @pablogsal @lysnikolaou
/Lib/tokenize.py              @pablogsal @lysnikolaou
/Lib/test/test_tokenize.py    @pablogsal @lysnikolaou

# Code generator
/Tools/cases_generator/        @markshannon

# AST
Python/ast.c                  @isidentical @JelleZijlstra @eclips4
Python/ast_opt.c              @isidentical @eclips4
Parser/asdl.py                @isidentical @JelleZijlstra @eclips4
Parser/asdl_c.py              @isidentical @JelleZijlstra @eclips4
Lib/ast.py                    @isidentical @JelleZijlstra @eclips4
Lib/test/test_ast/            @eclips4

# Mock
/Lib/unittest/mock.py         @cjw296
/Lib/test/test_unittest/testmock/* @cjw296

# multiprocessing
**/*multiprocessing*          @gpshead

# SQLite 3
**/*sqlite*                   @berkerpeksag @erlend-aasland

# subprocess
/Lib/subprocess.py            @gpshead
/Lib/test/test_subprocess.py  @gpshead
/Modules/*subprocess*         @gpshead

# debugger
**/*pdb*                      @gaogaotiantian
**/*bdb*                      @gaogaotiantian

# Limited C API & stable ABI
Tools/build/stable_abi.py     @encukou
Misc/stable_abi.toml          @encukou
Doc/data/*.abi                @encukou
Doc/c-api/stable.rst          @encukou

# Windows
/PC/                          @python/windows-team
/PCbuild/                     @python/windows-team

# Urllib
**/*robotparser*              @berkerpeksag

# Windows installer packages
/Tools/msi/                   @python/windows-team
/Tools/nuget/                 @python/windows-team

# Misc
**/*itertools*                @rhettinger
**/*collections*              @rhettinger
**/*random*                   @rhettinger
**/*bisect*                   @rhettinger
**/*heapq*                    @rhettinger
**/*functools*                @rhettinger

**/*dataclasses*              @ericvsmith

**/*ensurepip*                @pfmoore @pradyunsg

/Doc/library/idle.rst         @terryjreedy
**/*idlelib*                  @terryjreedy
**/*turtledemo*               @terryjreedy

**/*annotationlib*            @JelleZijlstra
**/*typing*                   @JelleZijlstra @AlexWaygood

**/*ftplib                    @giampaolo
**/*shutil                    @giampaolo

**/*enum*                     @ethanfurman
**/*cgi*                      @ethanfurman
**/*tarfile*                  @ethanfurman

**/*tomllib*                  @encukou @hauntsaninja

**/*sysconfig*                @FFY00

**/*cjkcodecs*                @corona10

# macOS
/Mac/                         @python/macos-team
**/*osx_support*              @python/macos-team

# pathlib
**/*pathlib*                  @barneygale

# zipfile.Path
**/*zipfile/_path/*           @jaraco

# Argument Clinic
/Tools/clinic/**              @erlend-aasland
/Lib/test/test_clinic.py      @erlend-aasland
Doc/howto/clinic.rst          @erlend-aasland

# Subinterpreters
**/*interpreteridobject.*     @ericsnowcurrently
**/*crossinterp*              @ericsnowcurrently
Lib/test/support/interpreters/  @ericsnowcurrently
Modules/_interp*module.c      @ericsnowcurrently
Lib/test/test_interpreters/   @ericsnowcurrently

# Android
**/*Android*                  @mhsmith @freakboy3742
**/*android*                  @mhsmith @freakboy3742

# iOS (but not termios)
**/iOS*                       @freakboy3742
**/ios*                       @freakboy3742
**/*_iOS*                     @freakboy3742
**/*_ios*                     @freakboy3742
**/*-iOS*                     @freakboy3742
**/*-ios*                     @freakboy3742

# WebAssembly
/Tools/wasm/                  @brettcannon @freakboy3742

# SBOM
/Misc/externals.spdx.json     @sethmlarson
/Misc/sbom.spdx.json          @sethmlarson
/Tools/build/generate_sbom.py @sethmlarson

# Config Parser
Lib/configparser.py           @jaraco
Lib/test/test_configparser.py @jaraco

# Doc sections
Doc/reference/                @willingc

**/*weakref*                  @kumaraditya303