Annotated позволяет добавлять некоторые метаданные для подсказки типа, которые можно проверить во время выполнения:
Код: Выделить всё
from typing import Annotated
some: Annotated[int, 'must be even']
Код: Выделить всё
some: MyAnnotated[int] # T:
if isinstance(param, tuple):
return Annotated[param[0], param[1]] # type: ignore
return Annotated[param, ''] # type: ignore
assert MyAnnotated[int, 'my-meta'] == Annotated[int, 'my-meta']
assert MyAnnotated[int] == Annotated[int, '']

хотя отлично работает с аннотированным классом по умолчанию:

Подробнее здесь: https://stackoverflow.com/questions/765 ... t-metadata