Add ruff rules for TYPE_CHECKING (TCH) (#3999)
This commit is contained in:
parent
99cdaaf073
commit
e2d907f3c5
45 changed files with 153 additions and 108 deletions
|
|
@ -6,18 +6,18 @@ from typing import TYPE_CHECKING, Any
|
|||
from fastapi import HTTPException
|
||||
from loguru import logger
|
||||
from sqlalchemy import delete
|
||||
from sqlmodel import Session
|
||||
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.services.chat.service import ChatService
|
||||
from langflow.services.database.models.flow import Flow
|
||||
from langflow.services.database.models.transactions.model import TransactionTable
|
||||
from langflow.services.database.models.vertex_builds.model import VertexBuildTable
|
||||
from langflow.services.store.schema import StoreComponentCreate
|
||||
from langflow.services.store.utils import get_lf_version_from_pypi
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.services.database.models.flow.model import Flow
|
||||
from sqlmodel import Session
|
||||
|
||||
from langflow.services.chat.service import ChatService
|
||||
from langflow.services.store.schema import StoreComponentCreate
|
||||
|
||||
|
||||
API_WORDS = ["api", "key", "token"]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
from abc import abstractmethod
|
||||
from typing import cast
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
from langchain.agents import AgentExecutor, BaseMultiActionAgent, BaseSingleActionAgent
|
||||
from langchain.agents.agent import RunnableAgent
|
||||
from langchain_core.messages import BaseMessage
|
||||
from langchain_core.runnables import Runnable
|
||||
|
||||
from langflow.base.agents.callback import AgentAsyncHandler
|
||||
|
|
@ -17,6 +16,9 @@ from langflow.schema.message import Message
|
|||
from langflow.template import Output
|
||||
from langflow.utils.constants import MESSAGE_SENDER_AI
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.messages import BaseMessage
|
||||
|
||||
|
||||
class LCAgentComponent(Component):
|
||||
trace_type = "agent"
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
from collections.abc import Callable
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from langchain_core.tools import BaseTool
|
||||
from langchain_core.tools.structured import StructuredTool
|
||||
from loguru import logger
|
||||
|
||||
|
|
@ -12,6 +10,10 @@ from langflow.base.tools.constants import TOOL_OUTPUT_NAME
|
|||
from langflow.io.schema import create_input_schema
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Callable
|
||||
|
||||
from langchain_core.tools import BaseTool
|
||||
|
||||
from langflow.custom.custom_component.component import Component
|
||||
from langflow.inputs.inputs import InputTypes
|
||||
from langflow.io import Output
|
||||
|
|
|
|||
|
|
@ -1,18 +1,21 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from langchain_core.runnables import RunnableConfig
|
||||
from langchain_core.tools import BaseTool, ToolException
|
||||
from loguru import logger
|
||||
from pydantic.v1 import BaseModel
|
||||
|
||||
from langflow.base.flow_processing.utils import build_data_from_result_data, format_flow_output_data
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.helpers.flow import build_schema_from_inputs, get_arg_names, get_flow_inputs, run_flow
|
||||
from langflow.utils.async_helpers import run_until_complete
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.runnables import RunnableConfig
|
||||
from pydantic.v1 import BaseModel
|
||||
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
|
||||
|
||||
class FlowTool(BaseTool):
|
||||
name: str
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
from abc import abstractmethod
|
||||
from functools import wraps
|
||||
from typing import cast
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
from langchain_core.documents import Document
|
||||
from loguru import logger
|
||||
|
||||
from langflow.custom import Component
|
||||
|
|
@ -11,6 +10,9 @@ from langflow.helpers.data import docs_to_data
|
|||
from langflow.io import Output
|
||||
from langflow.schema import Data
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.documents import Document
|
||||
|
||||
|
||||
def check_cached_vector_store(f):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
from typing import TYPE_CHECKING
|
||||
|
||||
from langchain.chains import create_sql_query_chain
|
||||
from langchain_core.prompts import PromptTemplate
|
||||
from langchain_core.runnables import Runnable
|
||||
|
||||
from langflow.base.chains.model import LCChainComponent
|
||||
from langflow.field_typing import Message
|
||||
from langflow.inputs import HandleInput, IntInput, MultilineInput
|
||||
from langflow.template import Output
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.runnables import Runnable
|
||||
|
||||
|
||||
class SQLGeneratorComponent(LCChainComponent):
|
||||
display_name = "Natural Language to SQL"
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
from typing import Any
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from langflow.base.flow_processing.utils import build_data_from_result_data
|
||||
from langflow.custom import CustomComponent
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.schema import RunOutputs
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.helpers.flow import get_flow_inputs
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.dotdict import dotdict
|
||||
from langflow.template.field.base import Input
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.graph.schema import RunOutputs
|
||||
|
||||
|
||||
class SubFlowComponent(CustomComponent):
|
||||
display_name = "Sub Flow"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
from typing import TYPE_CHECKING
|
||||
|
||||
from langflow.custom import Component
|
||||
from langflow.field_typing import Embeddings
|
||||
from langflow.io import HandleInput, MessageInput, Output
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.message import Message
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.field_typing import Embeddings
|
||||
from langflow.schema.message import Message
|
||||
|
||||
|
||||
class TextEmbedderComponent(Component):
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
from typing import Any
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from langflow.base.flow_processing.utils import build_data_from_run_outputs
|
||||
from langflow.custom import Component
|
||||
from langflow.graph.schema import RunOutputs
|
||||
from langflow.io import DropdownInput, MessageTextInput, NestedDictInput, Output
|
||||
from langflow.schema import Data, dotdict
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.graph.schema import RunOutputs
|
||||
|
||||
|
||||
class RunFlowComponent(Component):
|
||||
display_name = "Run Flow"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
from copy import deepcopy
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from chromadb.config import Settings
|
||||
from langchain_chroma.vectorstores import Chroma
|
||||
from langchain_chroma import Chroma
|
||||
from loguru import logger
|
||||
|
||||
from langflow.base.vectorstores.model import LCVectorStoreComponent, check_cached_vector_store
|
||||
|
|
@ -10,9 +9,6 @@ from langflow.base.vectorstores.utils import chroma_collection_to_data
|
|||
from langflow.io import BoolInput, DataInput, DropdownInput, HandleInput, IntInput, MultilineInput, StrInput
|
||||
from langflow.schema import Data
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_chroma import Chroma
|
||||
|
||||
|
||||
class ChromaVectorStoreComponent(LCVectorStoreComponent):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import json
|
||||
import traceback
|
||||
from typing import TYPE_CHECKING, Any
|
||||
from typing import Any
|
||||
|
||||
from langchain_community.vectorstores import OpenSearchVectorSearch
|
||||
from loguru import logger
|
||||
|
|
@ -19,9 +19,6 @@ from langflow.io import (
|
|||
)
|
||||
from langflow.schema import Data
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_community.vectorstores import OpenSearchVectorSearch
|
||||
|
||||
|
||||
class OpenSearchVectorStoreComponent(LCVectorStoreComponent):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -2,11 +2,9 @@ from __future__ import annotations
|
|||
|
||||
import ast
|
||||
import inspect
|
||||
from collections.abc import Callable
|
||||
from copy import deepcopy
|
||||
from textwrap import dedent
|
||||
from typing import TYPE_CHECKING, Any, ClassVar, get_type_hints
|
||||
from uuid import UUID
|
||||
|
||||
import nanoid # type: ignore
|
||||
import yaml
|
||||
|
|
@ -14,13 +12,11 @@ from pydantic import BaseModel
|
|||
|
||||
from langflow.base.tools.constants import TOOL_OUTPUT_NAME
|
||||
from langflow.custom.tree_visitor import RequiredInputsVisitor
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.field_typing import Tool
|
||||
from langflow.field_typing import Tool # noqa: TCH001 Needed by add_toolkit_output
|
||||
from langflow.graph.state.model import create_state_model
|
||||
from langflow.helpers.custom import format_type
|
||||
from langflow.schema.artifact import get_artifact_type, post_process_raw
|
||||
from langflow.schema.data import Data
|
||||
from langflow.schema.log import LoggableType
|
||||
from langflow.schema.message import Message
|
||||
from langflow.services.settings.feature_flags import FEATURE_FLAGS
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
|
@ -32,9 +28,14 @@ from langflow.utils.util import find_closest_match
|
|||
from .custom_component import CustomComponent
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Callable
|
||||
from uuid import UUID
|
||||
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.graph.edge.schema import EdgeData
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.inputs.inputs import InputTypes
|
||||
from langflow.schema.log import LoggableType
|
||||
|
||||
|
||||
_ComponentToolkit = None
|
||||
|
|
|
|||
|
|
@ -12,11 +12,8 @@ from pydantic import BaseModel
|
|||
from langflow.custom.custom_component.base_component import BaseComponent
|
||||
from langflow.helpers.flow import list_flows, load_flow, run_flow
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.dotdict import dotdict
|
||||
from langflow.schema.schema import OutputValue
|
||||
from langflow.services.deps import get_storage_service, get_variable_service, session_scope
|
||||
from langflow.services.storage.service import StorageService
|
||||
from langflow.services.tracing.schema import Log
|
||||
from langflow.template.utils import update_frontend_node_with_template_values
|
||||
from langflow.type_extraction.type_extraction import post_process_type
|
||||
from langflow.utils import validate
|
||||
|
|
@ -26,7 +23,10 @@ if TYPE_CHECKING:
|
|||
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.schema.dotdict import dotdict
|
||||
from langflow.schema.schema import OutputValue
|
||||
from langflow.services.storage.service import StorageService
|
||||
from langflow.services.tracing.schema import Log
|
||||
from langflow.services.tracing.service import TracingService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -15,10 +15,8 @@ from typing import TYPE_CHECKING, Any, cast
|
|||
import nest_asyncio
|
||||
from loguru import logger
|
||||
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.exceptions.component import ComponentBuildException
|
||||
from langflow.graph.edge.base import CycleEdge, Edge
|
||||
from langflow.graph.edge.schema import EdgeData
|
||||
from langflow.graph.graph.constants import Finish, lazy_load_vertex_dict
|
||||
from langflow.graph.graph.runnable_vertices_manager import RunnableVerticesManager
|
||||
from langflow.graph.graph.schema import GraphData, GraphDump, StartConfigDict, VertexBuildResult
|
||||
|
|
@ -38,17 +36,19 @@ from langflow.graph.vertex.base import Vertex, VertexStates
|
|||
from langflow.graph.vertex.schema import NodeData, NodeTypeEnum
|
||||
from langflow.graph.vertex.types import ComponentVertex, InterfaceVertex, StateVertex
|
||||
from langflow.logging.logger import LogConfig, configure
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.schema import INPUT_FIELD_NAME, InputType
|
||||
from langflow.services.cache.utils import CacheMiss
|
||||
from langflow.services.chat.schema import GetCache, SetCache
|
||||
from langflow.services.deps import get_chat_service, get_tracing_service
|
||||
from langflow.utils.async_helpers import run_until_complete
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.api.v1.schemas import InputValueRequest
|
||||
from langflow.custom.custom_component.component import Component
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.graph.edge.schema import EdgeData
|
||||
from langflow.graph.schema import ResultData
|
||||
from langflow.schema import Data
|
||||
from langflow.services.chat.schema import GetCache, SetCache
|
||||
from langflow.services.tracing.service import TracingService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@ from typing_extensions import NotRequired, TypedDict
|
|||
|
||||
from langflow.graph.edge.schema import EdgeData
|
||||
from langflow.graph.vertex.schema import NodeData
|
||||
from langflow.schema.log import LoggableType
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.graph.schema import ResultData
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.schema.log import LoggableType
|
||||
|
||||
|
||||
class ViewPort(TypedDict):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Callable
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from loguru import logger
|
||||
|
|
@ -8,6 +7,8 @@ from loguru import logger
|
|||
from langflow.services.deps import get_settings_service, get_state_service
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Callable
|
||||
|
||||
from langflow.services.state.service import StateService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,9 @@ from typing import TYPE_CHECKING, Any
|
|||
import pandas as pd
|
||||
from loguru import logger
|
||||
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.exceptions.component import ComponentBuildException
|
||||
from langflow.graph.schema import INPUT_COMPONENTS, OUTPUT_COMPONENTS, InterfaceComponentTypes, ResultData
|
||||
from langflow.graph.utils import UnbuiltObject, UnbuiltResult, log_transaction
|
||||
from langflow.graph.vertex.schema import NodeData
|
||||
from langflow.interface import initialize
|
||||
from langflow.interface.listing import lazy_load_dict
|
||||
from langflow.schema.artifact import ArtifactType
|
||||
|
|
@ -25,15 +23,17 @@ from langflow.schema.data import Data
|
|||
from langflow.schema.message import Message
|
||||
from langflow.schema.schema import INPUT_FIELD_NAME, OutputValue, build_output_logs
|
||||
from langflow.services.deps import get_storage_service
|
||||
from langflow.services.tracing.schema import Log
|
||||
from langflow.utils.constants import DIRECT_TYPES
|
||||
from langflow.utils.schemas import ChatOutputResponse
|
||||
from langflow.utils.util import sync_to_async, unescape_string
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.custom import Component
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.graph.edge.base import CycleEdge, Edge
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.vertex.schema import NodeData
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
class VertexStates(str, Enum):
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ from langflow.graph.schema import CHAT_COMPONENTS, RECORDS_COMPONENTS, Interface
|
|||
from langflow.graph.utils import UnbuiltObject, log_transaction, log_vertex_build, rewrite_file_path, serialize_field
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.graph.vertex.exceptions import NoComponentInstance
|
||||
from langflow.graph.vertex.schema import NodeData
|
||||
from langflow.inputs.inputs import InputTypes
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.artifact import ArtifactType
|
||||
from langflow.schema.message import Message
|
||||
|
|
@ -26,6 +24,8 @@ from langflow.utils.util import unescape_string
|
|||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.graph.edge.base import CycleEdge
|
||||
from langflow.graph.vertex.schema import NodeData
|
||||
from langflow.inputs.inputs import InputTypes
|
||||
|
||||
|
||||
class CustomComponentVertex(Vertex):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Awaitable, Callable
|
||||
from typing import TYPE_CHECKING, Any, cast
|
||||
from uuid import UUID
|
||||
|
||||
|
|
@ -8,16 +7,18 @@ from fastapi import HTTPException
|
|||
from pydantic.v1 import BaseModel, Field, create_model
|
||||
from sqlmodel import select
|
||||
|
||||
from langflow.graph.schema import RunOutputs
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.schema import INPUT_FIELD_NAME
|
||||
from langflow.services.database.models.flow import Flow
|
||||
from langflow.services.database.models.flow.model import FlowRead
|
||||
from langflow.services.deps import get_settings_service, session_scope
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Awaitable, Callable
|
||||
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.schema import RunOutputs
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.schema import Data
|
||||
|
||||
INPUT_TYPE_MAP = {
|
||||
"ChatInput": {"type_hint": "Optional[str]", "default": '""'},
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ from loguru import logger
|
|||
from pydantic import PydanticDeprecatedSince20
|
||||
|
||||
from langflow.custom.eval import eval_custom_component_code
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.schema import Data
|
||||
from langflow.schema.artifact import get_artifact_type, post_process_raw
|
||||
from langflow.services.deps import get_tracing_service
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.custom import Component, CustomComponent
|
||||
from langflow.events.event_manager import EventManager
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import json
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
|
|
@ -9,6 +8,8 @@ from loguru import logger
|
|||
from langflow.custom.utils import abuild_custom_components, build_custom_components
|
||||
|
||||
if TYPE_CHECKING:
|
||||
import asyncio
|
||||
|
||||
from langflow.services.cache.base import CacheService
|
||||
from langflow.services.settings.service import SettingsService
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ from __future__ import annotations
|
|||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from langchain_core.callbacks import BaseCallbackHandler
|
||||
from loguru import logger
|
||||
|
||||
from langflow.services.deps import get_plugins_service
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.callbacks import BaseCallbackHandler
|
||||
from langfuse.callback import CallbackHandler # type: ignore
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ from typing import TYPE_CHECKING, Any, cast
|
|||
from loguru import logger
|
||||
from pydantic import BaseModel
|
||||
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.schema import RunOutputs
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.schema.graph import InputValue, Tweaks
|
||||
from langflow.schema.schema import INPUT_FIELD_NAME
|
||||
|
|
@ -14,6 +12,8 @@ from langflow.services.deps import get_settings_service
|
|||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.api.v1.schemas import InputValueRequest
|
||||
from langflow.graph.graph.base import Graph
|
||||
from langflow.graph.schema import RunOutputs
|
||||
|
||||
|
||||
class Result(BaseModel):
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
import copy
|
||||
import json
|
||||
from typing import cast
|
||||
from typing import TYPE_CHECKING, cast
|
||||
|
||||
from langchain_core.documents import Document
|
||||
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage
|
||||
from langchain_core.prompt_values import ImagePromptValue
|
||||
from langchain_core.prompts.image import ImagePromptTemplate
|
||||
from pydantic import BaseModel, model_serializer, model_validator
|
||||
|
||||
from langflow.utils.constants import MESSAGE_SENDER_AI, MESSAGE_SENDER_USER
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.prompt_values import ImagePromptValue
|
||||
|
||||
|
||||
class Data(BaseModel):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@ import asyncio
|
|||
import json
|
||||
from collections.abc import AsyncIterator, Iterator
|
||||
from datetime import datetime, timezone
|
||||
from typing import Annotated, Any
|
||||
from typing import TYPE_CHECKING, Annotated, Any
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
from langchain_core.load import load
|
||||
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage, SystemMessage
|
||||
from langchain_core.prompt_values import ImagePromptValue
|
||||
from langchain_core.prompts import BaseChatPromptTemplate, ChatPromptTemplate, PromptTemplate
|
||||
from langchain_core.prompts.image import ImagePromptTemplate
|
||||
from loguru import logger
|
||||
|
|
@ -24,6 +23,9 @@ from langflow.utils.constants import (
|
|||
MESSAGE_SENDER_USER,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.prompt_values import ImagePromptValue
|
||||
|
||||
|
||||
def _timestamp_to_str(timestamp: datetime | str) -> str:
|
||||
if isinstance(timestamp, str):
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
import datetime
|
||||
import secrets
|
||||
import threading
|
||||
from typing import TYPE_CHECKING
|
||||
from uuid import UUID
|
||||
|
||||
from sqlmodel import Session, select
|
||||
from sqlmodel.sql.expression import SelectOfScalar
|
||||
|
||||
from langflow.services.database.models.api_key import ApiKey, ApiKeyCreate, ApiKeyRead, UnmaskedApiKeyRead
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from sqlmodel.sql.expression import SelectOfScalar
|
||||
|
||||
|
||||
def get_api_keys(session: Session, user_id: UUID) -> list[ApiKeyRead]:
|
||||
query: SelectOfScalar = select(ApiKey).where(ApiKey.user_id == user_id)
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@ from sqlalchemy import Text, UniqueConstraint
|
|||
from sqlmodel import JSON, Column, Field, Relationship, SQLModel
|
||||
|
||||
from langflow.schema import Data
|
||||
from langflow.services.database.models.vertex_builds.model import VertexBuildTable
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.services.database.models import TransactionTable
|
||||
from langflow.services.database.models.folder import Folder
|
||||
from langflow.services.database.models.message import MessageTable
|
||||
from langflow.services.database.models.user import User
|
||||
from langflow.services.database.models.vertex_builds.model import VertexBuildTable
|
||||
|
||||
|
||||
class FlowBase(SQLModel):
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
from typing import TYPE_CHECKING, Optional
|
||||
from typing import Optional
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
from sqlalchemy import Text, UniqueConstraint
|
||||
from sqlmodel import Column, Field, Relationship, SQLModel
|
||||
|
||||
from langflow.services.database.models.flow.model import FlowRead
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.services.database.models.flow.model import Flow
|
||||
from langflow.services.database.models.user.model import User
|
||||
from langflow.services.database.models.flow.model import Flow, FlowRead
|
||||
from langflow.services.database.models.user.model import User
|
||||
|
||||
|
||||
class FolderBase(SQLModel):
|
||||
|
|
@ -26,8 +23,8 @@ class Folder(FolderBase, table=True): # type: ignore
|
|||
)
|
||||
children: list["Folder"] = Relationship(back_populates="parent")
|
||||
user_id: UUID | None = Field(default=None, foreign_key="user.id")
|
||||
user: "User" = Relationship(back_populates="folders")
|
||||
flows: list["Flow"] = Relationship(
|
||||
user: User = Relationship(back_populates="folders")
|
||||
flows: list[Flow] = Relationship(
|
||||
back_populates="folder", sa_relationship_kwargs={"cascade": "all, delete, delete-orphan"}
|
||||
)
|
||||
|
||||
|
|
@ -47,7 +44,7 @@ class FolderRead(FolderBase):
|
|||
class FolderReadWithFlows(FolderBase):
|
||||
id: UUID
|
||||
parent_id: UUID | None = Field()
|
||||
flows: list["FlowRead"] = Field(default=[])
|
||||
flows: list[FlowRead] = Field(default=[])
|
||||
|
||||
|
||||
class FolderUpdate(SQLModel):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
from typing import TYPE_CHECKING
|
||||
from uuid import UUID
|
||||
|
||||
from sqlmodel import Session, and_, select, update
|
||||
|
|
@ -8,9 +7,6 @@ from langflow.services.database.models.flow.model import Flow
|
|||
from .constants import DEFAULT_FOLDER_DESCRIPTION, DEFAULT_FOLDER_NAME
|
||||
from .model import Folder
|
||||
|
||||
if TYPE_CHECKING:
|
||||
pass
|
||||
|
||||
|
||||
def create_default_folder_if_it_doesnt_exist(session: Session, user_id: UUID):
|
||||
folder = session.exec(select(Folder).where(Folder.user_id == user_id)).first()
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ from langflow.services.deps import get_settings_service
|
|||
from langflow.services.utils import teardown_superuser
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from sqlalchemy.engine import Engine
|
||||
|
||||
from langflow.services.settings.service import SettingsService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Generator
|
||||
from contextlib import contextmanager
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
|
|
@ -9,6 +8,8 @@ from loguru import logger
|
|||
from langflow.services.schema import ServiceType
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Generator
|
||||
|
||||
from sqlmodel import Session
|
||||
|
||||
from langflow.services.cache.service import CacheService
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ def import_all_services_into_a_dict():
|
|||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
||||
if issubclass(obj, Service) and obj is not Service:
|
||||
services[name] = obj
|
||||
break
|
||||
# break
|
||||
except Exception as exc:
|
||||
logger.exception(exc)
|
||||
msg = "Could not initialize services. Please check your settings."
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
from collections.abc import Coroutine
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from langflow.services.base import Service
|
||||
from langflow.services.cache.base import CacheService
|
||||
from langflow.services.session.utils import compute_dict_hash, session_id_generator
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.services.cache.base import CacheService
|
||||
|
||||
|
||||
class SessionService(Service):
|
||||
name = "session_service"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
from collections.abc import Callable
|
||||
from typing import Any
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from celery.result import AsyncResult # type: ignore
|
||||
|
||||
from langflow.services.task.backends.base import TaskBackend
|
||||
from langflow.worker import celery_app
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from celery import Task
|
||||
|
||||
|
||||
class CeleryBackend(TaskBackend):
|
||||
name = "celery"
|
||||
|
|
@ -15,7 +18,6 @@ class CeleryBackend(TaskBackend):
|
|||
|
||||
def launch_task(self, task_func: Callable[..., Any], *args: Any, **kwargs: Any) -> tuple[str, AsyncResult]:
|
||||
# I need to type the delay method to make it easier
|
||||
from celery import Task # type: ignore
|
||||
|
||||
if not hasattr(task_func, "delay"):
|
||||
msg = f"Task function {task_func} does not have a delay method"
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ from loguru import logger
|
|||
|
||||
from langflow.services.base import Service
|
||||
from langflow.services.task.backends.anyio import AnyIOBackend
|
||||
from langflow.services.task.backends.base import TaskBackend
|
||||
from langflow.services.task.utils import get_celery_worker_status
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langflow.services.settings.service import SettingsService
|
||||
from langflow.services.task.backends.base import TaskBackend
|
||||
|
||||
|
||||
def check_celery_availability():
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import contextlib
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
import contextlib
|
||||
|
||||
with contextlib.suppress(ImportError):
|
||||
from celery import Celery # type: ignore
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ from typing import TYPE_CHECKING
|
|||
|
||||
import httpx
|
||||
from loguru import logger
|
||||
from pydantic import BaseModel
|
||||
|
||||
from langflow.services.base import Service
|
||||
from langflow.services.telemetry.opentelemetry import OpenTelemetry
|
||||
|
|
@ -23,6 +22,8 @@ from langflow.services.telemetry.schema import (
|
|||
from langflow.utils.version import get_version_info
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from pydantic import BaseModel
|
||||
|
||||
from langflow.services.settings.service import SettingsService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from collections.abc import Sequence
|
||||
from typing import TYPE_CHECKING, Any
|
||||
from uuid import UUID
|
||||
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Sequence
|
||||
from uuid import UUID
|
||||
|
||||
from langchain.callbacks.base import BaseCallbackHandler
|
||||
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
class BaseTracer(ABC):
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from collections.abc import Sequence
|
||||
from datetime import datetime, timezone
|
||||
from typing import TYPE_CHECKING, Any
|
||||
from uuid import UUID
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from langflow.services.tracing.base import BaseTracer
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Sequence
|
||||
from uuid import UUID
|
||||
|
||||
from langchain.callbacks.base import BaseCallbackHandler
|
||||
from langfuse.client import StatefulSpanClient
|
||||
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
class LangFuseTracer(BaseTracer):
|
||||
|
|
|
|||
|
|
@ -3,21 +3,22 @@ from __future__ import annotations
|
|||
import os
|
||||
import traceback
|
||||
import types
|
||||
from collections.abc import Sequence
|
||||
from datetime import datetime, timezone
|
||||
from typing import TYPE_CHECKING, Any
|
||||
from uuid import UUID
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from langflow.schema.data import Data
|
||||
from langflow.services.tracing.base import BaseTracer
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Sequence
|
||||
from uuid import UUID
|
||||
|
||||
from langchain.callbacks.base import BaseCallbackHandler
|
||||
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
class LangSmithTracer(BaseTracer):
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
from typing import TYPE_CHECKING, Any, cast
|
||||
from uuid import UUID
|
||||
|
||||
import nanoid # type: ignore
|
||||
from loguru import logger
|
||||
|
||||
from langflow.schema.data import Data
|
||||
from langflow.services.tracing.base import BaseTracer
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Sequence
|
||||
from uuid import UUID
|
||||
|
||||
from langchain.callbacks.base import BaseCallbackHandler
|
||||
from langwatch.tracer import ContextSpan
|
||||
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
class LangWatchTracer(BaseTracer):
|
||||
|
|
|
|||
|
|
@ -5,20 +5,21 @@ import os
|
|||
from collections import defaultdict
|
||||
from contextlib import asynccontextmanager
|
||||
from typing import TYPE_CHECKING, Any
|
||||
from uuid import UUID
|
||||
|
||||
from loguru import logger
|
||||
|
||||
from langflow.services.base import Service
|
||||
from langflow.services.tracing.base import BaseTracer
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from uuid import UUID
|
||||
|
||||
from langchain.callbacks.base import BaseCallbackHandler
|
||||
|
||||
from langflow.custom.custom_component.component import Component
|
||||
from langflow.graph.vertex.base import Vertex
|
||||
from langflow.services.settings.service import SettingsService
|
||||
from langflow.services.tracing.base import BaseTracer
|
||||
from langflow.services.tracing.schema import Log
|
||||
|
||||
|
||||
def _get_langsmith_tracer():
|
||||
|
|
|
|||
|
|
@ -1,19 +1,24 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from uuid import UUID
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from loguru import logger
|
||||
from sqlmodel import Session
|
||||
|
||||
from langflow.services.auth import utils as auth_utils
|
||||
from langflow.services.base import Service
|
||||
from langflow.services.database.models.variable.model import Variable, VariableCreate
|
||||
from langflow.services.settings.service import SettingsService
|
||||
from langflow.services.variable.base import VariableService
|
||||
from langflow.services.variable.constants import CREDENTIAL_TYPE, GENERIC_TYPE
|
||||
from langflow.services.variable.kubernetes_secrets import KubernetesSecretManager, encode_user_id
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from uuid import UUID
|
||||
|
||||
from sqlmodel import Session
|
||||
|
||||
from langflow.services.settings.service import SettingsService
|
||||
|
||||
|
||||
class KubernetesSecretService(VariableService, Service):
|
||||
def __init__(self, settings_service: SettingsService):
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from collections.abc import Sequence
|
||||
from datetime import datetime, timezone
|
||||
from typing import TYPE_CHECKING
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import Depends
|
||||
from loguru import logger
|
||||
|
|
@ -18,6 +16,9 @@ from langflow.services.variable.base import VariableService
|
|||
from langflow.services.variable.constants import CREDENTIAL_TYPE, GENERIC_TYPE
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Sequence
|
||||
from uuid import UUID
|
||||
|
||||
from langflow.services.settings.service import SettingsService
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -156,6 +156,11 @@ flake8-bugbear.extend-immutable-calls = [
|
|||
"fastapi.Query",
|
||||
"typer.Option",
|
||||
]
|
||||
flake8-type-checking.runtime-evaluated-base-classes = [
|
||||
"pydantic.BaseModel",
|
||||
"typing.TypedDict", # Needed by fastapi
|
||||
"typing_extensions.TypedDict", # Needed by fastapi
|
||||
]
|
||||
select = [
|
||||
"A",
|
||||
"ASYNC",
|
||||
|
|
@ -188,6 +193,7 @@ select = [
|
|||
"SIM",
|
||||
"SLOT",
|
||||
"T10",
|
||||
"TCH",
|
||||
"TID",
|
||||
"UP",
|
||||
"W",
|
||||
|
|
@ -198,6 +204,11 @@ ignore = [
|
|||
"ISC001", # Messes with the formatter
|
||||
]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"langflow/api/v1/*" = [
|
||||
"TCH", # FastAPI needs to evaluate types at runtime
|
||||
]
|
||||
|
||||
[tool.uv]
|
||||
dev-dependencies = [
|
||||
"asgi-lifespan>=2.1.0",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue