1from typing import Final
2
3from .converters import BaseConverter, Converter, GenConverter, UnstructureStrategy
4from .errors import (
5 AttributeValidationNote,
6 BaseValidationError,
7 ClassValidationError,
8 ForbiddenExtraKeysError,
9 IterableValidationError,
10 IterableValidationNote,
11 StructureHandlerNotFoundError,
12)
13from .gen import override
14from .types import SimpleStructureHook
15from .v import transform_error
16
17__all__ = [
18 "AttributeValidationNote",
19 "BaseConverter",
20 "BaseValidationError",
21 "ClassValidationError",
22 "Converter",
23 "ForbiddenExtraKeysError",
24 "GenConverter",
25 "IterableValidationError",
26 "IterableValidationNote",
27 "SimpleStructureHook",
28 "StructureHandlerNotFoundError",
29 "UnstructureStrategy",
30 "get_structure_hook",
31 "get_unstructure_hook",
32 "global_converter",
33 "override",
34 "register_structure_hook",
35 "register_structure_hook_func",
36 "register_unstructure_hook",
37 "register_unstructure_hook_func",
38 "structure",
39 "structure_attrs_fromdict",
40 "structure_attrs_fromtuple",
41 "transform_error",
42 "unstructure",
43]
44
45#: The global converter. Prefer creating your own if customizations are required.
46global_converter: Final = Converter()
47
48unstructure = global_converter.unstructure
49structure = global_converter.structure
50structure_attrs_fromtuple = global_converter.structure_attrs_fromtuple
51structure_attrs_fromdict = global_converter.structure_attrs_fromdict
52register_structure_hook = global_converter.register_structure_hook
53register_structure_hook_func = global_converter.register_structure_hook_func
54register_unstructure_hook = global_converter.register_unstructure_hook
55register_unstructure_hook_func = global_converter.register_unstructure_hook_func
56get_structure_hook: Final = global_converter.get_structure_hook
57get_unstructure_hook: Final = global_converter.get_unstructure_hook