diff --git a/src/backend/langflow/field_typing/__init__.py b/src/backend/langflow/field_typing/__init__.py index 6fc932e6f..08578ef44 100644 --- a/src/backend/langflow/field_typing/__init__.py +++ b/src/backend/langflow/field_typing/__init__.py @@ -1,31 +1,32 @@ -from langflow.template.field.base import TemplateField +from typing import Any -from .constants import ( - AgentExecutor, - BaseChatMemory, - BaseLanguageModel, - BaseLLM, - BaseLoader, - BaseMemory, - BaseOutputParser, - BasePromptTemplate, - BaseRetriever, - Callable, - Chain, - ChatPromptTemplate, - Data, - Document, - Embeddings, - NestedDict, - Object, - Prompt, - PromptTemplate, - TextSplitter, - Tool, - VectorStore, -) +from .constants import (AgentExecutor, BaseChatMemory, BaseLanguageModel, + BaseLLM, BaseLoader, BaseMemory, BaseOutputParser, + BasePromptTemplate, BaseRetriever, Callable, Chain, + ChatPromptTemplate, Data, Document, Embeddings, + NestedDict, Object, Prompt, PromptTemplate, + TextSplitter, Tool, VectorStore) from .range_spec import RangeSpec + +def import_template_field(): + from langflow.template.field.base import TemplateField + return TemplateField + + +def __getattr__(name: str) -> Any: + # This is to avoid circular imports + if name == "TemplateField": + return import_template_field() + elif name == "RangeSpec": + return RangeSpec + # The other names should work as if they were imported from constants + return getattr(constants, name) + + + + + __all__ = [ "NestedDict", "Data",