Skip to content

Releases: Pradyothsp/govec-python

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 03:15

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 requires k on search and answers k=0 with an empty list. Older SDKs can't send a zero k over 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 a search(..., 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 govec

No 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

Choose a tag to compare

@github-actions github-actions released this 04 Oct 00:29

A small follow-up to 0.1.0: one export fix and clearer guidance on the client's lifetime.

Fixed

  • GoVecTimeoutError and GoVecClientClosedError can now be imported from govec directly, like the other exceptions. Both were raised by the client but were importable only from govec.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 FastAPI lifespan example.
  • Every example now names its arguments.

Upgrade

pip install --upgrade govec

No 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

Choose a tag to compare

@github-actions github-actions released this 03 Oct 23:46

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 govec
from 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