group-wbl/.venv/lib/python3.13/site-packages/langsmith/__init__.py

161 lines
4.1 KiB
Python
Raw Permalink Normal View History

2026-01-09 09:48:03 +08:00
"""LangSmith Client."""
from typing import TYPE_CHECKING, Any
if TYPE_CHECKING:
from langsmith._expect import expect
from langsmith.async_client import AsyncClient
from langsmith.client import Client
from langsmith.evaluation import (
aevaluate,
aevaluate_existing,
evaluate,
evaluate_existing,
)
from langsmith.evaluation.evaluator import EvaluationResult, RunEvaluator
from langsmith.run_helpers import (
get_current_run_tree,
get_tracing_context,
set_run_metadata,
trace,
traceable,
tracing_context,
)
from langsmith.run_trees import RunTree, configure
from langsmith.testing._internal import test, unit
from langsmith.utils import ContextThreadPoolExecutor
from langsmith.uuid import uuid7, uuid7_from_datetime
# Avoid calling into importlib on every call to __version__
__version__ = "0.6.0"
version = __version__ # for backwards compatibility
def __getattr__(name: str) -> Any:
if name == "__version__":
return version
elif name == "Client":
from langsmith.client import Client
return Client
elif name == "AsyncClient":
from langsmith.async_client import AsyncClient
return AsyncClient
elif name == "RunTree":
from langsmith.run_trees import RunTree
return RunTree
elif name == "EvaluationResult":
from langsmith.evaluation.evaluator import EvaluationResult
return EvaluationResult
elif name == "RunEvaluator":
from langsmith.evaluation.evaluator import RunEvaluator
return RunEvaluator
elif name == "trace":
from langsmith.run_helpers import trace
return trace
elif name == "traceable":
from langsmith.run_helpers import traceable
return traceable
elif name == "test":
from langsmith.testing._internal import test
return test
elif name == "expect":
from langsmith._expect import expect
return expect
elif name == "evaluate":
from langsmith.evaluation import evaluate
return evaluate
elif name == "evaluate_existing":
from langsmith.evaluation import evaluate_existing
return evaluate_existing
elif name == "aevaluate":
from langsmith.evaluation import aevaluate
return aevaluate
elif name == "aevaluate_existing":
from langsmith.evaluation import aevaluate_existing
return aevaluate_existing
elif name == "tracing_context":
from langsmith.run_helpers import tracing_context
return tracing_context
elif name == "get_tracing_context":
from langsmith.run_helpers import get_tracing_context
return get_tracing_context
elif name == "get_current_run_tree":
from langsmith.run_helpers import get_current_run_tree
return get_current_run_tree
elif name == "set_run_metadata":
from langsmith.run_helpers import set_run_metadata
return set_run_metadata
elif name == "unit":
from langsmith.testing._internal import unit
return unit
elif name == "ContextThreadPoolExecutor":
from langsmith.utils import ContextThreadPoolExecutor
return ContextThreadPoolExecutor
elif name == "configure":
from langsmith.run_trees import configure
return configure
elif name == "uuid7":
from langsmith.uuid import uuid7
return uuid7
elif name == "uuid7_from_datetime":
from langsmith.uuid import uuid7_from_datetime
return uuid7_from_datetime
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
__all__ = [
"Client",
"RunTree",
"configure",
"__version__",
"EvaluationResult",
"RunEvaluator",
"anonymizer",
"traceable",
"trace",
"unit",
"test",
"expect",
"evaluate",
"evaluate_existing",
"aevaluate_existing",
"aevaluate",
"tracing_context",
"get_tracing_context",
"get_current_run_tree",
"set_run_metadata",
"ContextThreadPoolExecutor",
"AsyncClient",
"uuid7",
"uuid7_from_datetime",
]