__init__.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. """LangSmith Client."""
  2. from typing import TYPE_CHECKING, Any
  3. if TYPE_CHECKING:
  4. from langsmith._expect import expect
  5. from langsmith.async_client import AsyncClient
  6. from langsmith.client import Client
  7. from langsmith.evaluation import aevaluate, evaluate
  8. from langsmith.evaluation.evaluator import EvaluationResult, RunEvaluator
  9. from langsmith.run_helpers import (
  10. get_current_run_tree,
  11. get_tracing_context,
  12. set_run_metadata,
  13. trace,
  14. traceable,
  15. tracing_context,
  16. )
  17. from langsmith.run_trees import RunTree
  18. from langsmith.testing._internal import test, unit
  19. from langsmith.utils import ContextThreadPoolExecutor
  20. from langsmith.uuid import uuid7, uuid7_from_datetime
  21. # Avoid calling into importlib on every call to __version__
  22. __version__ = "0.4.59"
  23. version = __version__ # for backwards compatibility
  24. def __getattr__(name: str) -> Any:
  25. if name == "__version__":
  26. return version
  27. elif name == "Client":
  28. from langsmith.client import Client
  29. return Client
  30. elif name == "AsyncClient":
  31. from langsmith.async_client import AsyncClient
  32. return AsyncClient
  33. elif name == "RunTree":
  34. from langsmith.run_trees import RunTree
  35. return RunTree
  36. elif name == "EvaluationResult":
  37. from langsmith.evaluation.evaluator import EvaluationResult
  38. return EvaluationResult
  39. elif name == "RunEvaluator":
  40. from langsmith.evaluation.evaluator import RunEvaluator
  41. return RunEvaluator
  42. elif name == "trace":
  43. from langsmith.run_helpers import trace
  44. return trace
  45. elif name == "traceable":
  46. from langsmith.run_helpers import traceable
  47. return traceable
  48. elif name == "test":
  49. from langsmith.testing._internal import test
  50. return test
  51. elif name == "expect":
  52. from langsmith._expect import expect
  53. return expect
  54. elif name == "evaluate":
  55. from langsmith.evaluation import evaluate
  56. return evaluate
  57. elif name == "evaluate_existing":
  58. from langsmith.evaluation import evaluate_existing
  59. return evaluate_existing
  60. elif name == "aevaluate":
  61. from langsmith.evaluation import aevaluate
  62. return aevaluate
  63. elif name == "aevaluate_existing":
  64. from langsmith.evaluation import aevaluate_existing
  65. return aevaluate_existing
  66. elif name == "tracing_context":
  67. from langsmith.run_helpers import tracing_context
  68. return tracing_context
  69. elif name == "get_tracing_context":
  70. from langsmith.run_helpers import get_tracing_context
  71. return get_tracing_context
  72. elif name == "get_current_run_tree":
  73. from langsmith.run_helpers import get_current_run_tree
  74. return get_current_run_tree
  75. elif name == "set_run_metadata":
  76. from langsmith.run_helpers import set_run_metadata
  77. return set_run_metadata
  78. elif name == "unit":
  79. from langsmith.testing._internal import unit
  80. return unit
  81. elif name == "ContextThreadPoolExecutor":
  82. from langsmith.utils import ContextThreadPoolExecutor
  83. return ContextThreadPoolExecutor
  84. elif name == "configure":
  85. from langsmith.run_trees import configure
  86. return configure
  87. elif name == "uuid7":
  88. from langsmith.uuid import uuid7
  89. return uuid7
  90. elif name == "uuid7_from_datetime":
  91. from langsmith.uuid import uuid7_from_datetime
  92. return uuid7_from_datetime
  93. raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
  94. __all__ = [
  95. "Client",
  96. "RunTree",
  97. "__version__",
  98. "EvaluationResult",
  99. "RunEvaluator",
  100. "anonymizer",
  101. "traceable",
  102. "trace",
  103. "unit",
  104. "test",
  105. "expect",
  106. "evaluate",
  107. "aevaluate",
  108. "tracing_context",
  109. "get_tracing_context",
  110. "get_current_run_tree",
  111. "set_run_metadata",
  112. "ContextThreadPoolExecutor",
  113. "AsyncClient",
  114. "uuid7",
  115. "uuid7_from_datetime",
  116. ]