TypedModel aims to provide strict type checking for dataclass and pydantic model.
dataclass is useful, but provides no type checking
pydantic is useful, but sometimes it bugs out
pip install typedmodel
from typedmodel import BaseModel
class Foo(BaseModel):
a: str
b: str
d = 'default'
e: str = 'default'
foo = Foo(a="a", b="b")
check tests
for more use cases