Skip to main content

Embex: A Universal Vector Database ORM

Project description

Embex (Python)

The Universal Vector Database ORM. One API for Qdrant, Pinecone, Chroma, LanceDB, and more.

Embex is a high-performance, universal client for vector databases, built on a shared Rust core related to BridgeRust.

🚀 Features

  • Unified API: Switch providers instantly. "Write once, run anywhere."
  • Performance: Powered by Rust with SIMD acceleration.
  • Type Safety: Fully typed Python bindings.

📦 Installation

uv pip install embex
pip install embex

⚡ Quick Start

Try Embex in 30 seconds - No setup required! Uses LanceDB embedded mode (no server needed).

import asyncio
from embex import EmbexClient, Point

async def main():
    # LanceDB embedded - zero setup, just a local path
    client = await EmbexClient.new_async("lancedb", "./data")
    collection = client.collection("documents")

    # Create collection
    await collection.create(dimension=768, distance="cosine")

    # Insert data
    await collection.insert([
        Point(id="1", vector=[0.1] * 768, metadata={"text": "Hello World"})
    ])

    # Search
    results = await collection.search(vector=[0.1] * 768, top_k=5)
    print(results.results)

asyncio.run(main())

Run it: python examples/lancedb/python/quickstart.py

All Provider Quick Starts

Try Embex with any provider! Same API, different backend:

Provider Setup Quick Start
LanceDB None (embedded) python examples/lancedb/python/quickstart.py
Qdrant Docker server python examples/qdrant/python/quickstart.py
Pinecone API key python examples/pinecone/python/quickstart.py
Chroma Optional server python examples/chroma/python/quickstart.py

💡 Same API everywhere! Just change the provider name - all code stays the same. See examples/README.md for setup instructions.

5. Filtered Search (Builder Pattern)

# Coming soon: Python Builder Pattern
# Currently supported via search() arguments:

```python
results = collection.search(
    vector=[0.1, 0.2, ...],
    limit=10,
    filter={"course": "CS101"}
)

☁️ Connecting to Cloud Providers

To connect to managed services like Pinecone, Qdrant Cloud, or Zilliz (Milvus), simply provide your API key and endpoint URL.

import os
from embex import EmbexClient

# Connect to Pinecone (or other cloud providers)
client = EmbexClient(
    provider="pinecone",
    url="https://index-name.svc.pinecone.io",
    api_key=os.getenv("PINECONE_API_KEY")
)

# Connect to Qdrant Cloud
client_qdrant = EmbexClient(
    provider="qdrant",
    url="https://xyz-example.eu-central.aws.cloud.qdrant.io:6333",
    api_key=os.getenv("QDRANT_API_KEY")
)

Official Documentation & API Keys

Need help finding your API key? Check the official provider documentation:

🔌 Supported Providers

Provider Key Status
Qdrant qdrant Supported
Chroma chroma Supported
Pinecone pinecone Supported
Weaviate weaviate Supported
LanceDB lancedb Supported
Milvus milvus Supported
PgVector pgvector Supported

🔗 Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

embex-0.1.12.tar.gz (110.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

embex-0.1.12-cp38-abi3-win_amd64.whl (36.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

embex-0.1.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

embex-0.1.12-cp38-abi3-macosx_11_0_arm64.whl (32.9 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

embex-0.1.12-cp38-abi3-macosx_10_12_x86_64.whl (37.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file embex-0.1.12.tar.gz.

File metadata

  • Download URL: embex-0.1.12.tar.gz
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for embex-0.1.12.tar.gz
Algorithm Hash digest
SHA256 f4cb47ad4c2a37b6a86d6580f89e87019e4fadd466f116aff59fd8648eb15b28
MD5 84bcf23c5330628aa9291e495df3bf6f
BLAKE2b-256 df23b2d032ea739894bda481282d89a639ee02e3c2f23112edd07523682ad619

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.12.tar.gz:

Publisher: release-python.yml on bridgerust/bridgerust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file embex-0.1.12-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: embex-0.1.12-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 36.1 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for embex-0.1.12-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c9543fd85777c0f43c04e71cbef40cc7bf969146b4ddd2b27e72f703c9f10586
MD5 5bcd21f30fc45acad43743c8e1f2c27d
BLAKE2b-256 49173451a2ee4871df499f89a4d4ed2938853136bf425384d4928bbc85a8bba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.12-cp38-abi3-win_amd64.whl:

Publisher: release-python.yml on bridgerust/bridgerust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file embex-0.1.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for embex-0.1.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19ea4e254121a18c619ffb3b998f8bd6ae19efaee19b006374cf7bb47044649a
MD5 095632f1f4099bdc5a5826f84e4f7ec9
BLAKE2b-256 16ef79efed03b55bceeef9f7f67bcffb8148115078a60d425a36712f0a8de69c

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-python.yml on bridgerust/bridgerust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file embex-0.1.12-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for embex-0.1.12-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32126de8d48aca885a81bf4b44d79483979f38b500760ff4b9f7feca1cab2f3a
MD5 8ee76a96b45a82a2c26f551125149072
BLAKE2b-256 7c16a3617a07dd9d0e22f3003e0153426fe70d49eb0491416ffae4b5d9c0a3b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.12-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: release-python.yml on bridgerust/bridgerust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file embex-0.1.12-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for embex-0.1.12-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 52a176fc6b4776a49b5593e0a638fd51fffa42e13a12efef1da6523968e5a714
MD5 e34fdbe60fd5c4783cf61c7382dc6997
BLAKE2b-256 1ac4edffd8c38c8bc5700f1be6c17f96587434f5480402e7cc459bddc2cb03b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.12-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: release-python.yml on bridgerust/bridgerust

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page