Skip to content

Commit 110bd42

Browse files
committed
Improved type hints [skip ci]
1 parent 66c4515 commit 110bd42

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

pgvector/halfvec.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
class HalfVector:
7-
def __init__(self, value: object) -> None:
7+
def __init__(self, value: list[float] | tuple[float, ...] | np.ndarray) -> None:
88
# asarray still copies if same dtype
99
if not isinstance(value, np.ndarray) or value.dtype != '>f2':
1010
value = np.asarray(value, dtype='>f2')
@@ -55,7 +55,7 @@ def _to_db(cls, value: object, dim: int | None = None) -> str | None:
5555
return value
5656

5757
if not isinstance(value, cls):
58-
value = cls(value)
58+
value = cls(value) # ty: ignore[invalid-argument-type]
5959

6060
if dim is not None and value.dimensions() != dim:
6161
raise ValueError('expected %d dimensions, not %d' % (dim, value.dimensions()))
@@ -68,7 +68,7 @@ def _to_db_binary(cls, value: object) -> bytes | None:
6868
return value
6969

7070
if not isinstance(value, cls):
71-
value = cls(value)
71+
value = cls(value) # ty: ignore[invalid-argument-type]
7272

7373
return value.to_binary()
7474

pgvector/vector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
class Vector:
7-
def __init__(self, value: object) -> None:
7+
def __init__(self, value: list[float] | tuple[float, ...] | np.ndarray) -> None:
88
# asarray still copies if same dtype
99
if not isinstance(value, np.ndarray) or value.dtype != '>f4':
1010
value = np.asarray(value, dtype='>f4')
@@ -55,7 +55,7 @@ def _to_db(cls, value: object, dim: int | None = None) -> str | None:
5555
return value
5656

5757
if not isinstance(value, cls):
58-
value = cls(value)
58+
value = cls(value) # ty: ignore[invalid-argument-type]
5959

6060
if dim is not None and value.dimensions() != dim:
6161
raise ValueError('expected %d dimensions, not %d' % (dim, value.dimensions()))
@@ -68,7 +68,7 @@ def _to_db_binary(cls, value: object) -> bytes | None:
6868
return value
6969

7070
if not isinstance(value, cls):
71-
value = cls(value)
71+
value = cls(value) # ty: ignore[invalid-argument-type]
7272

7373
return value.to_binary()
7474

tests/test_half_vector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def test_list(self):
1010

1111
def test_list_str(self):
1212
with pytest.raises(ValueError, match='could not convert string to float'):
13-
HalfVector([1, 'two', 3])
13+
HalfVector([1, 'two', 3]) # ty: ignore[invalid-argument-type]
1414

1515
def test_tuple(self):
1616
assert HalfVector((1, 2, 3)).to_list() == [1, 2, 3]
@@ -27,12 +27,12 @@ def test_ndarray_same_object(self):
2727

2828
def test_ndim_two(self):
2929
with pytest.raises(ValueError) as error:
30-
HalfVector([[1, 2], [3, 4]])
30+
HalfVector([[1, 2], [3, 4]]) # ty: ignore[invalid-argument-type]
3131
assert str(error.value) == 'expected ndim to be 1'
3232

3333
def test_ndim_zero(self):
3434
with pytest.raises(ValueError) as error:
35-
HalfVector(1)
35+
HalfVector(1) # ty: ignore[invalid-argument-type]
3636
assert str(error.value) == 'expected ndim to be 1'
3737

3838
def test_repr(self):

tests/test_sqlalchemy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ async def test_halfvec(self, engine):
601601
embedding = [1, 2, 3]
602602
session.add(Item(id=1, half_embedding=embedding))
603603
item = await session.get_one(Item, 1)
604-
assert item.half_embedding == HalfVector(embedding)
604+
assert item.half_embedding == HalfVector(embedding) # ty: ignore[invalid-argument-type]
605605

606606
await engine.dispose()
607607

tests/test_vector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def test_list(self):
1010

1111
def test_list_str(self):
1212
with pytest.raises(ValueError, match='could not convert string to float'):
13-
Vector([1, 'two', 3])
13+
Vector([1, 'two', 3]) # ty: ignore[invalid-argument-type]
1414

1515
def test_tuple(self):
1616
assert Vector((1, 2, 3)).to_list() == [1, 2, 3]
@@ -27,12 +27,12 @@ def test_ndarray_same_object(self):
2727

2828
def test_ndim_two(self):
2929
with pytest.raises(ValueError) as error:
30-
Vector([[1, 2], [3, 4]])
30+
Vector([[1, 2], [3, 4]]) # ty: ignore[invalid-argument-type]
3131
assert str(error.value) == 'expected ndim to be 1'
3232

3333
def test_ndim_zero(self):
3434
with pytest.raises(ValueError) as error:
35-
Vector(1)
35+
Vector(1) # ty: ignore[invalid-argument-type]
3636
assert str(error.value) == 'expected ndim to be 1'
3737

3838
def test_repr(self):

0 commit comments

Comments
 (0)