Skip to content

chore: release v1.7.0 — BYOK embedding providers#41

Merged
iamvirul merged 1 commit intomainfrom
chore/release-1.7.0
Mar 4, 2026
Merged

chore: release v1.7.0 — BYOK embedding providers#41
iamvirul merged 1 commit intomainfrom
chore/release-1.7.0

Conversation

@iamvirul
Copy link
Member

@iamvirul iamvirul commented Mar 4, 2026

Pull Request

Type of Change

  • ✨ New feature
  • ♻️ Refactor
  • 📖 Documentation update
  • 🔧 Chore (build process, CI/CD, dependency updates)
  • ✅ Test improvement

Description

Release v1.7.0 — finalises version bump and CHANGELOG for the BYOK (Bring Your Own Key) embedding providers feature.
This release introduces cloud embedding provider support alongside the existing local model, letting users pick OpenAI, Voyage AI, or Google Gemini embeddings by passing provider= to index_codebase. The embedder is refactored to a strategy pattern (EmbeddingProvider ABC) so adding new providers is trivial. The vector store is updated to persist and adapt to each provider's embedding dimensionality.

Related Issues / PRs

Changes Made

  • src/vecgrep/embedder.pyEmbeddingProvider ABC; LocalProvider (ONNX/torch); OpenAIProvider, VoyageProvider, GeminiProvider with lazy-loaded clients and _normalize() helper; get_provider(name) registry; backward-compatible embed() free function
  • src/vecgrep/providers.py — provider registry module
  • src/vecgrep/store.py — dynamic _chunks_schema(dims) factory; dims param on VectorStore; _get_meta / _set_meta helpers; set_provider_meta / get_provider_meta; drop_and_recreate_chunks(dims) for force-switching; get_stats() returns provider, model, dims
  • src/vecgrep/server.pyindex_codebase gains provider param; _resolve_provider enforces per-project lock; watch=True blocked for cloud providers; LiveSyncHandler skips non-local providers
  • pyproject.toml — version 1.7.0; optional extras vecgrep[openai], vecgrep[voyage], vecgrep[gemini], vecgrep[cloud]
  • tests/test_providers.py — full BYOK test suite (registry, LocalProvider, cloud providers w/ mocked APIs, missing-key and missing-package error paths)
  • README.md — cloud provider table, install extras, BYOK usage examples, updated tool signatures and get_index_status output
  • CHANGELOG.md[1.7.0] — 2026-03-04 entry

Testing

  • Unit tests
  • Integration tests
  • Manual testing
    Cloud providers tested with mocked openai, voyageai, and google-genai clients. Key/missing-package errors verified to raise RuntimeError with actionable messages. Local provider unchanged and covered by existing tests.

Checklist

  • My code follows the project's style guidelines (ruff passes)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Screenshots

N/A — CLI / MCP tool feature.

@iamvirul iamvirul merged commit 645d3a1 into main Mar 4, 2026
1 check passed
@codecov
Copy link

codecov bot commented Mar 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant