And so I created the record-type project on PyPI to share a proof-of-concept of what I think a record type could look like if one was ever added to Python. from records import record @record def InventoryItem(name: str, price: float, *, quantity: int = 0): """Class for keeping track of an item in inventory.""" from dataclasses import dataclass, KW_ONLY @dataclass(frozen=True, slots=True) class InventoryItem: """Class for keeping track of an item in inventory."""