Composable complex class support for attrs and dataclasses.
copied from cf-staging / cattrscattrs is an open source Python library for structuring and unstructuring data. cattrs works best with attrs classes and the usual Python collections, but other kinds of classes are supported by manually registering converters.