1
1
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
3
+ from .unstructuredclienterror import UnstructuredClientError
3
4
from typing import TYPE_CHECKING
4
5
from importlib import import_module
5
6
import builtins
7
+ import sys
6
8
7
9
if TYPE_CHECKING :
8
10
from .httpvalidationerror import (
14
16
from .responsevalidationerror import ResponseValidationError
15
17
from .sdkerror import SDKError
16
18
from .servererror import ServerError , ServerErrorData
17
- from .unstructuredclienterror import UnstructuredClientError
18
19
19
20
__all__ = [
20
21
"Detail" ,
37
38
"SDKError" : ".sdkerror" ,
38
39
"ServerError" : ".servererror" ,
39
40
"ServerErrorData" : ".servererror" ,
40
- "UnstructuredClientError" : ".unstructuredclienterror" ,
41
41
}
42
42
43
43
44
+ def dynamic_import (modname , retries = 3 ):
45
+ for attempt in range (retries ):
46
+ try :
47
+ return import_module (modname , __package__ )
48
+ except KeyError :
49
+ # Clear any half-initialized module and retry
50
+ sys .modules .pop (modname , None )
51
+ if attempt == retries - 1 :
52
+ break
53
+ raise KeyError (f"Failed to import module '{ modname } ' after { retries } attempts" )
54
+
55
+
44
56
def __getattr__ (attr_name : str ) -> object :
45
57
module_name = _dynamic_imports .get (attr_name )
46
58
if module_name is None :
@@ -49,7 +61,7 @@ def __getattr__(attr_name: str) -> object:
49
61
)
50
62
51
63
try :
52
- module = import_module (module_name , __package__ )
64
+ module = dynamic_import (module_name )
53
65
result = getattr (module , attr_name )
54
66
return result
55
67
except ImportError as e :
0 commit comments