Overview
attrs 23.1, released on April 16, 2023, drops Python 3.6 and adds string filtering in asdict/astuple.
Main Features
String filtering
The asdict() and astuple() functions now accept string-based attribute name filters, simplifying selective serialization.
python
import attrs
@attrs.define
class User:
name: str
email: str
password: str
user = User('Alice', 'alice@example.com', 'secret')
# Filtering: exclude password
public = attrs.asdict(
user,
filter=attrs.filters.exclude(attrs.fields(User).password),
)
print(public) # {'name': 'Alice', 'email': 'alice@example.com'}
