diff --git a/pyproject.toml b/pyproject.toml index 33c3894f..2f8423c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,7 @@ authors = [{ name = "CocoIndex", email = "cocoindex.io@gmail.com" }] readme = "README.md" requires-python = ">=3.11" dependencies = [ + "typing-extensions>=4.12; python_version < '3.13'", "click>=8.1.8", "rich>=14.0.0", "python-dotenv>=1.1.0", diff --git a/python/cocoindex/query_handler.py b/python/cocoindex/query_handler.py index 2d1b2ec5..4a0d60fb 100644 --- a/python/cocoindex/query_handler.py +++ b/python/cocoindex/query_handler.py @@ -1,8 +1,14 @@ import dataclasses import numpy as np from numpy import typing as npt -from typing import Generic, TypeVar +from typing import Generic, Any from .index import VectorSimilarityMetric +import sys + +if sys.version_info >= (3, 13): + from typing import TypeVar +else: + from typing_extensions import TypeVar # PEP 696 backport @dataclasses.dataclass @@ -35,7 +41,7 @@ class QueryInfo: similarity_metric: VectorSimilarityMetric | None = None -R = TypeVar("R") +R = TypeVar("R", default=Any) @dataclasses.dataclass