From 6e90c7e48a7adb89b56ac7f8b91ff9895bf1bfdc Mon Sep 17 00:00:00 2001 From: Jiangzhou He Date: Thu, 18 Dec 2025 10:26:50 -0800 Subject: [PATCH] chore: cleanup unncessary comments/casts to ignore type warnings --- examples/custom_output_files/main.py | 2 +- examples/face_recognition/main.py | 2 +- examples/fastapi_server_docker/main.py | 2 +- examples/image_search/colpali_main.py | 2 +- examples/image_search/main.py | 6 +++--- examples/manuals_llm_extraction/main.py | 3 +-- examples/paper_metadata/main.py | 3 +-- examples/patient_intake_extraction_dspy/main.py | 8 ++++---- examples/pdf_elements_embedding/main.py | 5 ++--- examples/pdf_embedding/main.py | 2 +- examples/postgres_source/main.py | 4 ++-- pyproject.toml | 2 +- python/cocoindex/functions/colpali.py | 2 +- 13 files changed, 20 insertions(+), 23 deletions(-) diff --git a/examples/custom_output_files/main.py b/examples/custom_output_files/main.py index 363c2f647..5bbfa83db 100644 --- a/examples/custom_output_files/main.py +++ b/examples/custom_output_files/main.py @@ -96,7 +96,7 @@ def mutate( @cocoindex.op.function() def markdown_to_html(text: str) -> str: - return _markdown_it.render(text) # type: ignore + return _markdown_it.render(text) @cocoindex.flow_def(name="CustomOutputFiles") diff --git a/examples/face_recognition/main.py b/examples/face_recognition/main.py index be1d091e5..cd05c7054 100644 --- a/examples/face_recognition/main.py +++ b/examples/face_recognition/main.py @@ -85,7 +85,7 @@ def extract_face_embedding( np.array(img), known_face_locations=[(0, img.width - 1, img.height - 1, 0)], )[0] - return embedding # type: ignore + return embedding @cocoindex.flow_def(name="FaceRecognition") diff --git a/examples/fastapi_server_docker/main.py b/examples/fastapi_server_docker/main.py index a6cafc8bc..167b92a49 100644 --- a/examples/fastapi_server_docker/main.py +++ b/examples/fastapi_server_docker/main.py @@ -109,7 +109,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]: fastapi_app = FastAPI(lifespan=lifespan) -@fastapi_app.get("/search") # type: ignore +@fastapi_app.get("/search") def search_endpoint( request: Request, q: str = Query(..., description="Search query"), diff --git a/examples/image_search/colpali_main.py b/examples/image_search/colpali_main.py index c8bb6f7e0..e853dff52 100644 --- a/examples/image_search/colpali_main.py +++ b/examples/image_search/colpali_main.py @@ -100,7 +100,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]: # --- Search API --- -@app.get("/search") # type: ignore +@app.get("/search") def search( q: str = Query(..., description="Search query"), limit: int = Query(5, description="Number of results"), diff --git a/examples/image_search/main.py b/examples/image_search/main.py index 83a8682d5..28491606f 100644 --- a/examples/image_search/main.py +++ b/examples/image_search/main.py @@ -36,7 +36,7 @@ def embed_query(text: str) -> list[float]: inputs = processor(text=[text], return_tensors="pt", padding=True) with torch.no_grad(): features = model.get_text_features(**inputs) - return features[0].tolist() # type: ignore + return features[0].tolist() @cocoindex.op.function(cache=True, behavior_version=1, gpu=True) @@ -51,7 +51,7 @@ def embed_image( inputs = processor(images=image, return_tensors="pt") with torch.no_grad(): features = model.get_image_features(**inputs) - return features[0].tolist() # type: ignore + return features[0].tolist() # CocoIndex flow: Ingest images, extract captions, embed, export to Qdrant @@ -140,7 +140,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]: # --- Search API --- -@app.get("/search") # type: ignore +@app.get("/search") def search( q: str = Query(..., description="Search query"), limit: int = Query(5, description="Number of results"), diff --git a/examples/manuals_llm_extraction/main.py b/examples/manuals_llm_extraction/main.py index c81f6c1b8..f04f7b9fe 100644 --- a/examples/manuals_llm_extraction/main.py +++ b/examples/manuals_llm_extraction/main.py @@ -5,7 +5,6 @@ from marker.models import create_model_dict from marker.output import text_from_rendered from marker.config.parser import ConfigParser -from typing import cast import cocoindex @@ -32,7 +31,7 @@ def __call__(self, content: bytes) -> str: temp_file.write(content) temp_file.flush() text_any, _, _ = text_from_rendered(self._converter(temp_file.name)) - return cast(str, text_any) + return text_any @dataclasses.dataclass diff --git a/examples/paper_metadata/main.py b/examples/paper_metadata/main.py index b12352744..796a8c969 100644 --- a/examples/paper_metadata/main.py +++ b/examples/paper_metadata/main.py @@ -9,7 +9,6 @@ from marker.models import create_model_dict from marker.output import text_from_rendered from functools import cache -from typing import cast from pypdf import PdfReader, PdfWriter @@ -68,7 +67,7 @@ def pdf_to_markdown(content: bytes) -> str: temp_file.write(content) temp_file.flush() text_any, _, _ = text_from_rendered(get_marker_converter()(temp_file.name)) - return cast(str, text_any) + return text_any @cocoindex.flow_def(name="PaperMetadata") diff --git a/examples/patient_intake_extraction_dspy/main.py b/examples/patient_intake_extraction_dspy/main.py index 2acde11a2..303439a3a 100644 --- a/examples/patient_intake_extraction_dspy/main.py +++ b/examples/patient_intake_extraction_dspy/main.py @@ -77,7 +77,7 @@ class Patient(BaseModel): # DSPy Signature for patient information extraction from images -class PatientExtractionSignature(dspy.Signature): # type: ignore[misc] +class PatientExtractionSignature(dspy.Signature): """Extract structured patient information from a medical intake form image.""" form_images: list[dspy.Image] = dspy.InputField( @@ -88,7 +88,7 @@ class PatientExtractionSignature(dspy.Signature): # type: ignore[misc] ) -class PatientExtractor(dspy.Module): # type: ignore[misc] +class PatientExtractor(dspy.Module): """DSPy module for extracting patient information from intake form images.""" def __init__(self) -> None: @@ -98,7 +98,7 @@ def __init__(self) -> None: def forward(self, form_images: list[dspy.Image]) -> Patient: """Extract patient information from form images and return as a Pydantic model.""" result = self.extract(form_images=form_images) - return result.patient # type: ignore + return result.patient @cocoindex.op.function(cache=True, behavior_version=1) @@ -123,7 +123,7 @@ def extract_patient(pdf_content: bytes) -> Patient: extractor = PatientExtractor() patient = extractor(form_images=form_images) - return patient # type: ignore + return patient @cocoindex.flow_def(name="PatientIntakeExtractionDSPy") diff --git a/examples/pdf_elements_embedding/main.py b/examples/pdf_elements_embedding/main.py index 630c85ebc..88288b50c 100644 --- a/examples/pdf_elements_embedding/main.py +++ b/examples/pdf_elements_embedding/main.py @@ -7,7 +7,6 @@ from dataclasses import dataclass from pypdf import PdfReader from transformers import CLIPModel, CLIPProcessor -from typing import cast QDRANT_GRPC_URL = "http://localhost:6334" @@ -36,7 +35,7 @@ def clip_embed_image(img_bytes: bytes) -> list[float]: inputs = processor(images=image, return_tensors="pt") with torch.no_grad(): features = model.get_image_features(**inputs) - return cast(list[float], features[0].tolist()) + return features[0].tolist() def clip_embed_query(text: str) -> list[float]: @@ -47,7 +46,7 @@ def clip_embed_query(text: str) -> list[float]: inputs = processor(text=[text], return_tensors="pt", padding=True) with torch.no_grad(): features = model.get_text_features(**inputs) - return cast(list[float], features[0].tolist()) + return features[0].tolist() @cocoindex.transform_flow() diff --git a/examples/pdf_embedding/main.py b/examples/pdf_embedding/main.py index 8572ad5a7..fe6cc4b62 100644 --- a/examples/pdf_embedding/main.py +++ b/examples/pdf_embedding/main.py @@ -34,7 +34,7 @@ def __call__(self, content: bytes) -> str: temp_file.write(content) temp_file.flush() text_any, _, _ = text_from_rendered(self._converter(temp_file.name)) - return text_any # type: ignore + return text_any @cocoindex.transform_flow() diff --git a/examples/postgres_source/main.py b/examples/postgres_source/main.py index 64f7a4a73..979ab84ce 100644 --- a/examples/postgres_source/main.py +++ b/examples/postgres_source/main.py @@ -3,7 +3,7 @@ from dotenv import load_dotenv from psycopg_pool import ConnectionPool -from pgvector.psycopg import register_vector # type: ignore[import-untyped] +from pgvector.psycopg import register_vector from psycopg.rows import dict_row from numpy.typing import NDArray @@ -133,7 +133,7 @@ def search(pool: ConnectionPool, query: str, top_k: int = 5) -> list[dict[str, A """, (query_vector, top_k), ) - return cur.fetchall() # type: ignore + return cur.fetchall() def _main() -> None: diff --git a/pyproject.toml b/pyproject.toml index 523575783..084fce958 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -119,7 +119,7 @@ ignore_missing_imports = true module = ["examples.*"] # Silence missing import errors for optional dependencies -disable_error_code = ["import-not-found", "import-untyped", "no-any-return"] +disable_error_code = ["import-not-found", "import-untyped", "untyped-decorator"] # Prevent the "Any" contagion from triggering strict errors # (These flags are normally True in strict mode) diff --git a/python/cocoindex/functions/colpali.py b/python/cocoindex/functions/colpali.py index eaa31a11b..37f06e452 100644 --- a/python/cocoindex/functions/colpali.py +++ b/python/cocoindex/functions/colpali.py @@ -26,7 +26,7 @@ class ColPaliModelInfo: def _get_colpali_model_and_processor(model_name: str) -> ColPaliModelInfo: """Load and cache ColPali model and processor with shared device setup.""" try: - import colpali_engine as ce # type: ignore[import-untyped] + import colpali_engine as ce import torch except ImportError as e: raise ImportError(