Repository navigation
Releases: Pradyothsp/govec-python
Releases · Pradyothsp/govec-python
Release list
v0.1.2
Support for GoVec server 0.2.0's required k.
Changed
- The gRPC stubs mirror server 0.2.0's
optional int32 k. Server 0.2.0 requireskon search and answersk=0with an empty list. Older SDKs can't send a zerokover gRPC at all (protobuf drops a zero value), so server 0.2.0 reads it as missing and rejects the search. With 0.1.2 asearch(..., k=0)returns an empty list over both transports.
Nothing else changes for callers: search() still defaults to k=10, and REST behaves as before.
Upgrade
pip install --upgrade govecNo breaking changes. Compatible with GoVec server 0.1.0 and newer, on Python 3.12-3.14.
Full Changelog: v0.1.1...v0.1.2
v0.1.1
A small follow-up to 0.1.0: one export fix and clearer guidance on the client's lifetime.
Fixed
GoVecTimeoutErrorandGoVecClientClosedErrorcan now be imported fromgovecdirectly, like the other exceptions. Both were raised by the client but were importable only fromgovec.exceptions.
Documentation
- When to close the client: use a context manager (
with GoVecClient(...) as client:) in scripts, jobs and tests; in long-running services, create one client at startup and close it at shutdown, with a FastAPIlifespanexample. - Every example now names its arguments.
Upgrade
pip install --upgrade govecNo breaking changes. Compatible with GoVec server 0.1.0 and newer, on Python 3.12-3.14.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
First release of the Python client for GoVec, a compact vector search engine.
Highlights
- One API over REST or gRPC: switch with
protocol=; results and exceptions are identical, and every operation is tested against a real server over both - The whole server API: insert, batch insert, search with metadata filters and hybrid dense + sparse scoring, get, delete, stats, info, flush, reset
- Typed: dataclass responses, ships
py.typed - Batch inserts chunked for you, with per-vector errors reported instead of failing the batch
- Safe against newer servers: response fields a newer GoVec adds are ignored, not fatal
Install
pip install govecfrom govec import GoVecClient
with GoVecClient(host="localhost", port=9697, api_key="", protocol="rest", tls=False) as client:
client.insert("doc-1", [0.12, 0.91, 0.20], metadata={"title": "Getting started"})
print(client.search([0.10, 0.88, 0.18], k=1))Needs a GoVec server: docker run -p 9697:9697 ghcr.io/pradyothsp/govec:0.1.0
Compatibility
- GoVec server 0.1.0 and newer
- Python 3.12, 3.13, 3.14
Coming next
An async client (AsyncGoVecClient) is planned for 0.2.0.
Full Changelog: https://github.com/Pradyothsp/govec-python/commits/v0.1.0