Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3077 commits
Select commit Hold shift + click to select a range
3ffda34
gh-139145: Fix tkinter event loop in interactive mode (GH-152257)
serhiy-storchaka Jun 26, 2026
49d484e
gh-152258: Add curses.window.dupwin() (GH-152259)
serhiy-storchaka Jun 26, 2026
6713576
gh-98894: Skip test_dtrace when building without dtrace (#152239)
stratakis Jun 26, 2026
bf61794
gh-151776: Fix test_state_getters on terminals without insert/delete …
serhiy-storchaka Jun 26, 2026
a85e73b
gh-152260: Add curses.scr_dump(), scr_restore(), scr_init() and scr_s…
serhiy-storchaka Jun 26, 2026
5a549e8
gh-152235: Defer GC tracking in set.union and set.difference (gh-152290)
corona10 Jun 26, 2026
9626ef8
gh-152238: Revert gh-150490 and gh-152200. (gh-152232)
nascheme Jun 26, 2026
bbf7786
gh-80937: Fix memory leak in tkinter createcommand (GH-152294)
serhiy-storchaka Jun 26, 2026
1d6d33c
gh-152260: Fix test_scr_dump() on macOS (GH-152340)
serhiy-storchaka Jun 26, 2026
74272d4
IDLE: fix dedent() usage in htest (#152256)
methane Jun 26, 2026
8f4abfc
gh-152334: Add curses key-management functions (GH-152338)
serhiy-storchaka Jun 26, 2026
5fed5ce
gh-88758: Handle non-tkinter widgets in tkinter focus methods (GH-152…
serhiy-storchaka Jun 26, 2026
5c3555b
gh-38464: Make tkinter nametowidget() work with cloned menus (GH-152336)
serhiy-storchaka Jun 26, 2026
1812162
Remove commented out code
jonathandung Jun 26, 2026
11b3943
gh-71880: Allow editing the last cell in curses.textpad.Textbox (GH-1…
serhiy-storchaka Jun 27, 2026
389e00f
gh-151678: Add more tests for tkinter.dnd (GH-152362)
serhiy-storchaka Jun 27, 2026
fd63e21
gh-87904: Report the public module name in curses types and exception…
serhiy-storchaka Jun 27, 2026
b3154aa
gh-127949: remove asyncio policy system (#150310)
kumaraditya303 Jun 27, 2026
93454fe
gh-152212: Reject a POSIX TZ footer with a missing std offset in pure…
tonghuaroot Jun 27, 2026
ea7f64a
gh-82830: Improve tkinter messagebox docstrings and cursor documentat…
serhiy-storchaka Jun 27, 2026
4fd69ef
gh-70273: Document default class bindings in tkinter (GH-152389)
serhiy-storchaka Jun 27, 2026
3fa72d5
gh-152260: Fix flaky curses test_scr_dump on macOS (GH-152390)
serhiy-storchaka Jun 27, 2026
7bf63fa
gh-152275: Add integer overflow guards to the curses chtype and color…
serhiy-storchaka Jun 27, 2026
109c59e
gh-152402: Use `support.nomemtest` in `test_pyexpat` (#152403)
sobolevn Jun 27, 2026
0a21a24
Docs: Fix incomplete sentence in `tp_itemsize` documentation (GH-152381)
da-woods Jun 27, 2026
a9fa856
gh-151126: Sets missing exceptions in `tkinter` and `socket` modules …
sobolevn Jun 27, 2026
5733361
gh-152305: Fix `_pydatetime.time.strftime()` raising on year directiv…
tonghuaroot Jun 27, 2026
219f7a9
gh-152391: Improve `test_interpreters.test_stress` test (#152396)
sobolevn Jun 27, 2026
a69d0fc
gh-151029: Fix sys.remote_exec() unable to find writable memory when …
ambv Jun 27, 2026
876c06c
gh-152434: Block --async-aware with --binary (#152444)
lkollar Jun 27, 2026
8cda6ae
gh-151613: Fix remote debugging frame cache ABA (#151614)
pablogsal Jun 27, 2026
0f501b9
gh-146495: Improve `SyntaxError` message for `&&` and `||` operators …
Aniketsy Jun 27, 2026
860f8a5
gh-145306: Fix browser open after empty export (#150017)
ivonastojanovic Jun 27, 2026
87ac0bc
gh-152434: Fix async-aware Gecko collection (#152442)
lkollar Jun 27, 2026
003d362
gh-152415: Exercise curses non-ASCII tests under 8-bit locale encodin…
serhiy-storchaka Jun 27, 2026
0ed6711
gh-152332: Add the curses.term_attrs() function (GH-152333)
serhiy-storchaka Jun 27, 2026
8107c53
Provide a cross-reference to PEP 798 unpacking syntax (#152454)
rhettinger Jun 27, 2026
46d1809
gh-83274: Don't crash when a Tcl interpreter is deallocated in the wr…
serhiy-storchaka Jun 27, 2026
c253f0c
gh-133031: Support non-ASCII characters in curses.textpad.Textbox (GH…
serhiy-storchaka Jun 28, 2026
95bfaff
gh-152233: Make the curses cell API work without ncursesw (ПР-152466)
serhiy-storchaka Jun 28, 2026
286b512
gh-152470: Make wide-character curses functions work on a narrow buil…
serhiy-storchaka Jun 28, 2026
e3ba57b
gh-152074: Increase the buffer size to 256 KiB in `asyncio` `_sendfi…
prakashsellathurai Jun 28, 2026
a385d20
gh-152099: Raise SendfileNotAvailableError for fallback-only transpor…
zainnadeem786 Jun 28, 2026
65585ca
Remove now-wrapped functions from the curses unsupported list (GH-152…
serhiy-storchaka Jun 28, 2026
499d31f
gh-133031: Support the full Unicode range in curses.textpad.Textbox (…
serhiy-storchaka Jun 28, 2026
d831a69
gh-87881: Document the result of curses inch() and getbkgd() (GH-152488)
serhiy-storchaka Jun 28, 2026
306d7a7
gh-152325: Add curses.has_mouse() and curses.window.mouse_trafo() (GH…
serhiy-storchaka Jun 28, 2026
5287a44
gh-152434: Avoid Gecko export in async-aware test (#152496)
pablogsal Jun 28, 2026
ba0c0e6
gh-78335: Complete the widget option lists in tkinter docstrings (GH-…
serhiy-storchaka Jun 28, 2026
7b0dff7
gh-110904: Recommend windows-curses in the curses HOWTO (GH-152491)
serhiy-storchaka Jun 28, 2026
37b238f
gh-152356: Fix Windows blocking sampling after target process exit (#…
zainnadeem786 Jun 28, 2026
0fff6bd
gh-69134: Harden tkinter GUI tests that depend on a mapped widget (GH…
serhiy-storchaka Jun 28, 2026
54524ab
Docs: link to language reference instead of PEP (#152462)
nedbat Jun 28, 2026
41cc78a
gh-150743: Limit trailer lines and interim responses read by http.cli…
gpshead Jun 28, 2026
7ed9062
GH-151619: Ensure non-module global/builtin namespaces are watched fo…
brandtbucher Jun 28, 2026
2d0003c
GH-151672: `__lazy_import__` always resolves to the module being impo…
brandtbucher Jun 28, 2026
f57d3d6
gh-151416: fix a borrowed ref potential use after free via fspath in …
gpshead Jun 29, 2026
7d128e3
gh-148660: Fix use-after-free in OrderedDict.copy() on reentrant muta…
gpshead Jun 29, 2026
2670cb0
gh-87577: Document that wm_manage does not accept ttk widgets (GH-152…
serhiy-storchaka Jun 29, 2026
8ae1a23
gh-110357: hashlib no longer logs at import when a guaranteed hash is…
gpshead Jun 29, 2026
f6e904e
gh-85320: Use UTF-8 for IDLE configuration and breakpoint files (GH-1…
serhiy-storchaka Jun 29, 2026
6d209cb
gh-140146: Fix for stdin redirection to a pipe with interactive tkint…
mdehoon Jun 29, 2026
cdec9ac
gh-152375: Fix undefined behaviour in the `INSTRUMENTED_JUMP` macro (…
StanFromIreland Jun 29, 2026
7aae0e5
gh-148909: Fix broken author attribution URL in 'The Python 2.3 Metho…
ByteFlowing1337 Jun 29, 2026
1540584
gh-71450: Document that Tcl sets the HOME variable on Windows (GH-152…
serhiy-storchaka Jun 29, 2026
8458582
gh-152240: Fix test_c_stack_unwind on Linux LoongArch builds (#152241)
yzewei Jun 29, 2026
8ec36f1
gh-152359: Update numbers.rst to reference numeric-hash docs (#152549)
tangyuan0821 Jun 29, 2026
0635e55
gh-152502: Detect optional curses functions with configure probes (GH…
serhiy-storchaka Jun 29, 2026
e7b21b6
gh-152503: Fix garbage text from curses wide-character cell reads (GH…
serhiy-storchaka Jun 29, 2026
0cbac06
gh-151483: Only declare `PyCodeObject._co_unique_id` on Free Threadin…
weixlu Jun 29, 2026
bc08413
gh-152584: Reorganize the curses documentation into topic subsections…
serhiy-storchaka Jun 29, 2026
b19839b
gh-151096: Fix test_embed with split exec prefix (#151288)
harjothkhara Jun 29, 2026
e134a1a
gh-152587: Stop documenting bogus default values in tkinter variable …
serhiy-storchaka Jun 29, 2026
b8cb055
gh-133031: Fix test_textbox_edit_wide on a narrow build (GH-152592)
serhiy-storchaka Jun 29, 2026
9751e1d
gh-152587: Make name and value required in tkinter variable methods (…
serhiy-storchaka Jun 29, 2026
1b0c05f
gh-151040: Fix `test_c_stack_unwind` on RISC-V (#152370)
ByteFlowing1337 Jun 29, 2026
be4eebb
gh-69134: Wait until mapped in keyboard virtual-event tests (GH-152599)
serhiy-storchaka Jun 29, 2026
7ccdbab
gh-151987: Pass filter_function to TarFile._extract_one() during .ext…
encukou Jun 29, 2026
c5043dc
gh-152228: Fix an assertion failure in `str.replace` under a limited …
sobolevn Jun 29, 2026
089e6f6
gh-152263: Add curses soft-label-key functions (GH-152264)
serhiy-storchaka Jun 29, 2026
55a09ed
Micro-optimizations for the statistics module (#152618)
rhettinger Jun 29, 2026
9dd3340
gh-103878: Document that the cancelled file dialog value is only fals…
serhiy-storchaka Jun 29, 2026
0a29d84
gh-152492 Allow `OrderedDict.update` to work with `frozendict` (#152494)
da-woods Jun 29, 2026
edcc07d
gh-103878: Return a consistent empty value from cancelled file dialog…
serhiy-storchaka Jun 29, 2026
bc3fa17
gh-82312: Further improvement of error messages for generating AST no…
serhiy-storchaka Jun 29, 2026
2dd6e59
gh-149689: add missing error checks in Parser/action_helpers.c (#149710)
KowalskiThomas Jun 29, 2026
5717518
gh-146219: Document reusing a thread state across repeated foreign-th…
gpshead Jun 30, 2026
fc866dc
Use tkinter wrapper methods instead of raw Tcl calls in turtle and ID…
serhiy-storchaka Jun 30, 2026
449122e
gh-152248: Reject a POSIX TZ abbreviation with non-ASCII-letters in p…
tonghuaroot Jun 30, 2026
7718157
gh-133510: Add links to more info for the match statement in FAQ anws…
xzkdeng Jun 30, 2026
11d42bd
gh-152325: Gate curses.has_mouse() on the ncurses patch level (GH-152…
serhiy-storchaka Jun 30, 2026
6f103fa
gh-50966: Fix unbounded recursion in turtle drag handlers (GH-152626)
serhiy-storchaka Jun 30, 2026
189ab83
Don't require the `_test{internal}capi` modules in `test_monitoring.p…
ShaharNaveh Jun 30, 2026
9e10f14
gh-152192: Fix JUMP_BACKWARD passing a truncated oparg to the jit tra…
deadlovelll Jun 30, 2026
40795f2
gh-121249: Deprecate using F/D type codes in the struct module (#152309)
skirpichev Jun 30, 2026
03efeef
gh-151029: Fix `test_remote_exec_deleted_static_executable` on static…
StanFromIreland Jun 30, 2026
b383aa6
gh-152635: Raise MemoryError when the lock allocation fails in `_inte…
stestagg Jun 30, 2026
ecdef17
gh-151126: Fix a possible crash during the startup with no memory und…
sobolevn Jun 30, 2026
38df997
gh-152546: Refactor `mappingproxy.__new__` to use `PyDictProxy_New` (…
sobolevn Jun 30, 2026
2303eea
gh-151881: Skip tk_inactive negativity check on Windows (GH-152683)
serhiy-storchaka Jun 30, 2026
10ed03e
gh-152682: Fix NULL dereference on OOM in `symtable_visit_type_param_…
petrvaganoff Jun 30, 2026
f1c5363
gh-152680: Detect container/VM in test.pythoninfo (#152668)
vstinner Jun 30, 2026
c393ab6
gh-145854: Replace `DELETE_NAME` with `PUSH_NULL; STORE_NAME` (GH-146…
brijkapadia Jun 30, 2026
a3dc784
gh-145857: Replace `DELETE_GLOBAL` with `PUSH_NULL; STORE_GLOBAL` (GH…
brijkapadia Jun 30, 2026
7bbea4f
gh-152502: Detect the curses mouse interface and is_* methods portabl…
serhiy-storchaka Jun 30, 2026
040002c
GH-81881: Raise `SpecialFileError` for sockets and devices in `shutil…
savannahostrowski Jun 30, 2026
f37602a
gh-152433: Windows: use GetFileSizeEx instead of GetFileSize for memo…
thexai Jun 30, 2026
a5be0d8
gh-152433: Windows: enable mmapmodule for UWP (#152473)
thexai Jun 30, 2026
746c535
gh-152715: Add pythoninfo-build command to Platforms/Apple (#152716)
vstinner Jul 1, 2026
fdcee4f
gh-152711: Add pythoninfo-build command to Platforms/Android (#152713)
vstinner Jul 1, 2026
53ca52d
gh-152728: IDLE - move 3 toplevel fix_xyz functions to idlelb.util (#…
terryjreedy Jul 1, 2026
564c58c
gh-151626: Fix tests that fail when PYTHONPYCACHEPREFIX is set (GH-15…
zangjiucheng Jul 1, 2026
711e811
gh-133031: Fix test_textbox_unicode on a narrow build (GH-152750)
serhiy-storchaka Jul 1, 2026
112c69a
gh-152157: Reject empty fractions in `_datetime.{date}time.fromisofor…
tonghuaroot Jul 1, 2026
0842ec5
Bump `hypothesis` from `6.151.9` to `6.155.3` in `Tools/requirements-…
dependabot[bot] Jul 1, 2026
1656dfb
Use `@force_not_colorized` in `test_syntactical_future_repl` (#152749)
ShaharNaveh Jul 1, 2026
1402ac7
Bump the `actions/{github-script,checkout}` and `j178/prek-action` ac…
dependabot[bot] Jul 1, 2026
34503f3
gh-144473: Add "steal" term to glossary; clarify "stealing" on error …
encukou Jul 1, 2026
b52bc56
Fix copy paste error with Py_mod_state_traverse (GH-152776)
encukou Jul 1, 2026
c698243
GH-148874: Make sure that mngr.__exit__() is always called in a with …
markshannon Jul 1, 2026
0f59b2a
Use tk_scaling() instead of a raw Tcl call in IDLE and tkinter tests …
terryjreedy Jul 1, 2026
4e16b8d
gh-66331: Set correct WM_CLASS on X11 for IDLE windows (#152733)
serhiy-storchaka Jul 1, 2026
ef27e5b
gh-71956: Fix IDLE Replace All searching up without wrap around (#152…
serhiy-storchaka Jul 1, 2026
ea7619f
gh-89360: Fix ValueError in IDLE MultiCall event_delete (#152738)
serhiy-storchaka Jul 1, 2026
3f5491a
gh-134300: Remove idlelib from the path of the IDLE user process (#15…
serhiy-storchaka Jul 1, 2026
f21f338
gh-80504: Always show the full search path in IDLE Find in Files (#15…
serhiy-storchaka Jul 1, 2026
df2538a
gh-152682: Remove non-functional `test_syntax.test_disallowed_type_pa…
petrvaganoff Jul 1, 2026
51b511d
gh-152433 Allow faulthandler.c to build for Windows UWP (GH-152688)
thexai Jul 1, 2026
efcfb1a
gh-65339: Save IDLE Shell and Output windows as text by default (#152…
serhiy-storchaka Jul 1, 2026
3428762
gh-75595: Do not save a blank int entry in IDLE Settings (#152743)
serhiy-storchaka Jul 1, 2026
be449b1
gh-82183: Do not restart the busy IDLE shell when running without res…
serhiy-storchaka Jul 1, 2026
669299b
gh-151763: Fix OOM-0013 crash when the parser or compiler fails to al…
tonghuaroot Jul 2, 2026
384abb7
gh-135142: update idlelib News3.txt for 9 issues (#152839)
terryjreedy Jul 2, 2026
c89b72a
gh-63121: Refresh imaplib capabilities on state changes (GH-152752)
serhiy-storchaka Jul 2, 2026
262b6a0
gh-108280: Give a meaningful error for an invalid imaplib greeting (G…
serhiy-storchaka Jul 2, 2026
50ae0be
gh-79964: Clarify the imaplib fetch example in the docs (GH-152780)
serhiy-storchaka Jul 2, 2026
f3bf8ab
gh-72507: Document that imaplib does not verify TLS certificates by d…
serhiy-storchaka Jul 2, 2026
f8514dc
gh-152569: Fix asyncio.wait leaking tasks via await-graph on long-liv…
Skn0tt Jul 2, 2026
a50b089
gh-66335: Add tests for imaplib command methods (GH-152872)
serhiy-storchaka Jul 2, 2026
ddb6539
gh-49680: Add translate_line_endings parameter to imaplib.IMAP4.appen…
serhiy-storchaka Jul 2, 2026
753f82d
gh-150069: Test frozen dataclass and properties interaction (#150070)
sobolevn Jul 2, 2026
53ff1a2
gh-88574: Skip a spurious blank line after a literal in imaplib (GH-1…
serhiy-storchaka Jul 2, 2026
4e4869b
gh-152680: Detect virtualization on Windows in pythoninfo (#152824)
vstinner Jul 2, 2026
d60a677
gh-98894: Check readelf failures in test_dtrace (#152345)
stratakis Jul 2, 2026
3428959
gh-152789: Skip curses tests needing newterm() on ncurses before 6.5 …
serhiy-storchaka Jul 2, 2026
e471712
gh-144067: Document terminal leak when initscr() follows setupterm() …
serhiy-storchaka Jul 2, 2026
31a0e09
gh-152785: Upgrade GCC from 10 to 13 in GHA Address Sanitizer (#152782)
vstinner Jul 2, 2026
460fe13
gh-86165: Fix Time2Internaldate with datetime timetuple (GH-151844)
yuanx749 Jul 2, 2026
311e7e7
gh-98894: Check tracer exit status in test_dtrace (#152893)
stratakis Jul 2, 2026
369ce43
gh-152813: Fix curses build warning on macOS (GH-152814)
hrimov Jul 2, 2026
8b430d6
gh-152691: tarfile -- add Windows reserved name section (GH-152701)
zainnadeem786 Jul 2, 2026
31864bd
gh-152847: Reject POSIX TZ rule with non-digit day-of-year in `_zonei…
tonghuaroot Jul 2, 2026
0a13efc
gh-152785: Upgrade Java from 17 to 21 in GHA Android (#152783)
vstinner Jul 3, 2026
b706767
gh-115634: Fix ProcessPoolExecutor deadlock with max_tasks_per_child …
gpshead Jul 3, 2026
8c35afa
gh-152919: Ensure nuget.org source exist before python install (GH-15…
bartvdbraak Jul 3, 2026
f75028f
gh-150641: Fix evaluating forward references in STRING format can 'le…
ByteFlowing1337 Jul 3, 2026
c473953
gh-152870: Fix compile error with decimal when EXTRA_FUNCTIONALITY en…
weixlu Jul 3, 2026
ac1acb6
gh-152903: Change PCWSTR to PWSTR in GetThreadDescription() typedef (…
carlo-bramini Jul 3, 2026
f5b3eef
gh-152785: Upgrade LLVM to LLVM 21 in GitHub Action jobs (#152781)
vstinner Jul 3, 2026
87120d3
gh-152066: Merge `_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT` into `_CHEC…
Aniketsy Jul 3, 2026
1b4135a
gh-150880: Normalize paths on Windows before appending wildcard (GH-1…
zainnadeem786 Jul 3, 2026
a90576d
gh-152951 - Fix double DECREF when `newblock` fails during deque.exte…
stestagg Jul 3, 2026
423ae0f
gh-150579: use lazy imports for concurrent.futures (GH-150585)
henryiii Jul 3, 2026
cde31ec
gh-151644: Fix data race in sys.setdlopenflags/getdlopenflags under f…
zangjiucheng Jul 3, 2026
548c731
gh-83386: Enable test_hang_gh83386 for ProcessPoolExecutor (GH-152976)
gpshead Jul 3, 2026
8b1dbb1
gh-151646: Fix data race between gc.get_stats() and GC in free-thread…
zangjiucheng Jul 4, 2026
5a400ce
gh-152851: fix a crash when copying a BLAKE-2s/2b object (#153008)
picnixz Jul 4, 2026
cfe3e07
gh-153009: Fix compilation of `curses` on platforms that define the `…
picnixz Jul 4, 2026
ed370d3
gh-135661: Fix abrupt closing of empty comment in HTMLParser (GH-153007)
serhiy-storchaka Jul 4, 2026
832d557
gh-152068: Reset PyREPL Colors on prompt finish (#152108)
edvilme Jul 4, 2026
ec5f154
gh-150459: Fix `SyntaxError` message for `from x lazy import y` (#150…
sobolevn Jul 4, 2026
66c76fa
gh-151945: Fix all reference warnings and various solecisms in the `h…
harjothkhara Jul 4, 2026
bcf98dd
gh-153030: Fix quadratic complexity in incremental parsing in HTMLPar…
serhiy-storchaka Jul 4, 2026
639a552
gh-151378: Fix unbounded memory growth when recording binary and the …
maurycy Jul 4, 2026
8e580b0
gh-152718: Reject oversized table counts in the profiling binary read…
tonghuaroot Jul 4, 2026
8e88bb5
Add "new in 3.16" to idlelib line (GH-152788) (#153049)
terryjreedy Jul 4, 2026
0621639
Add "new in 3.15" comments to idlelib (#153052)
terryjreedy Jul 5, 2026
5616505
Remove PDF images (#145977)
StanFromIreland Jul 5, 2026
600e864
gh-40038: Quote imaplib command arguments when necessary (GH-152703)
serhiy-storchaka Jul 5, 2026
fe9c721
gh-151819: Clarify the conditional-pattern email example in re docs (…
serhiy-storchaka Jul 5, 2026
3cd6b74
gh-66335: Test uppercase IMAP4 command names (GH-152876)
serhiy-storchaka Jul 5, 2026
9f9787d
gh-151945: fix Sphinx reference warnings in `http.server` docs (#153084)
picnixz Jul 5, 2026
2ab620b
gh-54930: Send a status line in error responses to malformed request …
serhiy-storchaka Jul 5, 2026
7d619c2
gh-69134: Wait until mapped in SimpleDialog keyboard tests (GH-152690)
serhiy-storchaka Jul 5, 2026
99b4cdb
Fix various typos in the `http.server` docs (#153089)
picnixz Jul 5, 2026
820b6ca
gh-123193: Document tkinter Variable lifetime (GH-152625)
serhiy-storchaka Jul 5, 2026
19b5e8e
gh-75952: Document negative offsets in tkinter geometry strings (GH-1…
serhiy-storchaka Jul 5, 2026
70100b9
gh-79638: Restore "Treat an unreachable robots.txt as disallow all" (…
serhiy-storchaka Jul 5, 2026
ea57037
gh-76607: Improve documentation of the tkinter cursor option (GH-152481)
serhiy-storchaka Jul 5, 2026
856049a
Fix minor typos in 'Compound statements' docs (#149666)
jonathandung Jul 5, 2026
3d9d6c8
gh-59396: Use themed widgets in tkinter.filedialog (GH-152036)
serhiy-storchaka Jul 5, 2026
8f06112
gh-43699: Defer the drag cursor in tkinter.dnd until the pointer move…
serhiy-storchaka Jul 5, 2026
d2d415b
gh-149930: Clarify imaplib response helper types (GH-149963)
savagemechanic Jul 5, 2026
74a2438
gh-68147: Fix RFC references in imaplib (GH-153126)
serhiy-storchaka Jul 5, 2026
d0921ef
gh-143921: Narrow the control character check in imaplib commands (GH…
serhiy-storchaka Jul 5, 2026
cdcf228
gh-60055: Allow passing a Request instance for RobotParser URLs (#103…
ephphatha Jul 5, 2026
89afed2
gh-77508: Add imaplib.IMAP4.move method (GH-153121)
serhiy-storchaka Jul 5, 2026
a47a66c
gh-105708: 'V' could be case insensitive for IPvFuture hostnames (#10…
csreddy98 Jul 5, 2026
28a8c18
gh-98092: Add imaplib.IMAP4.id method (GH-153136)
serhiy-storchaka Jul 5, 2026
d733b10
gh-153141: Fix mutable default argument in _SharedMemoryTracker.__ini…
whyvineet Jul 5, 2026
93b1a88
bpo-45706: Add imaplib.IMAP4.login_plain (GH-29398)
przemub Jul 5, 2026
881a13a
gh-151640: Track sharing of `BytesIO` buffer in free-threaded builds …
pedramkarimii Jul 6, 2026
ad54b91
gh-82151: Update and improve urlsplit docstring (#152985)
pranavchoudhary-tech Jul 6, 2026
b175621
gh-152026: Track mark-saving contexts with a counter (GH-153160)
serhiy-storchaka Jul 6, 2026
db3a477
gh-148765: Fix description of *include_hidden* parameter in `glob.glo…
EoinTrial Jul 6, 2026
8bee2a3
gh-145855: Remove the DELETE_ATTR bytecode (GH-146216)
aisk Jul 6, 2026
1034e73
gh-153171: Produce specialized syntax errors for 'not' after an opera…
serhiy-storchaka Jul 6, 2026
836b206
Add tests for syntax error messages that had no test coverage (GH-153…
serhiy-storchaka Jul 6, 2026
0514489
gh-145098: Use `macos-26[-intel]` instead of `macos-15[-intel]` in `{…
hugovk Jul 6, 2026
8477652
gh-148286: Remove invalid test in `test_decodeescape` (#153187)
StanFromIreland Jul 6, 2026
2d7a74e
gh-152849: Fix `OverflowError` message for out-of-range timestamps in…
tonghuaroot Jul 6, 2026
f155dbe
Docs: Link to the `contextlib.chdir` context manager in the `os.chdir…
cmaloney Jul 6, 2026
4c79929
gh-152785: Upgrade Ubuntu from 24.04 to 26.04 in GitHub Actions (#152…
vstinner Jul 6, 2026
4221ce7
gh-152433: Allow _ssl module to build for Windows UWP API set (GH-152…
thexai Jul 6, 2026
53661af
gh-150880: Clarify DirEntry.path construction semantics (GH-153218)
zainnadeem786 Jul 6, 2026
3a1b547
gh-153200: Fix math.isqrt() for int subclasses with overridden compar…
serhiy-storchaka Jul 6, 2026
28aa32d
Seed pip caches for docs on `main`/`3.x` branches (#153127)
hugovk Jul 6, 2026
2092192
gh-150490: Raise PyType_Modified for insertion into split dictionary …
DinoV Jul 6, 2026
ef4d3f3
gh-150479: reject CR and LF in email.utils.formataddr (#150480)
metsw24-max Jul 6, 2026
dea93ce
gh-153068: Preserve cprofile enable errors (#153070)
aisk Jul 6, 2026
d7275d3
gh-140729: Fix the cProfile module when the executed script contains …
YvesDup Jul 6, 2026
35c6779
gh-145177: Update Emscripten to 6.0.2 (#153235)
hoodmane Jul 6, 2026
613dc90
MVP Rust in CPython
emmatyping Nov 14, 2025
6ec8dc0
Add vendored sources
emmatyping Nov 14, 2025
9ea5ac8
Remove wrapper.h, it should be generated
emmatyping Nov 14, 2025
c235e60
Make Rust extensions work on macOS (#12)
Eclips4 Nov 15, 2025
4378001
Faster `_base.b64encode` with custom implementation (#13)
Eclips4 Nov 16, 2025
305c5e5
Remove vendored code
emmatyping Nov 16, 2025
78f8f19
Restore name to standard_b64encode (#14)
Eclips4 Nov 16, 2025
e1e19cd
Update Rust detection and binding generation (#15)
emmatyping Nov 17, 2025
cd59e8f
Make Rust build work on more platforms (#16)
Eclips4 Nov 17, 2025
e339e84
Fix cargo path and add CARGO_TARGET for cross compile (#19)
youknowone Nov 19, 2025
824c99e
Split standard_b64encode_impl (#17)
youknowone Nov 24, 2025
a1cad15
Group unsafe BorrowedBuffer initialization (#22)
youknowone Nov 25, 2025
f40cb47
Run rustfmt (#21)
youknowone Nov 25, 2025
f27263d
fix build
Eclips4 Dec 15, 2025
48ac9ad
Adjust makesetup
Eclips4 Dec 15, 2025
6f86e52
Check if this helps for android
Eclips4 Dec 15, 2025
989a5c8
Remove android workaround & we'll deal with that later
Eclips4 Dec 16, 2025
493adf9
Add a specific case for Linux targets to convert the GNU triplet form…
alex-semenyuk Dec 26, 2025
8113cbf
Introduce rustfmt, clippy and fix their errors (#15)
alex-semenyuk Dec 27, 2025
3ddd86c
Add cargo workflow (#18)
alex-semenyuk Dec 30, 2025
91364a6
Implement the Unix build system refactor (#24)
emmatyping Mar 8, 2026
f0b6237
initial approach
Eclips4 Mar 10, 2026
1d46d85
cargo fmt
Eclips4 Mar 10, 2026
8ae2b67
Fix problems
Eclips4 Mar 10, 2026
a100fee
this must work
Eclips4 Mar 10, 2026
7a1415c
and this
Eclips4 Mar 10, 2026
31f4cd7
Fix sanitizers builds (#29)
Eclips4 Mar 26, 2026
a0cefb9
Add Windows build system (#28)
Eclips4 Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
root = true

[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
[*.{py,c,cpp,h,js,rst,md,yml,yaml,toml,gram}]
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space

[*.{py,c,cpp,h,gram}]
[*.{py,c,cpp,h,toml,gram}]
indent_size = 4

[*.rst]
Expand Down
16 changes: 14 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ Lib/test/xmltestdata/* noeol
Lib/venv/scripts/common/activate text eol=lf
Lib/venv/scripts/posix/* text eol=lf

# Prevent GitHub's web conflict editor from converting LF to CRLF
*.rst text eol=lf

# CRLF files
[attr]dos text eol=crlf

Expand Down Expand Up @@ -68,6 +71,7 @@ PCbuild/readme.txt dos
**/clinic/*.cpp.h generated
**/clinic/*.h.h generated
*_db.h generated
Doc/_static/tachyon-example-*.html generated
Doc/c-api/lifecycle.dot.svg generated
Doc/data/stable_abi.dat generated
Doc/library/token-list.inc generated
Expand All @@ -80,17 +84,22 @@ Include/internal/pycore_uop_ids.h generated
Include/internal/pycore_uop_metadata.h generated
Include/opcode.h generated
Include/opcode_ids.h generated
Include/slots_generated.h generated
Include/token.h generated
Lib/_opcode_metadata.py generated
Lib/keyword.py generated
Lib/idlelib/help.html generated
Lib/keyword.py generated
Lib/pydoc_data/topics.py generated
Lib/pydoc_data/module_docs.py generated
Lib/test/certdata/*.pem generated
Lib/test/certdata/*.0 generated
Lib/test/levenshtein_examples.json generated
Lib/test/test_stable_abi_ctypes.py generated
Lib/test/test_zoneinfo/data/*.json generated
Lib/token.py generated
Misc/sbom.spdx.json generated
Objects/typeslots.inc generated
Modules/_testinternalcapi/test_cases.c.h generated
Modules/_testinternalcapi/test_targets.h generated
PC/python3dll.c generated
Parser/parser.c generated
Parser/token.c generated
Expand All @@ -100,8 +109,11 @@ Python/executor_cases.c.h generated
Python/generated_cases.c.h generated
Python/optimizer_cases.c.h generated
Python/opcode_targets.h generated
Python/record_functions.c.h generated
Python/slots_generated.c generated
Python/stdlib_module_names.h generated
Tools/peg_generator/pegen/grammar_parser.py generated
aclocal.m4 generated
configure generated
*.min.js generated
package-lock.json generated
168 changes: 94 additions & 74 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,29 @@
.azure-pipelines/ @AA-Turner

# GitHub & related scripts
.github/ @ezio-melotti @hugovk @AA-Turner
Tools/build/compute-changes.py @AA-Turner
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee
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

# Pre-commit
.pre-commit-config.yaml @hugovk
.ruff.toml @hugovk @AlexWaygood @AA-Turner
.pre-commit-config.yaml @hugovk @JacobCoffee
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee

# Patchcheck
Tools/patchcheck/ @AA-Turner
Tools/patchcheck/ @AA-Turner @itamaro


# ----------------------------------------------------------------------------
# Build System
# ----------------------------------------------------------------------------

# 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* @erlend-aasland @corona10 @AA-Turner @emmatyping @itamaro
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping @itamaro
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping @itamaro
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping @itamaro
Tools/build/regen-configure.sh @AA-Turner @itamaro

# generate-build-details
Tools/build/generate-build-details.py @FFY00
Expand All @@ -99,17 +100,18 @@ Lib/test/test_build_details.py @FFY00
InternalDocs/ @AA-Turner

# 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 @AA-Turner @hugovk @StanFromIreland
Doc/_static/ @AA-Turner @hugovk @StanFromIreland
Doc/conf.py @AA-Turner @hugovk @StanFromIreland
Doc/make.bat @AA-Turner @hugovk @StanFromIreland
Doc/requirements.txt @AA-Turner @hugovk @StanFromIreland
Doc/tools/ @AA-Turner @hugovk @StanFromIreland

# PR Previews
.readthedocs.yml @AA-Turner

# Sections
Doc/c-api/ @ZeroIntensity
Doc/reference/ @willingc @AA-Turner
Doc/whatsnew/ @AA-Turner

Expand All @@ -126,8 +128,13 @@ Doc/howto/clinic.rst @erlend-aasland @AA-Turner
# C Analyser
Tools/c-analyzer/ @ericsnowcurrently

# C API Documentation Checks
Tools/check-c-api-docs/ @ZeroIntensity

# Fuzzing
Modules/_xxtestfuzz/ @ammaraskar
Modules/_xxtestfuzz/ @python/fuzzers
Lib/test/test_xxtestfuzz.py @python/fuzzers
.github/workflows/reusable-cifuzz.yml @python/fuzzers

# Limited C API & Stable ABI
Doc/c-api/stable.rst @encukou
Expand All @@ -140,22 +147,24 @@ Misc/externals.spdx.json @sethmlarson
Misc/sbom.spdx.json @sethmlarson
Tools/build/generate_sbom.py @sethmlarson

# ABI check
Misc/libabigail.abignore @encukou


# ----------------------------------------------------------------------------
# Platform Support
# ----------------------------------------------------------------------------

# Android
Android/ @mhsmith @freakboy3742
Platforms/Android/ @mhsmith @freakboy3742
Doc/using/android.rst @mhsmith @freakboy3742
Lib/_android_support.py @mhsmith @freakboy3742
Lib/test/test_android.py @mhsmith @freakboy3742

# iOS
Doc/using/ios.rst @freakboy3742
Lib/_ios_support.py @freakboy3742
Apple/ @freakboy3742
iOS/ @freakboy3742
Platforms/Apple/ @freakboy3742

# macOS
Mac/ @python/macos-team
Expand All @@ -166,13 +175,14 @@ Lib/test/test__osx_support.py @python/macos-team
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping

# WebAssembly (Emscripten)
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
Tools/wasm/emscripten @freakboy3742 @emmatyping
Platforms/emscripten @freakboy3742 @emmatyping
Tools/wasm/emscripten @freakboy3742 @emmatyping

# WebAssembly (WASI)
Tools/wasm/wasi-env @brettcannon @emmatyping
Tools/wasm/wasi.py @brettcannon @emmatyping
Tools/wasm/wasi @brettcannon @emmatyping
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

# Windows
PC/ @python/windows-team
Expand Down Expand Up @@ -251,45 +261,51 @@ Include/pyhash.h @gpshead @picnixz
Python/pyhash.c @gpshead @picnixz

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

# Initialisation
**/*initconfig* @ericsnowcurrently
**/*pathconfig* @ericsnowcurrently
**/*preconfig* @ericsnowcurrently
**/*initconfig* @ericsnowcurrently @FFY00
**/*pathconfig* @ericsnowcurrently @FFY00
**/*preconfig* @ericsnowcurrently @FFY00
Doc/library/sys_path_init.rst @FFY00
Doc/c-api/init_config.rst @FFY00

# Interpreter main program
Modules/main.c @ericsnowcurrently
Programs/_bootstrap_python.c @ericsnowcurrently
Programs/python.c @ericsnowcurrently
Modules/main.c @ericsnowcurrently @FFY00
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
Programs/python.c @ericsnowcurrently @FFY00

# 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

# 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

# Micro-op / μop / Tier 2 Optimiser
Python/optimizer.c @markshannon
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
Python/optimizer_symbols.c @markshannon @tomasr8
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

# Parser, Lexer, and Grammar
Grammar/python.gram @pablogsal @lysnikolaou
Expand All @@ -301,8 +317,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou

# Runtime state/lifecycle
**/*gil* @ericsnowcurrently
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
**/*pystate* @ericsnowcurrently @ZeroIntensity
**/*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
Expand All @@ -319,7 +335,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
# Remote Debugging
Python/remote_debug.h @pablogsal
Python/remote_debugging.c @pablogsal
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
Modules/_remote_debugging/ @pablogsal

# Sub-Interpreters
**/*crossinterp* @ericsnowcurrently
Expand Down Expand Up @@ -410,18 +426,19 @@ Lib/dataclasses.py @ericvsmith
Lib/test/test_dataclasses/ @ericvsmith

# Dates and times
Doc/**/*time.rst @pganssle @abalkin
Doc/library/zoneinfo.rst @pganssle
Include/datetime.h @pganssle @abalkin
Include/internal/pycore_time.h @pganssle @abalkin
Lib/test/test_zoneinfo/ @pganssle
Lib/zoneinfo/ @pganssle
Lib/*time.py @pganssle @abalkin
Lib/test/datetimetester.py @pganssle @abalkin
Lib/test/test_*time.py @pganssle @abalkin
Modules/*zoneinfo* @pganssle
Modules/*time* @pganssle @abalkin
Python/pytime.c @pganssle @abalkin
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

# Dbm
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
Expand Down Expand Up @@ -460,8 +477,9 @@ Lib/test/test_functools.py @rhettinger
Modules/_functoolsmodule.c @rhettinger

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

# Gettext
Doc/library/gettext.rst @tomasr8
Expand All @@ -488,13 +506,13 @@ Lib/idlelib/ @terryjreedy
Lib/turtledemo/ @terryjreedy

# importlib.metadata
Doc/library/importlib.metadata.rst @jaraco @warsaw
Lib/importlib/metadata/ @jaraco @warsaw
Lib/test/test_importlib/metadata/ @jaraco @warsaw
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00

# importlib.resources
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
Doc/library/importlib.resources.rst @jaraco @warsaw
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

Expand Down Expand Up @@ -534,6 +552,11 @@ Lib/pydoc.py @AA-Turner
Lib/pydoc_data/ @AA-Turner
Lib/test/test_pydoc/ @AA-Turner

# Profiling (Sampling)
Doc/library/profiling*.rst @pablogsal
Lib/profiling/ @pablogsal
Lib/test/test_profiling/ @pablogsal

# PyREPL
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv
Expand All @@ -550,9 +573,9 @@ Lib/shutil.py @giampaolo
Lib/test/test_shutil.py @giampaolo

# Site
Lib/site.py @FFY00
Lib/test/test_site.py @FFY00
Doc/library/site.rst @FFY00
Lib/site.py @FFY00 @warsaw
Lib/test/test_site.py @FFY00 @warsaw
Doc/library/site.rst @FFY00 @warsaw

# string.templatelib
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
Expand All @@ -563,10 +586,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
**/*sysconfig* @FFY00

# 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 @erlend-aasland
Lib/sqlite3/ @erlend-aasland
Lib/test/test_sqlite3/ @erlend-aasland
Modules/_sqlite/ @erlend-aasland

# Subprocess
Lib/subprocess.py @gpshead
Expand Down Expand Up @@ -599,9 +622,6 @@ Modules/_typesmodule.c @AA-Turner
Lib/unittest/mock.py @cjw296
Lib/test/test_unittest/testmock/ @cjw296

# Urllib
**/*robotparser* @berkerpeksag

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

Expand Down
Loading