Universal vector database client — query across multiple vector databases with different embedding models
Project description
Impera: Universal Vector Database Client
A universal client for querying across multiple vector databases that use different embedding models, returning a unified result to the caller.
The Problem
Vector databases are built around a single embedding model. When an application spans multiple vector databases — whether by design or circumstance — there is no standard way to query across them. Each database lives in an incompatible vector space, requiring the caller to manage embedding, querying, and result merging manually.
What This Is
A universal client that, given an intention as input:
- Identifies which embedding model each target database uses
- Embeds the input accordingly, once per model
- Queries each database in its own embedding space
- Returns a normalized, reconcilable result set to the caller
The loop, analysis, and reconciliation logic belong to the calling application. This client handles the embedding and search layer only.
What This Is Not
- A vector database
- A reconciliation or ranking engine
- An agent or reasoning system
- A wrapper around any single vector database or embedding provider
Specifications
This project is specification-first. The client behavior is defined by a set of open, versioned, machine-readable specs before any implementation. See spec/SPEC.md for how specs are written and governed.
The v1 spec set covers:
| Spec | Purpose |
|---|---|
| Registry | Maps each source to its embedding model and access method |
| Query | Format for an intention passed to the client |
| Result | Normalized schema returned to the caller |
| Auth | Credentials and access configuration per source |
| Error | Error types and fallback behavior |
| Versioning | How embedding model version changes are declared and handled |
Status
Specification in progress. No implementation yet.
Contributing
Contributions to the specs are welcome via PR. See spec/SPEC.md for the process.
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file impera-0.1.0.tar.gz.
File metadata
- Download URL: impera-0.1.0.tar.gz
- Upload date:
- Size: 54.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdb154d2043f17f3fac17b60fd2105908a35c7cb480894b1a5f624d66ba08c9a
|
|
| MD5 |
6ca74d4c8177cdc25e949b32d6afc531
|
|
| BLAKE2b-256 |
357063f377a15bf0ff92b56a0ab0656cc9e9e2d6b73b6b809e336c38160d3709
|
File details
Details for the file impera-0.1.0-py3-none-any.whl.
File metadata
- Download URL: impera-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83edae1e5b5f493ecc112669548f9824c9ee0e2938a0111c3d87f830f852cf3c
|
|
| MD5 |
e89ba43b7c20691c9f29bb62f7837128
|
|
| BLAKE2b-256 |
a124299337caddbe9271fcc605c1d2ed873acfb1f8dd9d9fecf706b1be05de99
|