cattrs.preconf package

cattrs.preconf.validate_datetime(v, _)[source]
cattrs.preconf.unstructure_datetime_as_timestamp(v)[source]

Unstructure a datetime into a UNIX timestamp.

datetime.timestamp interprets naive datetimes as local time, which would make the result depend on the timezone of the machine unstructuring them. The matching structure hooks read timestamps back as UTC, so naive datetimes are treated as UTC here too, keeping both ends of the round-trip in agreement.

Parameters:

v (datetime)

Return type:

float

cattrs.preconf.wrap(_)[source]

Wrap a Converter __init__ in a type-safe way.

Parameters:

_ (Callable[[~P], Any])

Return type:

Callable[[Callable[[…], T]], Callable[[~P], T]]

cattrs.preconf.is_primitive_enum(type, include_bare_enums=False)[source]

Is this a string or int enum that can be passed through?

Parameters:
  • type (Any)

  • include_bare_enums (bool)

Return type:

bool

cattrs.preconf.literals_with_enums_unstructure_factory(typ, converter)[source]

An unstructure hook factory for literals containing enums.

If all contained enums can be passed through (their unstructure hook is identity), the entire literal can also be passed through.

Parameters:
Return type:

Callable[[Any], Any]

Submodules

cattrs.preconf.bson module

Preconfigured converters for bson.

class cattrs.preconf.bson.Base85Bytes[source]

Bases: bytes

A subclass to help with binary key encoding/decoding.

