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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

  • Download URL: embex-0.1.11.tar.gz
  • Upload date:
  • Size: 109.6 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.11.tar.gz
Algorithm Hash digest
SHA256 543f5742703486cc041f999e2d730d43d0234db8a0867bc5d536cc87f1b6de21
MD5 95e69caf57b01796099538dc10e6b46d
BLAKE2b-256 19155b2bb35f8b0848569569c12aa44389306f7296c5c4d68b712bf4cb232cef

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: embex-0.1.11-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.11-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 356fa7a0047621536514bd81d2ebe5eb7499bcd8038b2ff99dcc2a2b8a06efdd
MD5 5a0b49bb8f215b489e3d1880134e29eb
BLAKE2b-256 7787d311d647218685d2df718163eb765884474c97607f8e6b2426265a20efcb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for embex-0.1.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ec9a0a4ac34ddc0fa885b6fd8eabb9e70093f9cc44d65e4f16424087718bfe3
MD5 ff2e29e1abd17968fee6f01b7220212a
BLAKE2b-256 85d9c732f157c9612f314264609bdab1fdbac48084aaa890fbc342c1ea59ff19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for embex-0.1.11-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03c7c34437ce1940935633bf7cbbca56eb9d1c6387942de1ae6560bec7fe8877
MD5 02fef9b5501ad713fbc907f32c80bbc8
BLAKE2b-256 164ef93c5ec4c96de6983543d42f99d2ebf898fb5579939e838d4f90cc575b09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for embex-0.1.11-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbc99110b16709b087c9c4cdb24e265f5da62ea599e15814015d91c1411ff407
MD5 bdff1e606cf23313d1506e7c1dc0ed4f
BLAKE2b-256 e82069edbb7270012c2e2ad5f4eed028375060c50344478f195c487f52b9dd07

See more details on using hashes here.

Provenance

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