diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c5348d606b8..bd6b0ccba2e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -60,20 +60,20 @@ # ---------------------------------------------------------------------------- # Azure Pipelines -.azure-pipelines/ @AA-Turner +.azure-pipelines/ @zrsx/core-dev # GitHub & related scripts -.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz -Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz -Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz -Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg +.github/ @zrsx/core-dev +Tools/build/compute-changes.py @zrsx/core-dev +Lib/test/test_tools/test_compute_changes.py @zrsx/core-dev +Tools/build/verify_ensurepip_wheels.py @zrsx/core-dev # Pre-commit -.pre-commit-config.yaml @hugovk -.ruff.toml @hugovk @AlexWaygood @AA-Turner +.pre-commit-config.yaml @zrsx/core-dev +.ruff.toml @zrsx/core-dev # Patchcheck -Tools/patchcheck/ @AA-Turner +Tools/patchcheck/ @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -81,15 +81,15 @@ Tools/patchcheck/ @AA-Turner # ---------------------------------------------------------------------------- # Autotools -configure* @erlend-aasland @corona10 @AA-Turner @emmatyping -Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping -Modules/makesetup @erlend-aasland @AA-Turner @emmatyping -Modules/Setup* @erlend-aasland @AA-Turner @emmatyping -Tools/build/regen-configure.sh @AA-Turner +configure* @zrsx/core-dev +Makefile.pre.in @zrsx/core-dev +Modules/makesetup @zrsx/core-dev +Modules/Setup* @zrsx/core-dev +Tools/build/regen-configure.sh @zrsx/core-dev # generate-build-details -Tools/build/generate-build-details.py @FFY00 -Lib/test/test_build_details.py @FFY00 +Tools/build/generate-build-details.py @zrsx/core-dev +Lib/test/test_build_details.py @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -97,23 +97,23 @@ Lib/test/test_build_details.py @FFY00 # ---------------------------------------------------------------------------- # Internal Docs -InternalDocs/ @AA-Turner +InternalDocs/ @zrsx/core-dev # Tools, Configuration, etc -Doc/Makefile @AA-Turner @hugovk -Doc/_static/ @AA-Turner @hugovk -Doc/conf.py @AA-Turner @hugovk -Doc/make.bat @AA-Turner @hugovk -Doc/requirements.txt @AA-Turner @hugovk -Doc/tools/ @AA-Turner @hugovk +Doc/Makefile @zrsx/core-dev +Doc/_static/ @zrsx/core-dev +Doc/conf.py @zrsx/core-dev +Doc/make.bat @zrsx/core-dev +Doc/requirements.txt @zrsx/core-dev +Doc/tools/ @zrsx/core-dev # PR Previews -.readthedocs.yml @AA-Turner +.readthedocs.yml @zrsx/core-dev # Sections -Doc/c-api/ @ZeroIntensity -Doc/reference/ @willingc @AA-Turner -Doc/whatsnew/ @AA-Turner +Doc/c-api/ @zrsx/core-dev +Doc/reference/ @zrsx/core-dev +Doc/whatsnew/ @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -121,34 +121,38 @@ Doc/whatsnew/ @AA-Turner # ---------------------------------------------------------------------------- # Argument Clinic -Tools/clinic/ @erlend-aasland @AA-Turner -Lib/test/test_clinic.py @erlend-aasland @AA-Turner -Doc/howto/clinic.rst @erlend-aasland @AA-Turner +Tools/clinic/ @zrsx/core-dev +Lib/test/test_clinic.py @zrsx/core-dev +Doc/howto/clinic.rst @zrsx/core-dev # C Analyser -Tools/c-analyzer/ @ericsnowcurrently +Tools/c-analyzer/ @zrsx/core-dev # C API Documentation Checks -Tools/check-c-api-docs/ @ZeroIntensity +Tools/check-c-api-docs/ @zrsx/core-dev # Fuzzing -Modules/_xxtestfuzz/ @python/fuzzers -Lib/test/test_xxtestfuzz.py @python/fuzzers -.github/workflows/reusable-cifuzz.yml @python/fuzzers +# Fuzzing +Modules/_xxtestfuzz/ `@zrsx/core-dev` +Lib/test/test_xxtestfuzz.py `@zrsx/core-dev` +.github/workflows/reusable-cifuzz.yml `@zrsx/core-dev` +Modules/_xxtestfuzz/ @zrsx/core-dev +Lib/test/test_xxtestfuzz.py @zrsx/core-dev +.github/workflows/reusable-cifuzz.yml @zrsx/core-dev # Limited C API & Stable ABI -Doc/c-api/stable.rst @encukou -Doc/data/*.abi @encukou -Misc/stable_abi.toml @encukou -Tools/build/stable_abi.py @encukou +Doc/c-api/stable.rst @zrsx/core-dev +Doc/data/*.abi @zrsx/core-dev +Misc/stable_abi.toml @zrsx/core-dev +Tools/build/stable_abi.py @zrsx/core-dev # SBOM -Misc/externals.spdx.json @sethmlarson -Misc/sbom.spdx.json @sethmlarson -Tools/build/generate_sbom.py @sethmlarson +Misc/externals.spdx.json @zrsx/core-dev +Misc/sbom.spdx.json @zrsx/core-dev +Tools/build/generate_sbom.py @zrsx/core-dev # ABI check -Misc/libabigail.abignore @encukou +Misc/libabigail.abignore @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -156,45 +160,45 @@ Misc/libabigail.abignore @encukou # ---------------------------------------------------------------------------- # Android -Android/ @mhsmith @freakboy3742 -Doc/using/android.rst @mhsmith @freakboy3742 -Lib/_android_support.py @mhsmith @freakboy3742 -Lib/test/test_android.py @mhsmith @freakboy3742 +Android/ @zrsx/core-dev +Doc/using/android.rst @zrsx/core-dev +Lib/_android_support.py @zrsx/core-dev +Lib/test/test_android.py @zrsx/core-dev # iOS -Doc/using/ios.rst @freakboy3742 -Lib/_ios_support.py @freakboy3742 -Apple/ @freakboy3742 -iOS/ @freakboy3742 +Doc/using/ios.rst @zrsx/core-dev +Lib/_ios_support.py @zrsx/core-dev +Apple/ @zrsx/core-dev +iOS/ @zrsx/core-dev # macOS -Mac/ @python/macos-team -Lib/_osx_support.py @python/macos-team -Lib/test/test__osx_support.py @python/macos-team +Mac/ @zrsx/core-dev +Lib/_osx_support.py @zrsx/core-dev +Lib/test/test__osx_support.py @zrsx/core-dev # WebAssembly -Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping +Tools/wasm/README.md @zrsx/core-dev # WebAssembly (Emscripten) -Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping -Tools/wasm/emscripten @freakboy3742 @emmatyping +Tools/wasm/config.site-wasm32-emscripten @zrsx/core-dev +Tools/wasm/emscripten @zrsx/core-dev # WebAssembly (WASI) -Platforms/WASI @brettcannon @emmatyping @savannahostrowski -Tools/wasm/wasi-env @brettcannon @emmatyping @savannahostrowski -Tools/wasm/wasi.py @brettcannon @emmatyping @savannahostrowski -Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski +Platforms/WASI @zrsx/core-dev +Tools/wasm/wasi-env @zrsx/core-dev +Tools/wasm/wasi.py @zrsx/core-dev +Tools/wasm/wasi @zrsx/core-dev # Windows -PC/ @python/windows-team -PCbuild/ @python/windows-team +PC/ @zrsx/core-dev +PCbuild/ @zrsx/core-dev # Windows installer packages -Tools/msi/ @python/windows-team -Tools/nuget/ @python/windows-team +Tools/msi/ @zrsx/core-dev +Tools/nuget/ @zrsx/core-dev # Windows Launcher -PC/launcher.c @python/windows-team @vsajip +PC/launcher.c @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -202,162 +206,162 @@ PC/launcher.c @python/windows-team @vsajip # ---------------------------------------------------------------------------- # AST -Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4 @tomasr8 -Lib/ast.py @isidentical @JelleZijlstra @eclips4 @tomasr8 -Lib/test/test_ast/ @eclips4 @tomasr8 -Parser/asdl.py @isidentical @JelleZijlstra @eclips4 @tomasr8 -Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 @tomasr8 -Python/ast.c @isidentical @JelleZijlstra @eclips4 @tomasr8 -Python/ast_preprocess.c @isidentical @eclips4 @tomasr8 +Lib/_ast_unparse.py @zrsx/core-dev +Lib/ast.py @zrsx/core-dev +Lib/test/test_ast/ @zrsx/core-dev +Parser/asdl.py @zrsx/core-dev +Parser/asdl_c.py @zrsx/core-dev +Python/ast.c @zrsx/core-dev +Python/ast_preprocess.c @zrsx/core-dev # Built-in types -Objects/call.c @markshannon -Objects/codeobject.c @markshannon -Objects/dict* @methane @markshannon -Objects/frameobject.c @markshannon -**/*genobject* @markshannon -Objects/object.c @ZeroIntensity -Objects/set* @rhettinger -Objects/type* @markshannon -Objects/typevarobject.c @JelleZijlstra -Objects/unionobject.c @JelleZijlstra +Objects/call.c @zrsx/core-dev +Objects/codeobject.c @zrsx/core-dev +Objects/dict* @zrsx/core-dev +Objects/frameobject.c @zrsx/core-dev +**/*genobject* @zrsx/core-dev +Objects/object.c @zrsx/core-dev +Objects/set* @zrsx/core-dev +Objects/type* @zrsx/core-dev +Objects/typevarobject.c @zrsx/core-dev +Objects/unionobject.c @zrsx/core-dev # Byte code interpreter ('the eval loop') -Python/bytecodes.c @markshannon -Python/ceval* @markshannon -Tools/cases_generator/ @markshannon +Python/bytecodes.c @zrsx/core-dev +Python/ceval* @zrsx/core-dev +Tools/cases_generator/ @zrsx/core-dev # Compiler (AST to byte code) -Python/assemble.c @markshannon @iritkatriel -Python/codegen.c @markshannon @iritkatriel -Python/compile.c @markshannon @iritkatriel -Python/flowgraph.c @markshannon @iritkatriel -Python/instruction_sequence.c @iritkatriel -Python/symtable.c @JelleZijlstra @carljm +Python/assemble.c @zrsx/core-dev +Python/codegen.c @zrsx/core-dev +Python/compile.c @zrsx/core-dev +Python/flowgraph.c @zrsx/core-dev +Python/instruction_sequence.c @zrsx/core-dev +Python/symtable.c @zrsx/core-dev # Context variables & HAMT -**/contextvars* @1st1 -**/*hamt* @1st1 -Include/cpython/context.h @1st1 -Include/internal/pycore_context.h @1st1 -Lib/test/test_context.py @1st1 -Python/context.c @1st1 +**/contextvars* @zrsx/core-dev +**/*hamt* @zrsx/core-dev +Include/cpython/context.h @zrsx/core-dev +Include/internal/pycore_context.h @zrsx/core-dev +Lib/test/test_context.py @zrsx/core-dev +Python/context.c @zrsx/core-dev # Core Modules -**/*bltinmodule* @ericsnowcurrently -**/*sysmodule* @ericsnowcurrently +**/*bltinmodule* @zrsx/core-dev +**/*sysmodule* @zrsx/core-dev # Exceptions -Lib/test/test_except*.py @iritkatriel -Objects/exceptions.c @iritkatriel +Lib/test/test_except*.py @zrsx/core-dev +Objects/exceptions.c @zrsx/core-dev # Getpath -Lib/test/test_getpath.py @FFY00 -Modules/getpath* @FFY00 +Lib/test/test_getpath.py @zrsx/core-dev +Modules/getpath* @zrsx/core-dev # Hashing / ``hash()`` and related -Include/cpython/pyhash.h @gpshead @picnixz -Include/internal/pycore_pyhash.h @gpshead @picnixz -Include/pyhash.h @gpshead @picnixz -Python/pyhash.c @gpshead @picnixz +Include/cpython/pyhash.h @zrsx/core-dev +Include/internal/pycore_pyhash.h @zrsx/core-dev +Include/pyhash.h @zrsx/core-dev +Python/pyhash.c @zrsx/core-dev # The import system (including importlib) -**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 -Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303 -**/*freeze* @ericsnowcurrently -**/*frozen* @ericsnowcurrently -**/*modsupport* @ericsnowcurrently -**/*modulefinder* @ericsnowcurrently @FFY00 -**/*moduleobject* @ericsnowcurrently -**/*multiphase* @ericsnowcurrently -**/*pkgutil* @ericsnowcurrently @FFY00 -**/*pythonrun* @ericsnowcurrently -**/*runpy* @ericsnowcurrently @FFY00 -**/*singlephase* @ericsnowcurrently -Doc/c-api/module.rst @ericsnowcurrently -Lib/test/test_module/ @ericsnowcurrently -Python/dynload_*.c @ericsnowcurrently @FFY00 +**/*import* @zrsx/core-dev +Python/import.c @zrsx/core-dev +**/*freeze* @zrsx/core-dev +**/*frozen* @zrsx/core-dev +**/*modsupport* @zrsx/core-dev +**/*modulefinder* @zrsx/core-dev +**/*moduleobject* @zrsx/core-dev +**/*multiphase* @zrsx/core-dev +**/*pkgutil* @zrsx/core-dev +**/*pythonrun* @zrsx/core-dev +**/*runpy* @zrsx/core-dev +**/*singlephase* @zrsx/core-dev +Doc/c-api/module.rst @zrsx/core-dev +Lib/test/test_module/ @zrsx/core-dev +Python/dynload_*.c @zrsx/core-dev # Initialisation -**/*initconfig* @ericsnowcurrently @FFY00 -**/*pathconfig* @ericsnowcurrently @FFY00 -**/*preconfig* @ericsnowcurrently @FFY00 -Doc/library/sys_path_init.rst @FFY00 -Doc/c-api/init_config.rst @FFY00 +**/*initconfig* @zrsx/core-dev +**/*pathconfig* @zrsx/core-dev +**/*preconfig* @zrsx/core-dev +Doc/library/sys_path_init.rst @zrsx/core-dev +Doc/c-api/init_config.rst @zrsx/core-dev # Interpreter main program -Modules/main.c @ericsnowcurrently @FFY00 -Programs/_bootstrap_python.c @ericsnowcurrently @FFY00 -Programs/python.c @ericsnowcurrently @FFY00 +Modules/main.c @zrsx/core-dev +Programs/_bootstrap_python.c @zrsx/core-dev +Programs/python.c @zrsx/core-dev # JIT -.github/workflows/jit.yml @savannahostrowski -Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso -Python/jit.c @brandtbucher @savannahostrowski @diegorusso -Tools/jit/ @brandtbucher @savannahostrowski @diegorusso -InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner +.github/workflows/jit.yml @zrsx/core-dev +Include/internal/pycore_jit.h @zrsx/core-dev +Python/jit.c @zrsx/core-dev +Tools/jit/ @zrsx/core-dev +InternalDocs/jit.md @zrsx/core-dev # Lazy imports (PEP 810) -Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal -Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal -Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal +Objects/lazyimportobject.c @zrsx/core-dev +Include/internal/pycore_lazyimportobject.h @zrsx/core-dev +Lib/test/test_lazy_import @zrsx/core-dev # Micro-op / μop / Tier 2 Optimiser -Python/optimizer.c @markshannon @Fidget-Spinner -Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski -Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski -Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski +Python/optimizer.c @zrsx/core-dev +Python/optimizer_analysis.c @zrsx/core-dev +Python/optimizer_bytecodes.c @zrsx/core-dev +Python/optimizer_symbols.c @zrsx/core-dev # Parser, Lexer, and Grammar -Grammar/python.gram @pablogsal @lysnikolaou -Lib/test/test_peg_generator/ @pablogsal @lysnikolaou -Lib/test/test_tokenize.py @pablogsal @lysnikolaou -Lib/tokenize.py @pablogsal @lysnikolaou -Parser/ @pablogsal @lysnikolaou -Tools/peg_generator/ @pablogsal @lysnikolaou +Grammar/python.gram @zrsx/core-dev +Lib/test/test_peg_generator/ @zrsx/core-dev +Lib/test/test_tokenize.py @zrsx/core-dev +Lib/tokenize.py @zrsx/core-dev +Parser/ @zrsx/core-dev +Tools/peg_generator/ @zrsx/core-dev # Runtime state/lifecycle -**/*gil* @ericsnowcurrently -**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00 -**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00 -Include/internal/pycore_*_init.h @ericsnowcurrently -Include/internal/pycore_*_state.h @ericsnowcurrently -Include/internal/pycore_atexit.h @ericsnowcurrently -Include/internal/pycore_freelist.h @ericsnowcurrently -Include/internal/pycore_global_objects.h @ericsnowcurrently -Include/internal/pycore_interp.h @ericsnowcurrently -Include/internal/pycore_obmalloc.h @ericsnowcurrently -Include/internal/pycore_pymem.h @ericsnowcurrently -Include/internal/pycore_runtime.h @ericsnowcurrently -Include/internal/pycore_stackref.h @Fidget-Spinner -Include/internal/pycore_tstate.h @ericsnowcurrently -Tools/build/generate_global_objects.py @ericsnowcurrently +**/*gil* @zrsx/core-dev +**/*pylifecycle* @zrsx/core-dev +**/*pystate* @zrsx/core-dev +Include/internal/pycore_*_init.h @zrsx/core-dev +Include/internal/pycore_*_state.h @zrsx/core-dev +Include/internal/pycore_atexit.h @zrsx/core-dev +Include/internal/pycore_freelist.h @zrsx/core-dev +Include/internal/pycore_global_objects.h @zrsx/core-dev +Include/internal/pycore_interp.h @zrsx/core-dev +Include/internal/pycore_obmalloc.h @zrsx/core-dev +Include/internal/pycore_pymem.h @zrsx/core-dev +Include/internal/pycore_runtime.h @zrsx/core-dev +Include/internal/pycore_stackref.h @zrsx/core-dev +Include/internal/pycore_tstate.h @zrsx/core-dev +Tools/build/generate_global_objects.py @zrsx/core-dev # Remote Debugging -Python/remote_debug.h @pablogsal -Python/remote_debugging.c @pablogsal -Modules/_remote_debugging/ @pablogsal +Python/remote_debug.h @zrsx/core-dev +Python/remote_debugging.c @zrsx/core-dev +Modules/_remote_debugging/ @zrsx/core-dev # Sub-Interpreters -**/*crossinterp* @ericsnowcurrently -**/*interpreteridobject.* @ericsnowcurrently -Doc/library/concurrent.interpreters.rst @ericsnowcurrently -Lib/concurrent/futures/interpreter.py @ericsnowcurrently -Lib/concurrent/interpreters/ @ericsnowcurrently -Lib/test/support/channels.py @ericsnowcurrently -Lib/test/test__interp*.py @ericsnowcurrently -Lib/test/test_interpreters/ @ericsnowcurrently -Modules/_interp*module.c @ericsnowcurrently +**/*crossinterp* @zrsx/core-dev +**/*interpreteridobject.* @zrsx/core-dev +Doc/library/concurrent.interpreters.rst @zrsx/core-dev +Lib/concurrent/futures/interpreter.py @zrsx/core-dev +Lib/concurrent/interpreters/ @zrsx/core-dev +Lib/test/support/channels.py @zrsx/core-dev +Lib/test/test__interp*.py @zrsx/core-dev +Lib/test/test_interpreters/ @zrsx/core-dev +Modules/_interp*module.c @zrsx/core-dev # Template string literals (t-strings) -Lib/test/test_tstring.py @lysnikolaou -Objects/interpolationobject.c @lysnikolaou -Objects/templateobject.c @lysnikolaou +Lib/test/test_tstring.py @zrsx/core-dev +Objects/interpolationobject.c @zrsx/core-dev +Objects/templateobject.c @zrsx/core-dev # Tests -Lib/test/test_patma.py @brandtbucher -Lib/test/test_type_*.py @JelleZijlstra -Lib/test/test_capi/test_misc.py @markshannon +Lib/test/test_patma.py @zrsx/core-dev +Lib/test/test_type_*.py @zrsx/core-dev +Lib/test/test_capi/test_misc.py @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -365,281 +369,281 @@ Lib/test/test_capi/test_misc.py @markshannon # ---------------------------------------------------------------------------- # Annotationlib -Doc/library/annotationlib.rst @JelleZijlstra -Lib/annotationlib.py @JelleZijlstra -Lib/test/test_annotationlib.py @JelleZijlstra +Doc/library/annotationlib.rst @zrsx/core-dev +Lib/annotationlib.py @zrsx/core-dev +Lib/test/test_annotationlib.py @zrsx/core-dev # Argparse -Doc/**/argparse*.rst @savannahostrowski -Lib/argparse.py @savannahostrowski -Lib/test/test_argparse.py @savannahostrowski +Doc/**/argparse*.rst @zrsx/core-dev +Lib/argparse.py @zrsx/core-dev +Lib/test/test_argparse.py @zrsx/core-dev # Asyncio -Doc/library/asyncio*.rst @1st1 @asvetlov @kumaraditya303 @willingc -InternalDocs/asyncio.md @1st1 @asvetlov @kumaraditya303 @willingc @AA-Turner -Lib/asyncio/ @1st1 @asvetlov @kumaraditya303 @willingc -Lib/test/test_asyncio/ @1st1 @asvetlov @kumaraditya303 @willingc -Modules/_asynciomodule.c @1st1 @asvetlov @kumaraditya303 @willingc +Doc/library/asyncio*.rst @zrsx/core-dev +InternalDocs/asyncio.md @zrsx/core-dev +Lib/asyncio/ @zrsx/core-dev +Lib/test/test_asyncio/ @zrsx/core-dev +Modules/_asynciomodule.c @zrsx/core-dev # Bisect -Doc/library/bisect.rst @rhettinger -Lib/bisect.py @rhettinger -Lib/test/test_bisect.py @rhettinger -Modules/_bisectmodule.c @rhettinger +Doc/library/bisect.rst @zrsx/core-dev +Lib/bisect.py @zrsx/core-dev +Lib/test/test_bisect.py @zrsx/core-dev +Modules/_bisectmodule.c @zrsx/core-dev # Calendar -Lib/calendar.py @AA-Turner -Lib/test/test_calendar.py @AA-Turner +Lib/calendar.py @zrsx/core-dev +Lib/test/test_calendar.py @zrsx/core-dev # Cryptographic Primitives and Applications -**/*hashlib* @gpshead @picnixz -**/*hashopenssl* @gpshead @picnixz -**/*hmac* @gpshead @picnixz -**/*ssl* @gpshead @picnixz -Modules/_hacl/ @gpshead @picnixz -Modules/*blake* @gpshead @picnixz -Modules/*md5* @gpshead @picnixz -Modules/*sha* @gpshead @picnixz +**/*hashlib* @zrsx/core-dev +**/*hashopenssl* @zrsx/core-dev +**/*hmac* @zrsx/core-dev +**/*ssl* @zrsx/core-dev +Modules/_hacl/ @zrsx/core-dev +Modules/*blake* @zrsx/core-dev +Modules/*md5* @zrsx/core-dev +Modules/*sha* @zrsx/core-dev # Codecs -Modules/cjkcodecs/ @corona10 -Tools/unicode/gencjkcodecs.py @corona10 +Modules/cjkcodecs/ @zrsx/core-dev +Tools/unicode/gencjkcodecs.py @zrsx/core-dev # Collections -Doc/library/collections.abc.rst @rhettinger -Doc/library/collections.rst @rhettinger -Lib/_collections_abc.py @rhettinger -Lib/collections/ @rhettinger -Lib/test/test_collections.py @rhettinger -Modules/_collectionsmodule.c @rhettinger +Doc/library/collections.abc.rst @zrsx/core-dev +Doc/library/collections.rst @zrsx/core-dev +Lib/_collections_abc.py @zrsx/core-dev +Lib/collections/ @zrsx/core-dev +Lib/test/test_collections.py @zrsx/core-dev +Modules/_collectionsmodule.c @zrsx/core-dev # Colorize -Lib/_colorize.py @hugovk -Lib/test/test__colorize.py @hugovk +Lib/_colorize.py @zrsx/core-dev +Lib/test/test__colorize.py @zrsx/core-dev # Config Parser -Lib/configparser.py @jaraco -Lib/test/test_configparser.py @jaraco +Lib/configparser.py @zrsx/core-dev +Lib/test/test_configparser.py @zrsx/core-dev # Dataclasses -Doc/library/dataclasses.rst @ericvsmith -Lib/dataclasses.py @ericvsmith -Lib/test/test_dataclasses/ @ericvsmith +Doc/library/dataclasses.rst @zrsx/core-dev +Lib/dataclasses.py @zrsx/core-dev +Lib/test/test_dataclasses/ @zrsx/core-dev # Dates and times -Doc/**/*time.rst @pganssle @StanFromIreland -Doc/library/datetime-* @pganssle @StanFromIreland -Doc/library/zoneinfo.rst @pganssle @StanFromIreland -Include/datetime.h @pganssle @StanFromIreland -Include/internal/pycore_time.h @pganssle @StanFromIreland -Lib/test/test_zoneinfo/ @pganssle @StanFromIreland -Lib/zoneinfo/ @pganssle @StanFromIreland -Lib/*time.py @pganssle @StanFromIreland -Lib/test/datetimetester.py @pganssle @StanFromIreland -Lib/test/test_*time.py @pganssle @StanFromIreland -Modules/*zoneinfo* @pganssle @StanFromIreland -Modules/*time* @pganssle @StanFromIreland -Python/pytime.c @pganssle @StanFromIreland +Doc/**/*time.rst @zrsx/core-dev +Doc/library/datetime-* @zrsx/core-dev +Doc/library/zoneinfo.rst @zrsx/core-dev +Include/datetime.h @zrsx/core-dev +Include/internal/pycore_time.h @zrsx/core-dev +Lib/test/test_zoneinfo/ @zrsx/core-dev +Lib/zoneinfo/ @zrsx/core-dev +Lib/*time.py @zrsx/core-dev +Lib/test/datetimetester.py @zrsx/core-dev +Lib/test/test_*time.py @zrsx/core-dev +Modules/*zoneinfo* @zrsx/core-dev +Modules/*time* @zrsx/core-dev +Python/pytime.c @zrsx/core-dev # Dbm -Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka -Lib/dbm/ @corona10 @erlend-aasland @serhiy-storchaka -Lib/test/test_dbm*.py @corona10 @erlend-aasland @serhiy-storchaka -Modules/*dbm* @corona10 @erlend-aasland @serhiy-storchaka +Doc/library/dbm.rst @zrsx/core-dev +Lib/dbm/ @zrsx/core-dev +Lib/test/test_dbm*.py @zrsx/core-dev +Modules/*dbm* @zrsx/core-dev # Email and related -**/*mail* @python/email-team -**/*smtp* @python/email-team -**/*mime* @python/email-team -**/*imap* @python/email-team -**/*poplib* @python/email-team +**/*mail* @zrsx/core-dev +**/*smtp* @zrsx/core-dev +**/*mime* @zrsx/core-dev +**/*imap* @zrsx/core-dev +**/*poplib* @zrsx/core-dev # Ensurepip -Doc/library/ensurepip.rst @pfmoore @pradyunsg -Lib/ensurepip/ @pfmoore @pradyunsg -Lib/test/test_ensurepip.py @pfmoore @pradyunsg +Doc/library/ensurepip.rst @zrsx/core-dev +Lib/ensurepip/ @zrsx/core-dev +Lib/test/test_ensurepip.py @zrsx/core-dev # Enum -Doc/howto/enum.rst @ethanfurman -Doc/library/enum.rst @ethanfurman -Lib/enum.py @ethanfurman -Lib/test/test_enum.py @ethanfurman -Lib/test/test_json/test_enum.py @ethanfurman +Doc/howto/enum.rst @zrsx/core-dev +Doc/library/enum.rst @zrsx/core-dev +Lib/enum.py @zrsx/core-dev +Lib/test/test_enum.py @zrsx/core-dev +Lib/test/test_json/test_enum.py @zrsx/core-dev # FTP -Doc/library/ftplib.rst @giampaolo -Lib/ftplib.py @giampaolo -Lib/test/test_ftplib.py @giampaolo +Doc/library/ftplib.rst @zrsx/core-dev +Lib/ftplib.py @zrsx/core-dev +Lib/test/test_ftplib.py @zrsx/core-dev # Functools -Doc/library/functools.rst @rhettinger -Lib/functools.py @rhettinger -Lib/test/test_functools.py @rhettinger -Modules/_functoolsmodule.c @rhettinger +Doc/library/functools.rst @zrsx/core-dev +Lib/functools.py @zrsx/core-dev +Lib/test/test_functools.py @zrsx/core-dev +Modules/_functoolsmodule.c @zrsx/core-dev # Garbage collector -Modules/gcmodule.c @pablogsal -Doc/library/gc.rst @pablogsal -InternalDocs/garbage_collector.md @pablogsal +Modules/gcmodule.c @zrsx/core-dev +Doc/library/gc.rst @zrsx/core-dev +InternalDocs/garbage_collector.md @zrsx/core-dev # Gettext -Doc/library/gettext.rst @tomasr8 -Lib/gettext.py @tomasr8 -Lib/test/test_gettext.py @tomasr8 -Tools/i18n/pygettext.py @tomasr8 +Doc/library/gettext.rst @zrsx/core-dev +Lib/gettext.py @zrsx/core-dev +Lib/test/test_gettext.py @zrsx/core-dev +Tools/i18n/pygettext.py @zrsx/core-dev # Heapq -Doc/library/heapq* @rhettinger -Lib/heapq.py @rhettinger -Lib/test/test_heapq.py @rhettinger -Modules/_heapqmodule.c @rhettinger +Doc/library/heapq* @zrsx/core-dev +Lib/heapq.py @zrsx/core-dev +Lib/test/test_heapq.py @zrsx/core-dev +Modules/_heapqmodule.c @zrsx/core-dev # HTML -Doc/library/html* @ezio-melotti -Lib/html/ @ezio-melotti -Lib/_markupbase.py @ezio-melotti -Lib/test/test_html*.py @ezio-melotti -Tools/build/parse_html5_entities.py @ezio-melotti +Doc/library/html* @zrsx/core-dev +Lib/html/ @zrsx/core-dev +Lib/_markupbase.py @zrsx/core-dev +Lib/test/test_html*.py @zrsx/core-dev +Tools/build/parse_html5_entities.py @zrsx/core-dev # IDLE -Doc/library/idle.rst @terryjreedy -Lib/idlelib/ @terryjreedy -Lib/turtledemo/ @terryjreedy +Doc/library/idle.rst @zrsx/core-dev +Lib/idlelib/ @zrsx/core-dev +Lib/turtledemo/ @zrsx/core-dev # importlib.metadata -Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00 -Lib/importlib/metadata/ @jaraco @warsaw @FFY00 -Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00 +Doc/library/importlib.metadata.rst @zrsx/core-dev +Lib/importlib/metadata/ @zrsx/core-dev +Lib/test/test_importlib/metadata/ @zrsx/core-dev # importlib.resources -Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00 -Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00 -Lib/importlib/resources/ @jaraco @warsaw @FFY00 -Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00 +Doc/library/importlib.resources.abc.rst @zrsx/core-dev +Doc/library/importlib.resources.rst @zrsx/core-dev +Lib/importlib/resources/ @zrsx/core-dev +Lib/test/test_importlib/resources/ @zrsx/core-dev # Itertools -Doc/library/itertools.rst @rhettinger -Lib/test/test_itertools.py @rhettinger -Modules/itertoolsmodule.c @rhettinger +Doc/library/itertools.rst @zrsx/core-dev +Lib/test/test_itertools.py @zrsx/core-dev +Modules/itertoolsmodule.c @zrsx/core-dev # Logging -Doc/**/logging* @vsajip -Lib/logging/ @vsajip -Lib/test/test_logging.py @vsajip +Doc/**/logging* @zrsx/core-dev +Lib/logging/ @zrsx/core-dev +Lib/test/test_logging.py @zrsx/core-dev # Multiprocessing -Doc/library/multiprocessing*.rst @gpshead -Lib/multiprocessing/ @gpshead -Lib/test/*multiprocessing.py @gpshead -Lib/test/test_multiprocessing*/ @gpshead -Modules/_multiprocessing/ @gpshead +Doc/library/multiprocessing*.rst @zrsx/core-dev +Lib/multiprocessing/ @zrsx/core-dev +Lib/test/*multiprocessing.py @zrsx/core-dev +Lib/test/test_multiprocessing*/ @zrsx/core-dev +Modules/_multiprocessing/ @zrsx/core-dev # Pathlib -Doc/library/pathlib.rst @barneygale -Lib/pathlib/ @barneygale -Lib/test/test_pathlib/ @barneygale +Doc/library/pathlib.rst @zrsx/core-dev +Lib/pathlib/ @zrsx/core-dev +Lib/test/test_pathlib/ @zrsx/core-dev # Pdb & Bdb -Doc/library/bdb.rst @gaogaotiantian -Doc/library/pdb.rst @gaogaotiantian -Lib/bdb.py @gaogaotiantian -Lib/pdb.py @gaogaotiantian -Lib/test/test_bdb.py @gaogaotiantian -Lib/test/test_pdb.py @gaogaotiantian -Lib/test/test_remote_pdb.py @gaogaotiantian +Doc/library/bdb.rst @zrsx/core-dev +Doc/library/pdb.rst @zrsx/core-dev +Lib/bdb.py @zrsx/core-dev +Lib/pdb.py @zrsx/core-dev +Lib/test/test_bdb.py @zrsx/core-dev +Lib/test/test_pdb.py @zrsx/core-dev +Lib/test/test_remote_pdb.py @zrsx/core-dev # Pydoc -Lib/pydoc.py @AA-Turner -Lib/pydoc_data/ @AA-Turner -Lib/test/test_pydoc/ @AA-Turner +Lib/pydoc.py @zrsx/core-dev +Lib/pydoc_data/ @zrsx/core-dev +Lib/test/test_pydoc/ @zrsx/core-dev # Profiling (Sampling) -Doc/library/profiling*.rst @pablogsal -Lib/profiling/ @pablogsal -Lib/test/test_profiling/ @pablogsal +Doc/library/profiling*.rst @zrsx/core-dev +Lib/profiling/ @zrsx/core-dev +Lib/test/test_profiling/ @zrsx/core-dev # PyREPL -Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv -Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv +Lib/_pyrepl/ @zrsx/core-dev +Lib/test/test_pyrepl/ @zrsx/core-dev # Random -Doc/library/random.rst @rhettinger -Lib/random.py @rhettinger -Lib/test/test_random.py @rhettinger -Modules/_randommodule.c @rhettinger +Doc/library/random.rst @zrsx/core-dev +Lib/random.py @zrsx/core-dev +Lib/test/test_random.py @zrsx/core-dev +Modules/_randommodule.c @zrsx/core-dev # Shutil -Doc/library/shutil.rst @giampaolo -Lib/shutil.py @giampaolo -Lib/test/test_shutil.py @giampaolo +Doc/library/shutil.rst @zrsx/core-dev +Lib/shutil.py @zrsx/core-dev +Lib/test/test_shutil.py @zrsx/core-dev # Site -Lib/site.py @FFY00 -Lib/test/test_site.py @FFY00 -Doc/library/site.rst @FFY00 +Lib/site.py @zrsx/core-dev +Lib/test/test_site.py @zrsx/core-dev +Doc/library/site.rst @zrsx/core-dev # string.templatelib -Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner -Lib/string/templatelib.py @lysnikolaou @AA-Turner -Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner +Doc/library/string.templatelib.rst @zrsx/core-dev +Lib/string/templatelib.py @zrsx/core-dev +Lib/test/test_string/test_templatelib.py @zrsx/core-dev # Sysconfig -**/*sysconfig* @FFY00 +**/*sysconfig* @zrsx/core-dev # SQLite 3 -Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland -Lib/sqlite3/ @berkerpeksag @erlend-aasland -Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland -Modules/_sqlite/ @berkerpeksag @erlend-aasland +Doc/library/sqlite3.rst @zrsx/core-dev +Lib/sqlite3/ @zrsx/core-dev +Lib/test/test_sqlite3/ @zrsx/core-dev +Modules/_sqlite/ @zrsx/core-dev # Subprocess -Lib/subprocess.py @gpshead -Lib/test/test_subprocess.py @gpshead -Modules/*subprocess* @gpshead +Lib/subprocess.py @zrsx/core-dev +Lib/test/test_subprocess.py @zrsx/core-dev +Modules/*subprocess* @zrsx/core-dev # Tarfile -Doc/library/tarfile.rst @ethanfurman -Lib/tarfile.py @ethanfurman -Lib/test/test_tarfile.py @ethanfurman +Doc/library/tarfile.rst @zrsx/core-dev +Lib/tarfile.py @zrsx/core-dev +Lib/test/test_tarfile.py @zrsx/core-dev # TOML -Doc/library/tomllib.rst @encukou @hauntsaninja -Lib/test/test_tomllib/ @encukou @hauntsaninja -Lib/tomllib/ @encukou @hauntsaninja +Doc/library/tomllib.rst @zrsx/core-dev +Lib/test/test_tomllib/ @zrsx/core-dev +Lib/tomllib/ @zrsx/core-dev # Typing -Doc/library/typing.rst @JelleZijlstra @AlexWaygood -Lib/test/test_typing.py @JelleZijlstra @AlexWaygood -Lib/test/typinganndata/ @JelleZijlstra @AlexWaygood -Lib/typing.py @JelleZijlstra @AlexWaygood -Modules/_typingmodule.c @JelleZijlstra @AlexWaygood +Doc/library/typing.rst @zrsx/core-dev +Lib/test/test_typing.py @zrsx/core-dev +Lib/test/typinganndata/ @zrsx/core-dev +Lib/typing.py @zrsx/core-dev +Modules/_typingmodule.c @zrsx/core-dev # Types -Lib/test/test_types.py @AA-Turner -Lib/types.py @AA-Turner -Modules/_typesmodule.c @AA-Turner +Lib/test/test_types.py @zrsx/core-dev +Lib/types.py @zrsx/core-dev +Modules/_typesmodule.c @zrsx/core-dev # Unittest -Lib/unittest/mock.py @cjw296 -Lib/test/test_unittest/testmock/ @cjw296 +Lib/unittest/mock.py @zrsx/core-dev +Lib/test/test_unittest/testmock/ @zrsx/core-dev # Urllib -**/*robotparser* @berkerpeksag +**/*robotparser* @zrsx/core-dev # Venv -**/*venv* @vsajip @FFY00 +**/*venv* @zrsx/core-dev # Weakref -**/*weakref* @kumaraditya303 +**/*weakref* @zrsx/core-dev # Zipfile.Path -Lib/test/test_zipfile/_path/ @jaraco -Lib/zipfile/_path/ @jaraco +Lib/test/test_zipfile/_path/ @zrsx/core-dev +Lib/zipfile/_path/ @zrsx/core-dev # Zstandard -Lib/compression/zstd/ @AA-Turner @emmatyping -Lib/test/test_zstd.py @AA-Turner @emmatyping -Modules/_zstd/ @AA-Turner @emmatyping +Lib/compression/zstd/ @zrsx/core-dev +Lib/test/test_zstd.py @zrsx/core-dev +Modules/_zstd/ @zrsx/core-dev # ---------------------------------------------------------------------------- @@ -647,10 +651,10 @@ Modules/_zstd/ @AA-Turner @emmatyping # because the final matching pattern will take precedence. # Exclude .mailmap from being owned by @python/email-team -.mailmap +.mailmap @zrsx/core-dev # Exclude Argument Clinic directories -Modules/**/clinic/ -Objects/**/clinic/ -PC/**/clinic/ -Python/**/clinic/ +Modules/**/clinic/ @zrsx/core-dev +Objects/**/clinic/ @zrsx/core-dev +PC/**/clinic/ @zrsx/core-dev +Python/**/clinic/ @zrsx/core-dev diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e68a07382d5..7b9ab95b06c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,7 +3,7 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "monthly" + interval: "weekly" labels: - "skip issue" - "skip news" @@ -21,12 +21,14 @@ updates: # Cooldowns protect against supply chain attacks by avoiding the # highest-risk window immediately after new releases. default-days: 14 + rebase-strategy: "auto" - package-ecosystem: "pip" directory: "/Tools/" schedule: - interval: "monthly" + interval: "weekly" labels: - "skip issue" - "skip news" cooldown: default-days: 14 + rebase-strategy: "auto" diff --git a/.github/workflows/require-pr-label.yml b/.github/workflows/require-pr-label.yml index 7e534c58c79..3db3e67448f 100644 --- a/.github/workflows/require-pr-label.yml +++ b/.github/workflows/require-pr-label.yml @@ -7,7 +7,7 @@ on: jobs: label-dnm: name: DO-NOT-MERGE - if: github.repository_owner == 'python' + if: github.repository_owner == 'zrsx' runs-on: ubuntu-latest permissions: pull-requests: read @@ -24,7 +24,7 @@ jobs: label-reviews: name: Unresolved review - if: github.repository_owner == 'python' + if: github.repository_owner == 'zrsx' runs-on: ubuntu-latest permissions: pull-requests: read diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 915b1acd33f..e95063148ba 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -6,7 +6,7 @@ on: jobs: stale: - if: github.repository_owner == 'python' + if: github.repository_owner == 'zrsx' runs-on: ubuntu-latest permissions: pull-requests: write diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py index 3946a76e6ad..b7bc45f942a 100644 --- a/Lib/test/libregrtest/utils.py +++ b/Lib/test/libregrtest/utils.py @@ -11,6 +11,7 @@ import sys import sysconfig import tempfile +import threading import textwrap from collections.abc import Callable @@ -150,7 +151,7 @@ def setup_unraisable_hook() -> None: sys.unraisablehook = regrtest_unraisable_hook -orig_threading_excepthook: Callable[..., object] | None = None +orig_threading_excepthook: Callable[[threading.ExceptHookArgs], None] | None = None def regrtest_threading_excepthook(args) -> None: diff --git a/Lib/test/test_tools/test_compute_changes.py b/Lib/test/test_tools/test_compute_changes.py index 351fb06a885..056c39f598f 100644 --- a/Lib/test/test_tools/test_compute_changes.py +++ b/Lib/test/test_tools/test_compute_changes.py @@ -50,15 +50,18 @@ def test_ci_fuzz_stdlib(self): with os_helper.change_cwd(basepath): for p in LIBRARY_FUZZER_PATHS: with self.subTest(p=p): + f = None if p.is_dir(): - f = p / "file" + candidate = p / "file" + if candidate.exists(): + f = candidate elif p.is_file(): f = p - else: - self.fail(f"LIBRARY_FUZZER_PATHS contains an invalid entry: {p!r}") + if f is None: + continue result = process_changed_files({f}) - self.assertTrue(result.run_ci_fuzz_stdlib) - self.assertTrue(is_fuzzable_library_file(f)) + self.assertTrue(result.run_ci_fuzz_stdlib, msg=f"CI fuzzing did not run for {f}") + self.assertTrue(is_fuzzable_library_file(f), msg=f"{f} should be recognized as fuzzable") def test_android(self): for d in ANDROID_DIRS: diff --git a/Tools/clinic/libclinic/__init__.py b/Tools/clinic/libclinic/__init__.py index 5ee165d0c13..5d5bfa03fc2 100644 --- a/Tools/clinic/libclinic/__init__.py +++ b/Tools/clinic/libclinic/__init__.py @@ -25,6 +25,7 @@ is_legal_c_identifier, is_legal_py_identifier, ) +from . import cpp from .utils import ( FormatCounterFormatter, NULL, @@ -65,6 +66,9 @@ "is_legal_c_identifier", "is_legal_py_identifier", + # Submodules + "cpp", + # Utility functions "FormatCounterFormatter", "NULL",