mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-17 00:17:47 +00:00
community[patch]: Improve import callbacks to make it IDE friendly (#20050)
* declares __all__ as a list of strings (instead of dynamically computing it) * import type definitions when TYPE_CHECKING is true
This commit is contained in:
parent
5a76087965
commit
520ff50adc
@ -7,7 +7,78 @@
|
|||||||
BaseCallbackHandler --> <name>CallbackHandler # Example: AimCallbackHandler
|
BaseCallbackHandler --> <name>CallbackHandler # Example: AimCallbackHandler
|
||||||
"""
|
"""
|
||||||
import importlib
|
import importlib
|
||||||
from typing import Any
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from langchain_community.callbacks.aim_callback import (
|
||||||
|
AimCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.argilla_callback import (
|
||||||
|
ArgillaCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.arize_callback import (
|
||||||
|
ArizeCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.arthur_callback import (
|
||||||
|
ArthurCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.clearml_callback import (
|
||||||
|
ClearMLCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.comet_ml_callback import (
|
||||||
|
CometCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.context_callback import (
|
||||||
|
ContextCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.fiddler_callback import (
|
||||||
|
FiddlerCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.flyte_callback import (
|
||||||
|
FlyteCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.human import (
|
||||||
|
HumanApprovalCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.infino_callback import (
|
||||||
|
InfinoCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.labelstudio_callback import (
|
||||||
|
LabelStudioCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.llmonitor_callback import (
|
||||||
|
LLMonitorCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.manager import ( # noqa: F401
|
||||||
|
get_openai_callback,
|
||||||
|
wandb_tracing_enabled,
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.mlflow_callback import (
|
||||||
|
MlflowCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.openai_info import (
|
||||||
|
OpenAICallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.promptlayer_callback import (
|
||||||
|
PromptLayerCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.sagemaker_callback import (
|
||||||
|
SageMakerCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.streamlit import ( # noqa: F401
|
||||||
|
LLMThoughtLabeler,
|
||||||
|
StreamlitCallbackHandler,
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.trubrics_callback import (
|
||||||
|
TrubricsCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.wandb_callback import (
|
||||||
|
WandbCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
from langchain_community.callbacks.whylabs_callback import (
|
||||||
|
WhyLabsCallbackHandler, # noqa: F401
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
_module_lookup = {
|
_module_lookup = {
|
||||||
"AimCallbackHandler": "langchain_community.callbacks.aim_callback",
|
"AimCallbackHandler": "langchain_community.callbacks.aim_callback",
|
||||||
@ -44,4 +115,29 @@ def __getattr__(name: str) -> Any:
|
|||||||
raise AttributeError(f"module {__name__} has no attribute {name}")
|
raise AttributeError(f"module {__name__} has no attribute {name}")
|
||||||
|
|
||||||
|
|
||||||
__all__ = list(_module_lookup.keys())
|
__all__ = [
|
||||||
|
"AimCallbackHandler",
|
||||||
|
"ArgillaCallbackHandler",
|
||||||
|
"ArizeCallbackHandler",
|
||||||
|
"ArthurCallbackHandler",
|
||||||
|
"ClearMLCallbackHandler",
|
||||||
|
"CometCallbackHandler",
|
||||||
|
"ContextCallbackHandler",
|
||||||
|
"FiddlerCallbackHandler",
|
||||||
|
"FlyteCallbackHandler",
|
||||||
|
"HumanApprovalCallbackHandler",
|
||||||
|
"InfinoCallbackHandler",
|
||||||
|
"LLMThoughtLabeler",
|
||||||
|
"LLMonitorCallbackHandler",
|
||||||
|
"LabelStudioCallbackHandler",
|
||||||
|
"MlflowCallbackHandler",
|
||||||
|
"OpenAICallbackHandler",
|
||||||
|
"PromptLayerCallbackHandler",
|
||||||
|
"SageMakerCallbackHandler",
|
||||||
|
"StreamlitCallbackHandler",
|
||||||
|
"TrubricsCallbackHandler",
|
||||||
|
"WandbCallbackHandler",
|
||||||
|
"WhyLabsCallbackHandler",
|
||||||
|
"get_openai_callback",
|
||||||
|
"wandb_tracing_enabled",
|
||||||
|
]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from langchain_community.callbacks import __all__
|
from langchain_community.callbacks import __all__, _module_lookup
|
||||||
|
|
||||||
EXPECTED_ALL = [
|
EXPECTED_ALL = [
|
||||||
"AimCallbackHandler",
|
"AimCallbackHandler",
|
||||||
@ -29,4 +29,6 @@ EXPECTED_ALL = [
|
|||||||
|
|
||||||
|
|
||||||
def test_all_imports() -> None:
|
def test_all_imports() -> None:
|
||||||
|
"""Test that __all__ is correctly set."""
|
||||||
assert set(__all__) == set(EXPECTED_ALL)
|
assert set(__all__) == set(EXPECTED_ALL)
|
||||||
|
assert set(__all__) == set(_module_lookup.keys())
|
||||||
|
Loading…
Reference in New Issue
Block a user