Vue d'ensemble

attrs 22.1, publié le 28 juillet 2022, abandonne le support de Python 2 et ajoute des validateurs de comparaison.

Fonctionnalités principales

Abandon Python 2

attrs est désormais Python 3 uniquement, permettant un code interne plus propre et des annotations de type natives.

python
import attrs

# API moderne, Python 3 uniquement
@attrs.define
class Config:
    host: str = 'localhost'
    port: int = attrs.field(default=8080)
    debug: bool = False

Validateurs de comparaison

Les validateurs gt, ge, lt, le permettent de valider les valeurs numériques des champs.

python
import attrs

@attrs.define
class Temperature:
    celsius: float = attrs.field(
        validator=attrs.validators.ge(-273.15)
    )

t = Temperature(20.0)   # OK
# Temperature(-300.0)   # ValueError

Sources