cattrs
cattrs copied to clipboard
Composable custom class converters for attrs, dataclasses and friends.
Here's a first attempt – let's iterate.
* cattrs version: 23.2.3 * Python version: 3.13.0b2 * Operating System: Fedora Linux 41 ### Description I'm trying to build cattrs as RPM for Fedora Linux 41 with Python 3.13.0b2....
* cattrs version: 23.2.3 * Python version: 3.9 * Operating System: MacOS and Linux ### Description I have a set of classes that all inherit from one base class. I...
* cattrs version: 24.8 * Python version: All * Operating System: All ### Description Typed Settings [uses some of Converter's private structuring functions](https://gitlab.com/sscherfke/typed-settings/-/blob/24.4.0/src/typed_settings/converters.py?ref_type=tags#L444-450). I know that I should not use...
* cattrs version: 23.2.3 * Python version: 3.12 * Operating System: MacOS ### Description There's a decent amount of overhead in creating separate converters that needs to be done, which...
From comments in #558. Custom metamethods and `make_unstructure_dict_unstructure_fn` cannot be used together: ```python import cattrs from cattrs.strategies import use_class_methods import attrs # Use a set of metamethods @attrs.define class Thing:...
There are preconfigured converters for the various serialization formats, but I have found need for a converter specific to what I will call "plain" Python. Basically: ```python PassThroughTypes: TypeAlias =...
* cattrs version: 23.2.3 * Python version: 3.11 * Operating System: Linux ### Description `cattrs.preconf.json.make_converter()` and `cattrs.preconf.ujson.make_converter()` use Base85. While this _is_ more efficient, it's bad for interop in the...