Converters¶
All convclasses functionality is exposed through a convclasses.Converter object.
Global convclasses functions, such as convclasses.unstructure(), use a single
global converter. Changes done to this global converter, such as registering new
structure and unstructure hooks, affect all code using the global
functions.
Global converter¶
A global converter is provided for convenience as convclasses.global_converter.
The following functions implicitly use this global converter:
convclasses.structureconvclasses.unstructureconvclasses.structure_dataclass_fromtupleconvclasses.structure_dataclass_fromdict
Changes made to the global converter will affect the behavior of these functions.
Larger applications are strongly encouraged to create and customize a different,
private instance of Converter.
Converter objects¶
To create a private converter, simply instantiate a convclasses.Converter.
Currently, a converter contains the following state:
a registry of unstructure hooks, backed by a
singledispatchand afunction_dispatch.a registry of structure hooks, backed by a different
singledispatchandfunction_dispatch.a LRU cache of union disambiguation functions.
a reference to an unstructuring strategy (either AS_DICT or AS_TUPLE).
a
dict_factorycallable, used for creatingdictswhen dumpingdataclassesclasses using AS_DICT.