Coverage for langsmith/_internal/_beta_decorator.py: 23%
13 statements
« prev ^ index » next coverage.py v7.10.1, created at 2025-12-11 16:15 -0800
« prev ^ index » next coverage.py v7.10.1, created at 2025-12-11 16:15 -0800
1import functools
2import warnings
3from typing import Callable
6class LangSmithBetaWarning(UserWarning):
7 """This is a warning specific to the LangSmithBeta module."""
10@functools.lru_cache(maxsize=100)
11def _warn_once(message: str, stacklevel: int = 2) -> None:
12 warnings.warn(message, LangSmithBetaWarning, stacklevel=stacklevel)
15def warn_beta(func: Callable) -> Callable:
16 @functools.wraps(func)
17 def wrapper(*args, **kwargs):
18 _warn_once(f"Function {func.__name__} is in beta.", stacklevel=3)
19 return func(*args, **kwargs)
21 return wrapper