diff --git a/python/pyproject.toml b/python/pyproject.toml index e24dedf1..118b23dc 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -5,7 +5,7 @@ dynamic = ["version"] dependencies = [ "deprecation", "numpy", - "overrides>=0.7", + "overrides>=0.7; python_version<'3.12'", "packaging", "pyarrow>=16", "pydantic>=1.10", diff --git a/python/python/lancedb/db.py b/python/python/lancedb/db.py index d3aa1fe5..5d83c89e 100644 --- a/python/python/lancedb/db.py +++ b/python/python/lancedb/db.py @@ -6,10 +6,18 @@ from __future__ import annotations from abc import abstractmethod from pathlib import Path +import sys from typing import TYPE_CHECKING, Dict, Iterable, List, Literal, Optional, Union +if sys.version_info >= (3, 12): + from typing import override + + class EnforceOverrides: + pass +else: + from overrides import EnforceOverrides, override # type: ignore + from lancedb.embeddings.registry import EmbeddingFunctionRegistry -from overrides import EnforceOverrides, override # type: ignore from lancedb.common import data_to_reader, sanitize_uri, validate_schema from lancedb.background_loop import LOOP diff --git a/python/python/lancedb/namespace.py b/python/python/lancedb/namespace.py index b0c07d06..41968fff 100644 --- a/python/python/lancedb/namespace.py +++ b/python/python/lancedb/namespace.py @@ -12,13 +12,18 @@ from __future__ import annotations from typing import Dict, Iterable, List, Optional, Union import os +import sys + +if sys.version_info >= (3, 12): + from typing import override +else: + from overrides import override from lancedb.db import DBConnection from lancedb.table import LanceTable, Table from lancedb.util import validate_table_name from lancedb.common import validate_schema from lancedb.table import sanitize_create_table -from overrides import override from lance_namespace import LanceNamespace, connect as namespace_connect from lance_namespace_urllib3_client.models import ( diff --git a/python/python/lancedb/remote/db.py b/python/python/lancedb/remote/db.py index b839213e..10237446 100644 --- a/python/python/lancedb/remote/db.py +++ b/python/python/lancedb/remote/db.py @@ -5,15 +5,20 @@ from datetime import timedelta import logging from concurrent.futures import ThreadPoolExecutor +import sys from typing import Any, Dict, Iterable, List, Optional, Union from urllib.parse import urlparse import warnings +if sys.version_info >= (3, 12): + from typing import override +else: + from overrides import override + # Remove this import to fix circular dependency # from lancedb import connect_async from lancedb.remote import ClientConfig import pyarrow as pa -from overrides import override from ..common import DATA from ..db import DBConnection, LOOP