class Vector(TypedDict): x: int y: int label: str # Can also be created as: # Vector = TypedDict('Vector', x=int, y=int, label=str) a: Vector = {'x': 1, 'y': 2, 'label': 'good'} # OK b: Vector = {'z': 3, 'label': 'bad'} # Fails type check print(Vector(x=1, y=2, label='first') == dict(x=1, y=2, label='first')) # True