Python 3 dictionary with known keys typing

As pointed out by Blckknght, you and Stanislav Ivanov in the comments, you can use NamedTuple: from typing import NamedTuple class NameInfo(NamedTuple): name: str first_letter: str def get_info(name: str) -> NameInfo: return NameInfo(name=name, first_letter=name[0]) Starting from Python 3.8 you can use TypedDict which is more similar to what you want: from typing import TypedDict class … Read more