SIGN IN SIGN UP

gh-118761: Lazily import annotationlib in typing (#132060)

annotationlib is used quite a few times in typing.py, but I think the
usages are just rare enough that this makes sense.

The import would get triggered by:
- Using get_type_hints(), evaluate_forward_ref(), and similar introspection
  functions
- Using a string annotation anywhere that goes through _type_convert (e.g.,
  "Final['x']" will trigger an annotationlib import in order to access the
  ForwardRef class).
- Creating a TypedDict or NamedTuple (unless it's empty or PEP 563 is on).

Lots of programs will want to use typing without any of these, so the tradeoff
seems worth it.
J
Jelle Zijlstra committed
305be5fb1a1ece7f9651ae98053dbe79bf439aa4
Parent: 04bc681
Committed by GitHub <noreply@github.com> on 4/4/2025, 3:57:10 PM