Skip to content

Introduction

Embex is the universal vector database client.

We recommend starting with LanceDB for development. It runs embedded (no Docker, no cloud setup), stores data locally, and is production-ready.

When you’re ready to scale or need a managed service, you can switch to Qdrant, Pinecone, or others without rewriting your code.

# Initialize properly for ANY provider (local or cloud)
client = await EmbexClient.new_async(provider="lancedb", url="./data")
  • Unified API: Switch providers (Qdrant, Pinecone, LanceDB, Chroma, etc.) with a single line of config.
  • High Performance: Powered by a shared Rust core with SIMD acceleration.
  • Production Ready: Connection pooling, migrations, and observability built-in.