Skip to content

Commit 4b5f855

Browse files
committed
Improved typing [skip ci]
1 parent 5368830 commit 4b5f855

6 files changed

Lines changed: 11 additions & 11 deletions

File tree

pgvector/halfvec.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,16 @@ def _from_text(cls, value: str) -> list[float]:
8686
return [float(v) for v in value[1:-1].split(',')]
8787

8888
@classmethod
89-
def _to_db(cls, value: object) -> str | None:
89+
def _to_db(cls, value: list[float] | np.ndarray[tuple[int], np.dtype[np.floating]] | HalfVector | None) -> str | None:
9090
if value is None:
9191
return value
9292

9393
# fewer allocations for lists
9494
if isinstance(value, list):
9595
return f'[{",".join([str(float(v)) for v in value])}]' # type: ignore
9696

97-
if not isinstance(value, cls):
98-
value = cls(value) # type: ignore
97+
if not isinstance(value, HalfVector):
98+
value = cls(value)
9999

100100
return value.to_text()
101101

pgvector/peewee/halfvec.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __init__(self, dimensions: int | None = None, *args: Any, **kwargs: Any) ->
1313
def get_modifiers(self) -> list[int] | None:
1414
return [self.dimensions] if self.dimensions else None
1515

16-
def db_value(self, value: object) -> str | None:
16+
def db_value(self, value: Any) -> str | None:
1717
return HalfVector._to_db(value)
1818

1919
def python_value(self, value: Any) -> list[float] | None:

pgvector/peewee/sparsevec.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __init__(self, dimensions: int | None = None, *args: Any, **kwargs: Any) ->
1313
def get_modifiers(self) -> list[int] | None:
1414
return [self.dimensions] if self.dimensions else None
1515

16-
def db_value(self, value: object) -> str | None:
16+
def db_value(self, value: Any) -> str | None:
1717
return SparseVector._to_db(value)
1818

1919
def python_value(self, value: Any) -> SparseVector | None:

pgvector/peewee/vector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __init__(self, dimensions: int | None = None, *args: Any, **kwargs: Any) ->
1313
def get_modifiers(self) -> list[int] | None:
1414
return [self.dimensions] if self.dimensions else None
1515

16-
def db_value(self, value: object) -> str | None:
16+
def db_value(self, value: Any) -> str | None:
1717
return Vector._to_db(value)
1818

1919
def python_value(self, value: Any) -> list[float] | None:

pgvector/sparsevec.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ def _from_parts(cls, dim: int, indices: list[int], values: list[float]) -> Spars
149149
return vec
150150

151151
@classmethod
152-
def _to_db(cls, value: object) -> str | None:
152+
def _to_db(cls, value: list[float] | Any | SparseVector | None) -> str | None:
153153
if value is None:
154154
return value
155155

156-
if not isinstance(value, cls):
156+
if not isinstance(value, SparseVector):
157157
value = cls(value)
158158

159159
return value.to_text()

pgvector/vector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,16 @@ def _from_text(cls, value: str) -> list[float]:
8484
return [float(v) for v in value[1:-1].split(',')]
8585

8686
@classmethod
87-
def _to_db(cls, value: object) -> str | None:
87+
def _to_db(cls, value: list[float] | np.ndarray[tuple[int], np.dtype[np.floating]] | Vector | None) -> str | None:
8888
if value is None:
8989
return value
9090

9191
# fewer allocations for lists
9292
if isinstance(value, list):
9393
return f'[{",".join([str(float(v)) for v in value])}]' # type: ignore
9494

95-
if not isinstance(value, cls):
96-
value = cls(value) # type: ignore
95+
if not isinstance(value, Vector):
96+
value = cls(value)
9797

9898
return value.to_text()
9999

0 commit comments

Comments
 (0)