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

1. Connect to a Provider

from embex import EmbexClient

# Connect to Qdrant
client = EmbexClient("qdrant", "http://localhost:6333")

# Or use async initialization (required for some providers like LanceDB/Milvus)
# Note: Python client handles async init internally via await if needed,
# or use the async factory if exposed.
# For standard usage, EmbexClient constructor handles most sync/async bridging.

2. Create a Collection

collection = client.collection("my_collection")

# Create with specific dimension and metric
collection.create(768, "cosine")

3. Insert Vectors

collection.insert([
  {
    "id": "1",
    "vector": [0.1, 0.2, ...], # 768 dimensions
    "metadata": {"title": "Hello World", "category": "greeting"}
  }
])

4. Search

results = collection.search(
  vector=[0.1, 0.2, ...], # Query vector
  limit=5
)

for result in results.results:
    print(result.id, result.score, result.metadata)

5. Filtered Search (Builder Pattern)

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

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

🔌 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.1.tar.gz (173.8 kB view details)

Uploaded Source

Built Distribution

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

embex-0.1.1-cp38-abi3-macosx_11_0_arm64.whl (57.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: embex-0.1.1.tar.gz
  • Upload date:
  • Size: 173.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for embex-0.1.1.tar.gz
Algorithm Hash digest
SHA256 89fb000d13f86efaf8c45bc6f1b06337c5691dd96ef80cdfb29d796ac6d76103
MD5 0d11f46bcb93fc0ed09d0f60c57114c3
BLAKE2b-256 b9d79985cd80ffd3e5cb64a22dfc33471aed1d1d02628f7eebe4b77fe8d329fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for embex-0.1.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0e1e701b28f141559e35ee2957f75dc98cc899f09d4b83c123486a03bc047e9
MD5 3411513813421bcbc82eedddc24ff713
BLAKE2b-256 73e4a7287479f9844517cbf3623b19d556929d0b514f5a3b0f87c312d15e6314

See more details on using hashes here.

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