custom_types.py

#

Custom Types so mypy can check the code

from typing import List

from typing_extensions import Protocol
#

This is a union of all sort of types

class TypeLike(Protocol):
#
    __name__: str
    __module__: str
    __path__: str
    __objclass__: "TypeLike"
    __func__: "TypeLike"
    __self__: "TypeLike"
    __bases__: List["TypeLike"]
    __all__: List[str]
    __qualname__: str
    __file__: str
    __mro__: str
#

pure metadata, people can write about anything here

    __version__: str
    __date__: str
    __author__: str
    __credits__: str
#

def name(self) -> str: … # Empty method body (explicit ‘…’)