python-attrs/cattrs
Composable custom class converters for attrs, dataclasses and friends. observed · 2026-08-28
Health v2 · maintenance only
84/100
- Activity 96
- Release rhythm 59
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 66
- age_days: 3657
- days_rel: 196
- days_push: 24
- n_releases_24m: 8
Adoption not part of the score
1050 stars · 152 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
cattrs is a Python library for converting unstructured data like dictionaries into attrs classes and dataclasses and back, with validation. It supports recursive structuring/unstructuring of complex and nested types with customizable hooks.
Use cases
- convert json dicts into python attrs classes
- serialize dataclasses to dictionaries
- deserialize nested api payloads into typed objects
- validate unstructured data at system edges
- register custom converters for specific types
When to choose
- you use attrs classes or dataclasses and need flexible (un)structuring
- you need recursive conversion of complex nested types
- you want validation separated from your data model
When to avoid
- you need a full schema-based validation framework like pydantic
- your data model doesn't use attrs or dataclasses
- you only need simple json encoding of plain dicts
Facets
library · maturity active
serialization form-handling parser developer-tools apis python cross-platform attrs dataclasses structuring deserialization type-driven data-engineering
2 sources
- readme: https://github.com/python-attrs/cattrs · fetched 2026-08-28 · 3d07255df0cf
- registry_pypi: https://pypi.org/pypi/cattrs/json · fetched 2026-08-29 · 7c657b9e2781
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| python-attrs/cattrs | main | 84 |
For agents
markdown · JSON · MCP: product_card(name="python-attrs/cattrs")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem