Skip to content

Commit

Permalink
Add ruff rules for TYPE_CHECKING (TCH)
Browse files Browse the repository at this point in the history
  • Loading branch information
cbornet committed Oct 4, 2024
1 parent b591d71 commit 6db6f52
Show file tree
Hide file tree
Showing 46 changed files with 156 additions and 108 deletions.
8 changes: 4 additions & 4 deletions src/backend/base/langflow/api/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@
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"]
Expand Down
3 changes: 3 additions & 0 deletions src/backend/base/langflow/api/v1/routers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from fastapi import APIRouter

chat_router = APIRouter(tags=["Chat"])
6 changes: 4 additions & 2 deletions src/backend/base/langflow/base/agents/agent.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -17,6 +16,9 @@
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"
Expand Down
6 changes: 4 additions & 2 deletions src/backend/base/langflow/base/tools/component_tool.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
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

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
Expand Down
13 changes: 8 additions & 5 deletions src/backend/base/langflow/base/tools/flow_tool.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 4 additions & 2 deletions src/backend/base/langflow/base/vectorstores/model.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -11,6 +10,9 @@
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):
"""
Expand Down
6 changes: 5 additions & 1 deletion src/backend/base/langflow/components/chains/SQLGenerator.py
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
6 changes: 4 additions & 2 deletions src/backend/base/langflow/components/deactivated/SubFlow.py
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
Original file line number Diff line number Diff line change
@@ -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):
Expand Down
6 changes: 4 additions & 2 deletions src/backend/base/langflow/components/prototypes/RunFlow.py
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
6 changes: 1 addition & 5 deletions src/backend/base/langflow/components/vectorstores/Chroma.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
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
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):
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -19,9 +19,6 @@
)
from langflow.schema import Data

if TYPE_CHECKING:
from langchain_community.vectorstores import OpenSearchVectorSearch


class OpenSearchVectorStoreComponent(LCVectorStoreComponent):
"""
Expand Down
11 changes: 6 additions & 5 deletions src/backend/base/langflow/custom/custom_component/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,20 @@

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
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.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
Expand All @@ -32,9 +27,15 @@
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.field_typing import Tool
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@
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
Expand All @@ -26,7 +23,10 @@

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


Expand Down
8 changes: 4 additions & 4 deletions src/backend/base/langflow/graph/graph/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@
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
Expand All @@ -38,17 +36,19 @@
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


Expand Down
2 changes: 1 addition & 1 deletion src/backend/base/langflow/graph/graph/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

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):
Expand Down
3 changes: 2 additions & 1 deletion src/backend/base/langflow/graph/graph/state_manager.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from __future__ import annotations

from collections.abc import Callable
from typing import TYPE_CHECKING

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


Expand Down
6 changes: 3 additions & 3 deletions src/backend/base/langflow/graph/vertex/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,27 @@
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
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):
Expand Down
Loading

0 comments on commit 6db6f52

Please sign in to comment.