Python Data Modeling (dataclasses, attrs, msgspec)
Parent: Programming Languages · researched 2026-06-02T18:13:40.460Z· 6 sources · 7 concepts · skill python-data-modeling
Children
- Decision: trusted/internal vs untrusted/external; performance tiers (msgspec<attrs~dataclasses<<pydantic) (frontier)
- dataclasses (field/default_factory, frozen/slots/kw_only, __post_init__, asdict) (frontier)
- attrs (@define, validators/converters, slots default, cattrs serde) (frontier)
- msgspec.Struct (fastest init+serde, auto __slots__, JSON/msgpack) (frontier)
- pydantic-v2 pointer (untrusted-data validation boundary) (frontier)
- stdlib shapes (NamedTuple, TypedDict + Required/NotRequired, enum/StrEnum/Flag) (frontier)
- Serialization (json/orjson/msgspec/pickle-insecurity) + mutable-default & slots pitfalls (frontier)
Frontier under this node: Decision: trusted/internal vs untrusted/external; performance tiers (msgspec<attrs~dataclasses<<pydantic), Serialization (json/orjson/msgspec/pickle-insecurity) + mutable-default & slots pitfalls, attrs (@define, validators/converters, slots default, cattrs serde), dataclasses (field/default_factory, frozen/slots/kw_only, __post_init__, asdict), msgspec.Struct (fastest init+serde, auto __slots__, JSON/msgpack), pydantic-v2 pointer (untrusted-data validation boundary), stdlib shapes (NamedTuple, TypedDict + Required/NotRequired, enum/StrEnum/Flag)