Coverage for langsmith/__init__.py: 62%

74 statements  

« prev     ^ index     » next       coverage.py v7.10.1, created at 2025-12-11 16:15 -0800

1"""LangSmith Client.""" 

2 

3from typing import TYPE_CHECKING, Any 

4 

5if TYPE_CHECKING: 

6 from langsmith._expect import expect 

7 from langsmith.async_client import AsyncClient 

8 from langsmith.client import Client 

9 from langsmith.evaluation import aevaluate, evaluate 

10 from langsmith.evaluation.evaluator import EvaluationResult, RunEvaluator 

11 from langsmith.run_helpers import ( 

12 get_current_run_tree, 

13 get_tracing_context, 

14 set_run_metadata, 

15 trace, 

16 traceable, 

17 tracing_context, 

18 ) 

19 from langsmith.run_trees import RunTree 

20 from langsmith.testing._internal import test, unit 

21 from langsmith.utils import ContextThreadPoolExecutor 

22 from langsmith.uuid import uuid7, uuid7_from_datetime 

23 

24# Avoid calling into importlib on every call to __version__ 

25 

26__version__ = "0.4.59" 

27version = __version__ # for backwards compatibility 

28 

29 

30def __getattr__(name: str) -> Any: 

31 if name == "__version__": 

32 return version 

33 elif name == "Client": 

34 from langsmith.client import Client 

35 

36 return Client 

37 elif name == "AsyncClient": 

38 from langsmith.async_client import AsyncClient 

39 

40 return AsyncClient 

41 elif name == "RunTree": 

42 from langsmith.run_trees import RunTree 

43 

44 return RunTree 

45 elif name == "EvaluationResult": 

46 from langsmith.evaluation.evaluator import EvaluationResult 

47 

48 return EvaluationResult 

49 elif name == "RunEvaluator": 

50 from langsmith.evaluation.evaluator import RunEvaluator 

51 

52 return RunEvaluator 

53 elif name == "trace": 

54 from langsmith.run_helpers import trace 

55 

56 return trace 

57 elif name == "traceable": 

58 from langsmith.run_helpers import traceable 

59 

60 return traceable 

61 

62 elif name == "test": 

63 from langsmith.testing._internal import test 

64 

65 return test 

66 

67 elif name == "expect": 

68 from langsmith._expect import expect 

69 

70 return expect 

71 elif name == "evaluate": 

72 from langsmith.evaluation import evaluate 

73 

74 return evaluate 

75 

76 elif name == "evaluate_existing": 

77 from langsmith.evaluation import evaluate_existing 

78 

79 return evaluate_existing 

80 elif name == "aevaluate": 

81 from langsmith.evaluation import aevaluate 

82 

83 return aevaluate 

84 elif name == "aevaluate_existing": 

85 from langsmith.evaluation import aevaluate_existing 

86 

87 return aevaluate_existing 

88 elif name == "tracing_context": 

89 from langsmith.run_helpers import tracing_context 

90 

91 return tracing_context 

92 

93 elif name == "get_tracing_context": 

94 from langsmith.run_helpers import get_tracing_context 

95 

96 return get_tracing_context 

97 elif name == "get_current_run_tree": 

98 from langsmith.run_helpers import get_current_run_tree 

99 

100 return get_current_run_tree 

101 elif name == "set_run_metadata": 

102 from langsmith.run_helpers import set_run_metadata 

103 

104 return set_run_metadata 

105 

106 elif name == "unit": 

107 from langsmith.testing._internal import unit 

108 

109 return unit 

110 elif name == "ContextThreadPoolExecutor": 

111 from langsmith.utils import ContextThreadPoolExecutor 

112 

113 return ContextThreadPoolExecutor 

114 elif name == "configure": 

115 from langsmith.run_trees import configure 

116 

117 return configure 

118 elif name == "uuid7": 

119 from langsmith.uuid import uuid7 

120 

121 return uuid7 

122 elif name == "uuid7_from_datetime": 

123 from langsmith.uuid import uuid7_from_datetime 

124 

125 return uuid7_from_datetime 

126 

127 raise AttributeError(f"module {__name__!r} has no attribute {name!r}") 

128 

129 

130__all__ = [ 

131 "Client", 

132 "RunTree", 

133 "__version__", 

134 "EvaluationResult", 

135 "RunEvaluator", 

136 "anonymizer", 

137 "traceable", 

138 "trace", 

139 "unit", 

140 "test", 

141 "expect", 

142 "evaluate", 

143 "aevaluate", 

144 "tracing_context", 

145 "get_tracing_context", 

146 "get_current_run_tree", 

147 "set_run_metadata", 

148 "ContextThreadPoolExecutor", 

149 "AsyncClient", 

150 "uuid7", 

151 "uuid7_from_datetime", 

152]