class cattrs.preconf.bson.BsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, check_keys=False, codec_options=(<class 'dict'>, False, 0, 'strict', None, TypeRegistry(type_codecs=[], fallback_encoder=None), DatetimeConversion.DATETIME))[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • check_keys (bool)

  • codec_options (CodecOptions)

Return type:

bytes

loads(data, cl, codec_options=(<class 'dict'>, False, 0, 'strict', None, TypeRegistry(type_codecs=[], fallback_encoder=None), DatetimeConversion.DATETIME))[source]
Parameters:
  • data (bytes)

  • cl (type[T])

  • codec_options (CodecOptions)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.bson.configure_converter(converter)[source]

Configure the converter for use with the bson library.

  • sets are serialized as lists

  • byte mapping keys are base85-encoded into strings when unstructuring, and reverse

  • non-string, non-byte mapping keys are coerced into strings when unstructuring

  • a deserialization hook is registered for bson.ObjectId by default

  • string and int enums are passed through when unstructuring

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (BaseConverter)

cattrs.preconf.bson.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

BsonConverter

cattrs.preconf.cbor2 module

Preconfigured converters for cbor2.

class cattrs.preconf.cbor2.Cbor2Converter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

bytes

loads(data, cl, **kwargs)[source]
Parameters:
  • data (bytes)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.cbor2.configure_converter(converter)[source]

Configure the converter for use with the cbor2 library.

  • datetimes are serialized as timestamp floats

  • sets are serialized as lists

  • string and int enums are passed through when unstructuring

Parameters:

converter (BaseConverter)

cattrs.preconf.cbor2.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

Cbor2Converter

cattrs.preconf.json module

Preconfigured converters for the stdlib json.

class cattrs.preconf.json.JsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

str

loads(data, cl, **kwargs)[source]
Parameters:
  • data (bytes | str)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.json.configure_converter(converter)[source]

Configure the converter for use with the stdlib json module.

  • bytes are serialized as base85 strings

  • datetimes are serialized as ISO 8601

  • counters are serialized as dicts

  • sets are serialized as lists

  • string and int enums are passed through when unstructuring

  • union passthrough is configured for unions of strings, bools, ints, floats and None

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (BaseConverter)

Return type:

None

cattrs.preconf.json.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

JsonConverter

cattrs.preconf.msgpack module

Preconfigured converters for msgpack.

class cattrs.preconf.msgpack.MsgpackConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

bytes

loads(data, cl, **kwargs)[source]
Parameters:
  • data (bytes)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.msgpack.configure_converter(converter)[source]

Configure the converter for use with the msgpack library.

  • datetimes are serialized as timestamp floats

  • sets are serialized as lists

  • string and int enums are passed through when unstructuring

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (BaseConverter)

Return type:

None

cattrs.preconf.msgpack.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

MsgpackConverter

cattrs.preconf.msgspec module

Preconfigured converters for msgspec.

class cattrs.preconf.msgspec.MsgspecJsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

A converter specialized for the _msgspec_ library.

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

encoder: Encoder = <msgspec.json.Encoder object>

The msgspec encoder for dumping.

dumps(obj, unstructure_as=None, **kwargs)[source]

Unstructure and encode obj into JSON bytes.

Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

bytes

get_dumps_hook(unstructure_as, **kwargs)[source]

Produce a dumps hook for the given type.

Parameters:
  • unstructure_as (Any)

  • kwargs (Any)

Return type:

Callable[[Any], bytes]

loads(data, cl, **kwargs)[source]

Decode and structure cl from the provided JSON bytes.

Parameters:
  • data (bytes)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

get_loads_hook(cl)[source]

Produce a loads hook for the given type.

Parameters:

cl (type[T])

Return type:

Callable[[bytes], T]

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.msgspec.configure_converter(converter)[source]

Configure the converter for the msgspec library.

  • bytes are serialized as base64 strings, directly by msgspec

  • datetimes and dates are passed through to be serialized as RFC 3339 directly

  • enums are passed through to msgspec directly

  • union passthrough configured for str, bool, int, float and None

  • bare, string and int enums are passed through when unstructuring

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (Converter)

Return type:

None

cattrs.preconf.msgspec.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

MsgspecJsonConverter

cattrs.preconf.orjson module

Preconfigured converters for orjson.

class cattrs.preconf.orjson.OrjsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

bytes

loads(data, cl)[source]
Parameters:
  • data (bytes | bytearray | memoryview | str)

  • cl (type[T])

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.orjson.configure_converter(converter)[source]

Configure the converter for use with the orjson library.

  • bytes are serialized as base85 strings

  • datetimes and dates are passed through to be serialized as RFC 3339 by orjson

  • typed namedtuples are serialized as lists

  • sets are serialized as lists

  • string enum mapping keys have special handling

  • mapping keys are coerced into strings when unstructuring

  • bare, string and int enums are passed through when unstructuring

Changed in version 24.1.0: Add support for typed namedtuples.

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (Converter)

Return type:

None

cattrs.preconf.orjson.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

OrjsonConverter

cattrs.preconf.pyyaml module

Preconfigured converters for pyyaml.

class cattrs.preconf.pyyaml.PyyamlConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

str

loads(data, cl)[source]
Parameters:
  • data (str)

  • cl (type[T])

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.pyyaml.configure_converter(converter)[source]

Configure the converter for use with the pyyaml library.

  • frozensets are serialized as lists

  • string enums are converted into strings explicitly

  • datetimes and dates are validated

  • typed namedtuples are serialized as lists

Changed in version 24.1.0: Add support for typed namedtuples.

Parameters:

converter (BaseConverter)

Return type:

None

cattrs.preconf.pyyaml.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

PyyamlConverter

cattrs.preconf.tomlkit module

Preconfigured converters for tomlkit.

class cattrs.preconf.tomlkit.TomlkitConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

str

loads(data, cl)[source]
Parameters:
  • data (str)

  • cl (type[T])

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.tomlkit.configure_converter(converter)[source]

Configure the converter for use with the tomlkit library.

  • bytes are serialized as base85 strings

  • sets are serialized as lists

  • tuples are serializas as lists

  • mapping keys are coerced into strings when unstructuring

Changed in version 26.1.0: date objects are now passed through to tomlkit without unstructuring.

Parameters:

converter (BaseConverter)

cattrs.preconf.tomlkit.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

TomlkitConverter

cattrs.preconf.tomllib module

Preconfigured converters for tomllib.

class cattrs.preconf.tomllib.TomllibConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

A converter subclass specialized for tomllib.

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

str

loads(data, cl, **kwargs)[source]
Parameters:
  • data (str)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.tomllib.configure_converter(converter)[source]

Configure the converter for use with the tomllib library.

  • bytes are serialized as base85 strings

  • sets are serialized as lists

  • tuples are serializas as lists

  • mapping keys are coerced into strings when unstructuring

  • dates and datetimes are left for tomllib to handle

Parameters:

converter (BaseConverter)

cattrs.preconf.tomllib.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

TomllibConverter

cattrs.preconf.ujson module

Preconfigured converters for ujson.

class cattrs.preconf.ujson.UjsonConverter(dict_factory=<class 'dict'>, unstruct_strat=UnstructureStrategy.AS_DICT, omit_if_default=False, forbid_extra_keys=False, type_overrides={}, unstruct_collection_overrides={}, prefer_attrib_converters=False, detailed_validation=True, unstructure_fallback_factory=<function Converter.<lambda>>, structure_fallback_factory=<function Converter.<lambda>>, use_alias=False)[source]

Bases: Converter

Parameters:
  • detailed_validation (bool) – Whether to use a slightly slower mode for detailed validation errors.

  • unstructure_fallback_factory (HookFactory[UnstructureHook]) – A hook factory to be called when no registered unstructuring hooks match.

  • structure_fallback_factory (HookFactory[StructureHook]) – A hook factory to be called when no registered structuring hooks match.

  • use_alias (bool) – Whether to use the field alias instead of the field name as the un/structured dictionary key by default.

  • dict_factory (Callable[[], Any])

  • unstruct_strat (UnstructureStrategy)

  • omit_if_default (bool)

  • forbid_extra_keys (bool)

  • type_overrides (Mapping[type, AttributeOverride])

  • unstruct_collection_overrides (Mapping[type, UnstructureHook])

  • prefer_attrib_converters (bool)

Added in version 23.2.0: unstructure_fallback_factory

Added in version 23.2.0: structure_fallback_factory

Changed in version 24.2.0: The default structure_fallback_factory now raises errors for missing handlers more eagerly, surfacing problems earlier.

Added in version 25.2.0: use_alias

dumps(obj, unstructure_as=None, **kwargs)[source]
Parameters:
  • obj (Any)

  • unstructure_as (Any)

  • kwargs (Any)

Return type:

str

loads(data, cl, **kwargs)[source]
Parameters:
  • data (AnyStr)

  • cl (type[T])

  • kwargs (Any)

Return type:

T

forbid_extra_keys
omit_if_default
type_overrides
use_alias
cattrs.preconf.ujson.configure_converter(converter)[source]

Configure the converter for use with the ujson library.

  • bytes are serialized as base64 strings

  • datetimes are serialized as ISO 8601

  • sets are serialized as lists

  • string and int enums are passed through when unstructuring

Changed in version 24.2.0: Enums are left to the library to unstructure, speeding them up.

Parameters:

converter (BaseConverter)

cattrs.preconf.ujson.make_converter(*args, **kwargs)[source]
Parameters:
  • args (Any)

  • kwargs (Any)

Return type:

UjsonConverter