1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# *cattrs*: Flexible Object Serialization and Validation
*Because validation belongs to the edges.*
---
```{include} ../README.md
:start-after: "begin-teaser -->"
:end-before: "<!-- end-teaser"
```
```{include} ../README.md
:start-after: "begin-example -->"
:end-before: "<!-- end-example"
```
---
However, *cattrs* does **much** more with a focus on **functional composition** and **not coupling** your data model to its serialization and validation rules.
To learn more on why to use *cattrs*, have a look at {doc}`why`, and if you're convinced jump right into {doc}`basics`!
```{toctree}
---
maxdepth: 2
hidden: true
caption: Introduction
---
why
basics
defaulthooks
```
```{toctree}
---
maxdepth: 2
hidden: true
caption: User Guide
---
customizing
strategies
recipes
validation
preconf
unions
usage
migrations
indepth
```
```{toctree}
---
maxdepth: 2
hidden: true
caption: Reference
---
API <modules>
modindex
genindex
```
```{toctree}
---
maxdepth: 2
hidden: true
caption: Dev Guide
---
contributing
benchmarking
```
```{toctree}
---
caption: Meta
hidden: true
maxdepth: 1
---
history
PyPI <https://pypi.org/project/cattrs/>
GitHub <https://github.com/python-attrs/cattrs>
```
|