]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.13] gh-149995: Update typing.py docstrings and documentation (#150217)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Fri, 22 May 2026 05:09:41 +0000 (22:09 -0700)
committerGitHub <noreply@github.com>
Fri, 22 May 2026 05:09:41 +0000 (05:09 +0000)
commit1df755c135521ab76998e8b7d1b148b1f2101d72
tree478b47a7f77461dfff4c11ad597558e2247e7b98
parentcfa3daa7fe9136263642ea2c334e8783d16e2ca3
[3.13] gh-149995: Update typing.py docstrings and documentation (#150217)

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]