From 575b3549764642d21d6333e5fed32e02d8bfcb0d Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Thu, 7 Aug 2025 15:06:25 -0700 Subject: [PATCH] style: organize imports per ruff; finish py39 Optional changes - Fix import ordering in embedding servers and graph_partition_simple - Remove duplicate Optional import - Complete Optional[...] replacements --- .../leann_backend_diskann/diskann_embedding_server.py | 3 ++- .../leann_backend_diskann/graph_partition.py | 5 +++-- .../leann_backend_diskann/graph_partition_simple.py | 3 ++- .../leann_backend_hnsw/hnsw_embedding_server.py | 3 ++- packages/leann-core/src/leann/api.py | 10 +++++----- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/leann-backend-diskann/leann_backend_diskann/diskann_embedding_server.py b/packages/leann-backend-diskann/leann_backend_diskann/diskann_embedding_server.py index f6c3825..b566ae6 100644 --- a/packages/leann-backend-diskann/leann_backend_diskann/diskann_embedding_server.py +++ b/packages/leann-backend-diskann/leann_backend_diskann/diskann_embedding_server.py @@ -10,6 +10,7 @@ import sys import threading import time from pathlib import Path +from typing import Optional import numpy as np import zmq @@ -32,7 +33,7 @@ if not logger.handlers: def create_diskann_embedding_server( - passages_file: str | None = None, + passages_file: Optional[str] = None, zmq_port: int = 5555, model_name: str = "sentence-transformers/all-mpnet-base-v2", embedding_mode: str = "sentence-transformers", diff --git a/packages/leann-backend-diskann/leann_backend_diskann/graph_partition.py b/packages/leann-backend-diskann/leann_backend_diskann/graph_partition.py index 1a608bc..7afb9e9 100644 --- a/packages/leann-backend-diskann/leann_backend_diskann/graph_partition.py +++ b/packages/leann-backend-diskann/leann_backend_diskann/graph_partition.py @@ -12,6 +12,7 @@ import shutil import subprocess import tempfile from pathlib import Path +from typing import Optional class GraphPartitioner: @@ -88,8 +89,8 @@ class GraphPartitioner: def partition_graph( self, index_prefix_path: str, - output_dir: str | None = None, - partition_prefix: str | None = None, + output_dir: Optional[str] = None, + partition_prefix: Optional[str] = None, **kwargs, ) -> tuple[str, str]: """ diff --git a/packages/leann-backend-diskann/leann_backend_diskann/graph_partition_simple.py b/packages/leann-backend-diskann/leann_backend_diskann/graph_partition_simple.py index 0030daa..ff5e481 100644 --- a/packages/leann-backend-diskann/leann_backend_diskann/graph_partition_simple.py +++ b/packages/leann-backend-diskann/leann_backend_diskann/graph_partition_simple.py @@ -10,10 +10,11 @@ import os import subprocess import tempfile from pathlib import Path +from typing import Optional def partition_graph_simple( - index_prefix_path: str, output_dir: str | None = None, **kwargs + index_prefix_path: str, output_dir: Optional[str] = None, **kwargs ) -> tuple[str, str]: """ Simple function to partition a graph index. diff --git a/packages/leann-backend-hnsw/leann_backend_hnsw/hnsw_embedding_server.py b/packages/leann-backend-hnsw/leann_backend_hnsw/hnsw_embedding_server.py index fa5826f..bf36883 100644 --- a/packages/leann-backend-hnsw/leann_backend_hnsw/hnsw_embedding_server.py +++ b/packages/leann-backend-hnsw/leann_backend_hnsw/hnsw_embedding_server.py @@ -10,6 +10,7 @@ import sys import threading import time from pathlib import Path +from typing import Optional import msgpack import numpy as np @@ -33,7 +34,7 @@ if not logger.handlers: def create_hnsw_embedding_server( - passages_file: str | None = None, + passages_file: Optional[str] = None, zmq_port: int = 5555, model_name: str = "sentence-transformers/all-mpnet-base-v2", distance_metric: str = "mips", diff --git a/packages/leann-core/src/leann/api.py b/packages/leann-core/src/leann/api.py index 9b4d043..1a61590 100644 --- a/packages/leann-core/src/leann/api.py +++ b/packages/leann-core/src/leann/api.py @@ -116,7 +116,7 @@ class SearchResult: class PassageManager: def __init__( - self, passage_sources: list[dict[str, Any]], metadata_file_path: str | None = None + self, passage_sources: list[dict[str, Any]], metadata_file_path: Optional[str] = None ): self.offset_maps = {} self.passage_files = {} @@ -180,7 +180,7 @@ class LeannBuilder: **backend_kwargs, ): self.backend_name = backend_name - backend_factory: LeannBackendFactoryInterface | None = BACKEND_REGISTRY.get(backend_name) + backend_factory: Optional[LeannBackendFactoryInterface] = BACKEND_REGISTRY.get(backend_name) if backend_factory is None: raise ValueError(f"Backend '{backend_name}' not found or not registered.") self.backend_factory = backend_factory @@ -260,7 +260,7 @@ class LeannBuilder: self.backend_kwargs = backend_kwargs self.chunks: list[dict[str, Any]] = [] - def add_text(self, text: str, metadata: dict[str, Any] | None = None): + def add_text(self, text: str, metadata: Optional[dict[str, Any]] = None): if metadata is None: metadata = {} passage_id = metadata.get("id", str(len(self.chunks))) @@ -611,7 +611,7 @@ class LeannChat: def __init__( self, index_path: str, - llm_config: dict[str, Any] | None = None, + llm_config: Optional[dict[str, Any]] = None, enable_warmup: bool = False, **kwargs, ): @@ -627,7 +627,7 @@ class LeannChat: prune_ratio: float = 0.0, recompute_embeddings: bool = True, pruning_strategy: Literal["global", "local", "proportional"] = "global", - llm_kwargs: dict[str, Any] | None = None, + llm_kwargs: Optional[dict[str, Any]] = None, expected_zmq_port: int = 5557, **search_kwargs, ):