Skip to content

Commit 3dc976d

Browse files
committed
feat(namespace): expose ScoredVector from top-level pinecone namespace
Adds ScoredVector to the three required places in pinecone/__init__.py (TYPE_CHECKING import, __all__, and _LAZY_IMPORTS) so that `from pinecone import ScoredVector` works without importing the internal module path. Adds TestScoredVectorTopLevelExport unit tests to verify the re-export is identity-preserving and visible via __all__ and dir(). Closes BCG-011.
1 parent df77b86 commit 3dc976d

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

‎pinecone/__init__.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@
198198
SearchUsage,
199199
)
200200
from pinecone.models.vectors.sparse import SparseValues
201-
from pinecone.models.vectors.vector import Vector
201+
from pinecone.models.vectors.vector import ScoredVector, Vector
202202
from pinecone.utils.filter_builder import Field, FilterBuilder
203203

204204
__version__ = "8.1.2"
@@ -322,6 +322,7 @@
322322
"RestoreJobList",
323323
"RestoreJobModel",
324324
"RetryConfig",
325+
"ScoredVector",
325326
"SearchInputs",
326327
"SearchQuery",
327328
"SearchRecordsResponse",
@@ -514,6 +515,7 @@
514515
"SearchRerank": ("pinecone.db_data.dataclasses.search_rerank", "SearchRerank"),
515516
"SearchResult": ("pinecone.models.vectors.search", "SearchResult"),
516517
"SearchUsage": ("pinecone.models.vectors.search", "SearchUsage"),
518+
"ScoredVector": ("pinecone.models.vectors.vector", "ScoredVector"),
517519
"ServerlessSpec": ("pinecone.models.indexes.specs", "ServerlessSpec"),
518520
"ServerlessSpecInfo": ("pinecone.models.indexes.index", "ServerlessSpecInfo"),
519521
"SparseEmbedding": ("pinecone.models.inference.embed", "SparseEmbedding"),

‎tests/unit/test_backcompat_shims.py‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,29 @@ def test_list_response_with_pagination(self) -> None:
117117
assert lr.pagination.next == "t"
118118

119119

120+
class TestScoredVectorTopLevelExport:
121+
def test_importable(self) -> None:
122+
from pinecone import ScoredVector
123+
124+
assert ScoredVector.__name__ == "ScoredVector"
125+
126+
def test_is_canonical_class(self) -> None:
127+
import pinecone
128+
import pinecone.models.vectors.vector as canonical
129+
130+
assert pinecone.ScoredVector is canonical.ScoredVector
131+
132+
def test_in_all(self) -> None:
133+
import pinecone
134+
135+
assert "ScoredVector" in pinecone.__all__
136+
137+
def test_in_dir(self) -> None:
138+
import pinecone
139+
140+
assert "ScoredVector" in dir(pinecone)
141+
142+
120143
class TestDbDataDataclassesPackage:
121144
def test_package_exports_all_symbols(self) -> None:
122145
import pinecone.db_data.dataclasses as pkg

0 commit comments

Comments
 (0)