Then came PEP 563 and said that if you wanted to access the annotations of an object, you needed to call typing.get_type_hints() to get annotations in a meaningful form.
This smells a bit like enforced static typing to me.
I'm working to address this. We're adding a new function to the
standard library called inspect.get_annotations(). It's a lot
less opinionated than typing.get_type_hints()--it simply returns
the un-stringized annotations. It also papers over some other
awkward annotations behaviors, such as classes inheriting
annotations from base classes. I propose that it be the official
new Best Practice for accessing annotations (as opposed to type
hints, you should still use typing.get_type_hints() for that).
This will get checked in in time for Python 3.10b1.
Cheers,
/arry