]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.14] gh-149995: Update typing.py docstrings and documentation (#150216)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Fri, 22 May 2026 04:46:40 +0000 (21:46 -0700)
committerGitHub <noreply@github.com>
Fri, 22 May 2026 04:46:40 +0000 (04:46 +0000)
commit954dd2fac7503b7c8a2a86cb72152a9542c5a3e9
tree0aac6d606157fbe302c2326e4f5e8dcf6bf9efc5
parentfe93e90a1ace608c0539538bb324018ca4ddd282
[3.14] gh-149995: Update typing.py docstrings and documentation (#150216)

[3.14] gh-149995: Update typing.py docstrings and documentation (GH-149996)

Some of these docstrings read as if they were written when typing.py was
first written, and things have evolved since then.

A few motivations:
- Call protocols protocols instead of ABCs. They are also ABCs, but the fact
  they are protocols is more relevant to typing.
- Avoid recommending direct use of .__annotations__ and steer users to
  annotationlib instead.
- For TypedDict, mention NotRequired before total=False since it is more
  general and probably more frequently useful.
- For overloads, mention runtime use first instead of stub use. I think early on
  there was talk of allowing overload only in stubs, but it is now heavily used at
  runtime too and that's more likely to be relevant to users.
(cherry picked from commit f159419ae2ef1aebbd90ce9427b55e27738c960c)
Doc/library/typing.rst
Lib/typing.py
Misc/NEWS.d/next/Library/2026-05-18-07-44-46.gh-issue-149995.vvtFHn.rst [new file with mode: 0644]