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.7.tar.gz (109.5 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.7-cp38-abi3-win_amd64.whl (36.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

embex-0.1.7-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.7-cp38-abi3-macosx_11_0_arm64.whl (32.9 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

embex-0.1.7-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.7.tar.gz.

File metadata

  • Download URL: embex-0.1.7.tar.gz
  • Upload date:
  • Size: 109.5 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.7.tar.gz
Algorithm Hash digest
SHA256 d7e83443fcbb7eacdf0a4a0356e8f72fee65f71f095caa913f7e242389920a89
MD5 c13a9860a3e051b4f2dceec11d696dce
BLAKE2b-256 0e549d76b38bbcca89718f7bce7668923a2b05d72012f2c956b5f1c9258ba54e

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.7.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.7-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: embex-0.1.7-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.7-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 44e5560dbf704b6fa6445ef5c8150c8651b99230e68734ac3526cd319124626b
MD5 b1eb436b841820adc4b4b61acd8c974e
BLAKE2b-256 124b16fe2a4f47a528a79b696ea9b60d28cf7e84084b3cf6b82d718853d537e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.7-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.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for embex-0.1.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d1f973c7feddbe61ea9bafb06687181f073475c3e329157648cde76479a32bf
MD5 94f7900dbf4a1e556d3b90e67b208542
BLAKE2b-256 f74b50fbf1900e9370b1734e50a197e840652e3c6bd0ece29a53060fdc91bc7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.7-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.7-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: embex-0.1.7-cp38-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 32.9 MB
  • Tags: CPython 3.8+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for embex-0.1.7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3181946c43662543272a87ae7cb25862049736340ca127a1c138fd6a09d98160
MD5 0c797fc879fe37b5376ebb0fbf7383f8
BLAKE2b-256 e53254d0044bb6432a29f42f5c160ee8c37c93a6c89b517d67de10a48a64b961

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.7-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.7-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for embex-0.1.7-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2eca51a122d5dd81d8a5a606866d52d7b3468d5d3971f8d00e5ef6349da31c09
MD5 14228b61200c6a3033d2ae2ad3229325
BLAKE2b-256 939041ea8f58db15609f3fd3cb4285b98213f83b385a6d6130536236ca548092

See more details on using hashes here.

Provenance

The following attestation bundles were made for embex-0.1.7-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