# Structural Typing The structural typing is used to define the contract of an object. Its compliance is based on its structure (the keys and their types), rather than its type or inheritance. TypeDict: ```python import typing class UserTypeDict(typing.TypeDict): id: int name: str email: str ``` This object is compliant with `UserTypeDict`: ```python user_dict = { 'id': 1, 'name': 'John', 'email': '[email protected]', } ``` --- Bibliography: - [Title - website.com](need bibliography)