Предположим, вы хотите ограничить переменную типа для реализации определенного интерфейса. Вы могли бы написать что-то вроде этого:
from typing import TypeVar, Callable
T = TypeVar('T', Callable)
class Foo(Generic[T]):
...
>> TypeError: A single constraint is not allowed
Почему Python недоволен этим использованием ограничений типа? PEP 484 и исходный код Python в этом не помогают.
Примечание: в моем конкретном случае меня интересует ограничение переменной типа для реализации абстрактного базового класса, но принцип тот же.