Skip to content

Commit 1780883

Browse files
committed
Improved ndarray imports
1 parent 1b62e14 commit 1780883

6 files changed

Lines changed: 11 additions & 14 deletions

File tree

pgvector/_utils.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
import numpy as np
66

77
ndarray: TypeAlias = np.ndarray[tuple[int, ...], np.dtype[np.floating]]
8+
else:
9+
# any value works since not type checking
10+
# TODO use Never when Python 3.10 no longer supported
11+
ndarray = None
812

913

1014
def is_ndarray(value: object) -> bool:

pgvector/halfvec.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import struct
44
import sys
55
from typing import TYPE_CHECKING
6-
from ._utils import is_ndarray
6+
from ._utils import is_ndarray, ndarray
77

88
if TYPE_CHECKING:
99
import numpy as np
10-
from ._utils import ndarray
1110

1211

1312
class HalfVector:

pgvector/psycopg/vector.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55
from psycopg.adapt import Loader, Dumper
66
from psycopg.pq import Format
77
from psycopg.types import TypeInfo
8-
from typing import TYPE_CHECKING, Any
8+
from typing import Any
99
from .. import Vector
10-
11-
if TYPE_CHECKING:
12-
from .._utils import ndarray
10+
from .._utils import ndarray
1311

1412

1513
class VectorDumper(Dumper):

pgvector/psycopg2/vector.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
from __future__ import annotations
22
from psycopg2.extensions import adapt, connection, cursor, new_array_type, new_type, register_adapter, register_type
3-
from typing import TYPE_CHECKING, Any
3+
from typing import Any
44
from .. import Vector
5-
6-
if TYPE_CHECKING:
7-
from .._utils import ndarray
5+
from .._utils import ndarray
86

97

108
class VectorAdapter:

pgvector/sparsevec.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
from __future__ import annotations
22
from struct import pack, unpack_from
33
from typing import TYPE_CHECKING, Any, overload
4-
from ._utils import is_sparse_array
4+
from ._utils import is_sparse_array, ndarray
55

66
if TYPE_CHECKING:
77
import numpy as np
88
from scipy.sparse import sparray, spmatrix, coo_array, coo_matrix
9-
from ._utils import ndarray
109

1110

1211
NO_DEFAULT = object()

pgvector/vector.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import struct
44
import sys
55
from typing import TYPE_CHECKING
6-
from ._utils import is_ndarray
6+
from ._utils import is_ndarray, ndarray
77

88
if TYPE_CHECKING:
99
import numpy as np
10-
from ._utils import ndarray
1110

1211

1312
class Vector:

0 commit comments

Comments
 (0)