Vue d'ensemble
attrs 23.1, publié le 16 avril 2023, abandonne Python 3.6 et ajoute le filtrage par chaîne dans asdict/astuple.
Fonctionnalités principales
Filtrage par chaîne
Les fonctions asdict() et astuple() acceptent désormais des filtres par nom d'attribut en chaîne, simplifiant la sérialisation sélective.
python
import attrs
@attrs.define
class User:
name: str
email: str
password: str
user = User('Alice', 'alice@example.com', 'secret')
# Filtrage : exclure le mot de passe
public = attrs.asdict(
user,
filter=attrs.filters.exclude(attrs.fields(User).password),
)
print(public) # {'name': 'Alice', 'email': 'alice@example.com'}
