cpython/Python
Alex Waygood 7756f59892
[3.14] gh-150319: Replace all documentation which says "See PEP 585" (#150325) (#150813)
gh-150319: Replace all documentation which says "See PEP 585" (#150325)

* Replace all documentation which says "See PEP 585"

The following classes in the stdlib get simple updates:

- array.array
- asyncio.Future
- asyncio.Task
- collections.defaultdict
- collections.deque
- contextvars.ContextVar
- contextvars.Token
- ctypes.Array
- os.DirEntry
- re.Match
- re.Pattern
- string.templatelib.Interpolation
- string.templatelib.Template
- types.MappingProxyType
- queue.SimpleQueue
- weakref.ref

The following classes are documented publicly as functions, and are
therefore updated internally (`__class_getitem__.__doc__`) but not in the
public docs:

- functools.partial
- itertools.chain

The following builtin types have updates to `__class_getitem__.__doc__`
but not to any documentation pages:

- BaseExceptionGroup
- coroutines (from generators)
- dict
- enumerate
- frozendict
- frozenset
- generators (and async generators)
- list
- memoryview
- set
- slice
- tuple

Special cases:

- union objects are now documented as "supporting class-level []",
  rather than anything to do with generics.

- Templates might be generic over a single type (union, in theory) or
  over a TypeVarTuple. As this is not currently fully settled, it is
  marked with a comment and a mild hint that it is a single type is used
  (namely, "type" is singular rather than "types", plural)

* Apply suggestions from code review



* Correct several class getitem docs

And expand the text for tuples.



* Add notes on generic typing of builtins

* Fix typo in tuple.__class_getitem__ docstring

* Typo fix: malformed refs

Fix `generic` links which weren't marked as `:ref:`.

* Strike unnecessary docs on generic-ness



* Apply suggestions from code review

These are applied at both the originally indicated locations and in the
corresponding docstring definitions.



* Update Doc/library/re.rst



* Update Objects/enumobject.c



* Remove tuple generic doc in 'stdtypes' page

This is covered in more detail in the cross-linked typing documentation.
The other copy of this documentation -- in the docstring for
`tuple.__class_getitem__` -- is left in place.

* Fix whitespace around new doc of generics

Per review, do not introduce or remove whitespace such that section
breaks are altered by the introduction of doc on various generic types.

In most cases, this is a removal of an extra line.

In one case (Arrays), it is the reintroduction of a line.

Additionally, two other minor fixes are included:
- incorrect indent on 'defaultdicts'
- make `mappingproxy.__class_getitem__.__doc__` consistent with other
  mapping type generic docs



* Move placement of memoryview generic note

Previous placement was at the end of the main docstring, which is
consistent with other types but places it after a section on various
methods (which makes it read somewhat inconsistently). Moving it up
helps resolve.



* Ensure sphinxdoc does not start sentences lowercase

Lowercase class names at the start of sentences are marked out with the
`class` role. In the case of `deque`, documentation already refers to
these as `Deques`, so this form is preferred.

* Apply suggestions from code review



* Fix line endings and wrap more tightly

Line endings fixed by pre-commit ; also re-wrapped the MappingProxyType
text which was too long.

* Use 'ContextVars' style in sphinx doc

---------

Co-authored-by: Stephen Rosen <sirosen@globus.org>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Jelle Zijlstra <906600+JelleZijlstra@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2026-06-02 22:22:46 +00:00
..
clinic [3.14] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) (GH-150473) 2026-05-27 16:24:18 +00:00
frozen_modules gh-97669: Create Tools/build/ directory (#97963) 2022-10-17 12:01:00 +02:00
_contextvars.c gh-128384: Use a context variable for warnings.catch_warnings (gh-130010) 2025-04-09 16:18:54 -07:00
_warnings.c [3.14] gh-139640: Fix swallowing syntax warnings in different modules (GH-139755) (GH-140117) 2025-10-14 15:56:01 +00:00
asdl.c bpo-43244: Remove ast.h, asdl.h, Python-ast.h headers (GH-24933) 2021-03-23 20:47:40 +01:00
asm_trampoline.S [3.14] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (#130864) (#150189) 2026-05-21 18:41:26 +02:00
asm_trampoline_aarch64.h [3.14] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (#130864) (#150189) 2026-05-21 18:41:26 +02:00
assemble.c gh-87859: Track Code Object Local Kinds For Arguments (gh-132980) 2025-04-29 02:21:47 +00:00
ast.c gh-132661: Implement PEP 750 (#132662) 2025-04-30 11:46:41 +02:00
ast_preprocess.c [3.14] gh-131927: Do not emit PEP 765 warnings in ast.parse() (GH-139642) (GH-140786) 2025-10-30 11:25:34 +00:00
ast_unparse.c [3.14] gh-132661: Disallow Template/str concatenation after PEP 750 spec update (#135996) (#136901) 2025-07-21 17:34:54 +02:00
bltinmodule.c [3.14] gh-150285: Fix too long docstrings in builtins (GH-150293) (GH-150466) 2026-05-26 10:05:49 +00:00
bootstrap_hash.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
brc.c Fix typos in documentation and comments (#119763) 2024-06-04 10:22:22 +00:00
bytecodes.c [3.14] gh-137030: Fix YIELD_VALUE bytecode assertion (#149184) (#149383) 2026-05-04 23:41:19 +02:00
ceval.c [3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650) 2026-03-31 08:25:07 +00:00
ceval_gil.c [3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473) (#135912) 2025-07-08 10:58:01 -07:00
ceval_macros.h [3.14] gh-140104: Set next_instr properly in the JIT during exceptions (GH-140233) (GH-141495) 2025-11-13 18:47:25 +00:00
codecs.c [3.14] gh-58124: Avoid CP_UTF8 in UnicodeDecodeError (GH-137415) (#137460) 2025-10-07 19:39:31 +02:00
codegen.c [3.14] gh-149122: Fix refleak in codegen (GH-149179) (#149181) 2026-04-30 18:42:52 +05:30
compile.c [3.14] gh-148973: fix segfault on mismatch between consts size and oparg in compiler (GH-148974) (#148980) 2026-04-25 13:53:42 +01:00
condvar.h gh-104530: Enable native Win32 condition variables by default (GH-104531) 2024-02-02 13:50:51 +00:00
config_common.h gh-76785: Add PyInterpreterConfig Helpers (gh-117170) 2024-04-02 20:35:52 +00:00
context.c [3.14] gh-150319: Replace all documentation which says "See PEP 585" (#150325) (#150813) 2026-06-02 22:22:46 +00:00
critical_section.c [3.14] gh-144513: Skip critical section locking during stop-the-world (gh-144524) (#145570) 2026-03-06 12:00:17 -05:00
crossinterp.c [3.14] gh-147998: Fix possible memory leak in _pop_preserved (crossinterp.c) (GH-147999) (GH-149365) 2026-05-04 14:11:04 +00:00
crossinterp_data_lookup.h [3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650) 2026-03-31 08:25:07 +00:00
crossinterp_exceptions.h [3.14] gh-132775: Clean Up Cross-Interpreter Error Handling (gh-135492) 2025-06-14 02:08:25 +00:00
dtoa.c gh-131238: Add explicit includes to pycore headers (#131257) 2025-03-17 12:32:43 +01:00
dup2.c gh-108765: Python.h no longer includes <unistd.h> (#108783) 2023-09-02 16:50:18 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_hpux.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_shlib.c gh-131238: Remove more includes from pycore_interp.h (#131480) 2025-03-19 23:01:32 +01:00
dynload_stub.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_win.c gh-131238: Remove pycore_runtime.h from pycore_pystate.h (#131356) 2025-03-19 17:33:24 +01:00
emscripten_signal.c GH-108614: Unbreak emscripten build (GH-109132) 2023-09-08 17:54:45 +01:00
emscripten_syscalls.c [3.14] gh-124621: Emscripten: Support pyrepl in browser (GH-136931) (GH-136988) 2025-07-22 15:04:11 +02:00
emscripten_trampoline.c [3.14] gh-145037: Fix Emscripten trampoline with emcc >= 4.0.19 (GH-145038) (#145283) 2026-02-27 08:55:59 +08:00
emscripten_trampoline_inner.c [3.14] gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (GH-137470) (#139039) 2025-09-17 17:21:01 +01:00
errors.c [3.14] gh-146480: Override the exception in _PyErr_SetKeyError() (GH-146486) (#146511) 2026-03-27 11:48:29 +00:00
executor_cases.c.h [3.14] gh-137030: Fix YIELD_VALUE bytecode assertion (#149184) (#149383) 2026-05-04 23:41:19 +02:00
fileutils.c gh-124476: Fix decoding from the locale encoding in the C.UTF-8 locale (GH-132477) 2025-04-14 21:32:41 +03:00
flowgraph.c [3.14] gh-146455: Fix O(N²) in add_const() after constant folding moved to CFG (GH-146456) (#149011) 2026-04-26 18:45:38 +03:00
formatter_unicode.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
frame.c [3.14] gh-144446: Fix some frame object thread-safety issues (gh-144479) (#144546) 2026-02-06 15:25:36 +00:00
frozen.c GH-89435: os.path should not be a frozen module (#126924) 2024-11-22 18:50:30 +00:00
frozenmain.c gh-105716: Fix _PyInterpreterState_IsRunningMain() For Embedders (gh-117140) 2024-03-21 18:20:20 -06:00
future.c gh-126139: Improve error message location for future statement with unknown feature (#126140) 2024-10-29 23:57:59 +00:00
gc.c [3.14] GH-148726: Add heap_size to _gc_runtime_state (#149025) 2026-04-29 13:04:11 +03:00
gc_free_threading.c [3.14] GH-91636: Clear weakrefs created by finalizers. (GH-136401) (#144444) 2026-03-12 14:10:29 +02:00
gc_gil.c gh-100240: Use a consistent implementation for freelists (#121934) 2024-07-22 12:08:27 -04:00
generated_cases.c.h [3.14] gh-137030: Fix YIELD_VALUE bytecode assertion (#149184) (#149383) 2026-05-04 23:41:19 +02:00
getargs.c [3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650) 2026-03-31 08:25:07 +00:00
getcompiler.c closes bpo-43278: remove unnecessary leading '\n' from COMPILER when build with GCC/Clang (GH-24606) 2021-02-25 20:24:21 -08:00
getcopyright.c gh-126133: Only use start year in PSF copyright, remove end years (#126236) 2024-11-12 15:59:19 +02:00
getopt.c GH-133336: Remove reserved `-J` flag for Jython (#133444) 2025-05-05 15:09:19 +00:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c [3.14] gh-119132: Remove "experimental" tag from the CPython free-threading. (gh-135550) (gh-135565) 2025-06-16 14:58:14 +00:00
hamt.c [3.14] gh-150178: Fix refcount leaks in hamt allocation failure paths (GH-150179) (#150302) 2026-05-24 07:42:21 +00:00
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c [3.14] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) (GH-150473) 2026-05-27 16:24:18 +00:00
importdl.c [3.14] gh-140011: Delete importdl assertion that prevents importing embedded modules from packages (GH-141605) (#141986) 2025-11-28 23:30:57 -08:00
index_pool.c [3.14] gh-91048: Refactor and optimize remote debugging module (#134652) (#134673) 2025-05-25 22:10:20 +00:00
initconfig.c [3.14] gh-146244: Fix initconfig.c SET_ITEM macro leaks dict on expression failure (GH-146246) (GH-146432) 2026-03-27 02:37:53 +00:00
instruction_sequence.c GH-124715: Move trashcan mechanism into Py_Dealloc (GH-132280) 2025-04-30 11:37:53 +01:00
instrumentation.c [3.14] gh-148037: remove critical section from PyCode_Addr2Line (GH… (#148353) 2026-04-10 23:59:38 +05:30
interpconfig.c [3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650) 2026-03-31 08:25:07 +00:00
intrinsics.c Get rid of ERROR_IF's "label" parameter (GH-132654) 2025-04-29 17:21:53 -07:00
jit.c [3.14] GH-146128: Remove the buggy AArch64 "33rx" relocation (GH-146263) (#148198) 2026-04-07 14:05:47 +03:00
legacy_tracing.c [3.14] gh-148037: remove critical section from PyCode_Addr2Line (GH… (#148353) 2026-04-10 23:59:38 +05:30
lock.c [3.14] gh-148820: Fix _PyRawMutex use-after-free on spurious semaphore wakeup (gh-148852) (#148884) 2026-04-22 18:59:58 +00:00
marshal.c [3.14] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) (GH-150473) 2026-05-27 16:24:18 +00:00
modsupport.c gh-132909: handle overflow for 'K' format in do_mkvalue (#132911) 2025-04-25 11:02:57 +00:00
mysnprintf.c Add a warning message about PyOS_snprintf (#95993) 2022-10-07 11:49:53 -07:00
mystrtoul.c gh-108765: Python.h no longer includes <ctype.h> (#108831) 2023-09-03 18:54:27 +02:00
object_stack.c gh-100240: Use a consistent implementation for freelists (#121934) 2024-07-22 12:08:27 -04:00
opcode_targets.h gh-100239: specialize BINARY_OP/SUBSCR for list-slice (#132626) 2025-05-01 10:28:52 +00:00
optimizer.c [3.14] gh-137007: Track executor before any possible deallocations (GH-137016) (GH-142541) 2025-12-10 22:54:28 +00:00
optimizer_analysis.c [3.14] gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh-145233) (#149691) 2026-05-12 13:21:31 -04:00
optimizer_bytecodes.c [3.14] gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613) (#135739) 2025-06-20 15:24:25 +08:00
optimizer_cases.c.h [3.14] gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613) (#135739) 2025-06-20 15:24:25 +08:00
optimizer_symbols.c [3.14] gh-137728 gh-137762: Fix bugs in the JIT with many local variables (GH-137764) (#137999) 2025-08-21 17:00:05 +03:00
parking_lot.c [3.14] gh-148820: Fix _PyRawMutex use-after-free on spurious semaphore wakeup (gh-148852) (#148884) 2026-04-22 18:59:58 +00:00
pathconfig.c gh-111924: Fix data races when swapping allocators (gh-130287) 2025-02-20 11:31:15 -05:00
perf_jit_trampoline.c [3.14] gh-139808: Add branch protections for aarch64 in asm_trampoline.S (#130864) (#150189) 2026-05-21 18:41:26 +02:00
perf_trampoline.c [3.14] gh-149156: Fix perf trampoline crash after fork (GH-150347) (#150392) 2026-05-25 18:29:47 +00:00
preconfig.c [3.14] gh-145092: Fix compiler warning for memchr() and wcschr() returning const pointer (GH-145093) (GH-145102) 2026-02-22 08:28:17 +00:00
pyarena.c Chore: Fix typo in pyarena.c (#126527) 2024-11-07 16:37:41 +01:00
pyctype.c Include files missed in r72044. 2009-04-27 20:54:42 +00:00
pyfpe.c bpo-46315: Add ifdef HAVE_ feature checks for WASI compatibility (GH-30507) 2022-01-13 09:46:04 +01:00
pyhash.c gh-122854: Add Py_HashBuffer() function (#122855) 2024-08-30 15:42:27 +00:00
pylifecycle.c [3.14] gh-150644: Tag Apple system log messages as public. (GH-150645) (#150739) 2026-06-01 22:51:07 +00:00
pymath.c bpo-45440: Remove pymath.c fallbacks (GH-28977) 2021-10-15 19:45:34 +02:00
pystate.c [3.14] gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh-145233) (#149691) 2026-05-12 13:21:31 -04:00
pystrcmp.c gh-108767: Replace ctype.h functions with pyctype.h functions (#108772) 2023-09-01 18:36:53 +02:00
pystrhex.c [3.14] gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548) (GH-142301) 2025-12-12 15:11:43 +00:00
pystrtod.c gh-120026: soft deprecate Py_HUGE_VAL macro (#120027) 2024-11-01 22:04:31 +00:00
Python-ast.c [3.14] gh-144169: Fix three crashes in AST objects with non-str kwargs (GH-144178) (#144227) 2026-01-26 12:14:39 +00:00
Python-tokenize.c gh-111178: Fix function signatures for test_types (#131455) 2025-03-19 13:46:17 +00:00
pythonrun.c [3.14] gh-146615: Fix format specifiers in Python/ directory (GH-146619) (GH-146650) 2026-03-31 08:25:07 +00:00
pytime.c gh-131238: Remove pycore_runtime.h from pycore_pystate.h (#131356) 2025-03-19 17:33:24 +01:00
qsbr.c [3.14] gh-144438: Fix false sharing between QSBR and tlbc_index (gh-144554) (#144923) 2026-03-31 19:20:24 +00:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
remote_debug.h [3.14] gh-137293: Ignore Exceptions when searching ELF File in Remote Debug (GH-137309) (#149391) 2026-05-05 01:15:33 +00:00
remote_debugging.c [3.14] Fix compiler warnings in remote debugging (#141060) (#141067) 2025-11-05 19:49:39 +00:00
specialize.c [3.14] gh-139525: Don't specialize functions which have a modified vectorcall (GH-139524) (#139709) 2025-10-08 09:13:34 -07:00
stackrefs.c [3.14] gh-133590: ensure that TableEntry.linenumber_borrow is initialized (GH-133681) (#133872) 2025-05-11 08:44:22 +00:00
stdlib_module_names.h GH-91048: Minor fixes for `_remotedebugging & rename to _remote_debugging` (#133398) 2025-05-05 02:30:14 +02:00
structmember.c [3.14] gh-146270: Fix PyMember_SetOne(..., NULL) not being atomic (gh-148800) (#149460) 2026-05-06 14:16:36 +00:00
suggestions.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
symtable.c [3.14] gh-145701: Fix __classdict__ & __conditional_annotations__ in class-scope inlined comprehensions (GH-145702) (#145710) 2026-03-09 20:26:52 +00:00
sysmodule.c [3.14] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) (GH-150473) 2026-05-27 16:24:18 +00:00
thread.c gh-131238: Add explicit includes to pycore headers (#131257) 2025-03-17 12:32:43 +01:00
thread_nt.h GH-131296: Add missing UNREACHABLE mark in thread_nt.h (GH-131589) 2025-03-31 20:28:35 +01:00
thread_pthread.h gh-130115: fix thread identifiers for 32-bit musl (#130391) 2025-04-04 16:31:37 +02:00
thread_pthread_stubs.h gh-125161: return non zero value in pthread_self on wasi (#125303) 2024-10-13 20:59:41 +05:30
tier2_engine.md Docs: fix spelling of the word 'transferring' (#116641) 2024-03-13 23:53:32 +01:00
traceback.c [3.14] gh-145792: Fix incorrect alloca allocation size in traceback.c (GH-145814) (#145909) 2026-03-13 12:45:18 +00:00
tracemalloc.c [3.14] gh-144763: Fix race conditions in tracemalloc (#144779) (#144965) 2026-02-18 20:55:38 +01:00
uniqueid.c gh-128923: Use zero to indicate unassigned unique id (#128925) 2025-01-17 16:42:27 +01:00
vm-state.md gh-133079: Remove Py_C_RECURSION_LIMIT & PyThreadState.c_recursion_remaining (GH-133080) 2025-04-29 12:56:20 +02:00

Miscellaneous source files for the main Python shared library