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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

  • Download URL: embex-0.1.9.tar.gz
  • Upload date:
  • Size: 109.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.9.tar.gz
Algorithm Hash digest
SHA256 2216aebe54c0e9e68105ae308f20461b39ae3570fabf8ef6bef992458c76a082
MD5 38987317a0813a2196135d82039d370b
BLAKE2b-256 835c6ac4f46c00241f17e92fc8c5126888a34a7110b6305fed18469c16f2e732

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: embex-0.1.9-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.9-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a0a64eef4887fe8961110ee0f6996f6863a609423d9ce67836f6f8dd7cdd461d
MD5 68f07d10100a756475231106371962b7
BLAKE2b-256 df971978c45a053f1345d3619f9c903a6b5f48648d633847fd9c5130a4d9447f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for embex-0.1.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3fd02fa13aba9fee2384649771bb172d3972cc5f27b848b0fc9c55776be4b1f
MD5 20b5745c956683ae88086c4b21452efc
BLAKE2b-256 3f0b14fd51353ab0a5b22514b9624f09693d8b3a7466519e8b2b0d5bef3749cc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: embex-0.1.9-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.9-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5b5160fe37b619afdea3343adb16c27c2631e90023a4666740011ce1e458083
MD5 d7eb016455dcc896d85e024686e8077f
BLAKE2b-256 d4fee51efc43eab78df85c5bfaae0cd34eddaff151d16c34a2277ffc08390d6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for embex-0.1.9-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a1d68056760ac82a0c929b29e48acb0cd7331e4606b3ce5253a2383cfa13ada8
MD5 7bd4cc2b1d12fd3246024045de6e4394
BLAKE2b-256 d489dbf94980b87d425b3ec5706c9a81808e21e52c2080c5151df7749bf32862

See more details on using hashes here.

Provenance

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