Description
The Python SDK is implemented in Rust via PyO3, which means Python IDEs and type checkers (mypy, pyright) cannot infer types from source. Without type stubs, users get no autocomplete, no type hints, and no static analysis for vectorless APIs.
Current State
- No
vectorless/py.typed marker file
- No
.pyi stub files
- Docstrings exist but are insufficient for type inference
Expected Behavior
Add a vectorless/__init__.pyi (or vectorless/py.typed + inline stubs) with proper type annotations:
# vectorless/__init__.pyi
class Engine:
def __init__(self, *, api_key: str | None = ..., model: str | None = ...,
endpoint: str | None = ..., config: Config | None = ...): ...
async def index(self, ctx: IndexContext) -> IndexResult: ...
async def query(self, ctx: QueryContext) -> QueryResult: ...
async def list(self) -> list[DocumentInfo]: ...
async def remove(self, doc_id: str) -> bool: ...
async def get_graph(self) -> DocumentGraph | None: ...
Description
The Python SDK is implemented in Rust via PyO3, which means Python IDEs and type checkers (mypy, pyright) cannot infer types from source. Without type stubs, users get no autocomplete, no type hints, and no static analysis for vectorless APIs.
Current State
vectorless/py.typedmarker file.pyistub filesExpected Behavior
Add a
vectorless/__init__.pyi(orvectorless/py.typed+ inline stubs) with proper type annotations: