From 3d4820144c52491a586f3fd3429f43ac9df534bf Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 10 Dec 2023 20:27:12 -0300 Subject: [PATCH] Refactor import statements in __init__.py --- src/backend/langflow/field_typing/__init__.py | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) 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",