attrs
attrs is a Python library that provides a lightweight, declarative way to define classes with attributes. It focuses on reducing boilerplate by automatically generating common methods and by offering attribute-level features such as validation, conversion, and metadata. The project predates Python’s standard library dataclasses and remains popular for its rich customization options.
A central concept is the attr.s decorator used to define a class and attr.ib for individual attributes.
Validators and converters provide a flexible mechanism for data integrity. Built-in validators cover common checks (e.g.,
Additional utilities include asdict and astuple for deep serialization, and evolve for creating modified copies of
Patterns and ecosystem: attrs is widely used in Python projects as an alternative to dataclasses when advanced