Metadata-Version: 2.4
Name: vexra
Version: 1.1.1
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Dist: pytest>=7 ; extra == 'dev'
Provides-Extra: dev
Summary: Vexra Python SDK — embedded vector database
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/Mengxun326/embeddb
Project-URL: Issues, https://github.com/Mengxun326/embeddb/issues

# EmbedDB Python SDK

Python bindings for EmbedDB — the embedded vector database.

## Installation

```bash
pip install embeddb
```

## Quick Start

```python
import embeddb

# Open or create a database
db = embeddb.Database("data.embeddb")

# Create a collection
col = db.create_collection("docs", dimension=384, distance=embeddb.DistanceMetric.COSINE)

# Insert vectors
col.insert({"id": "doc1", "vector": [0.1] * 384, "metadata": {"title": "Hello"}})
col.insert({"id": "doc2", "vector": [0.2] * 384, "metadata": {"title": "World"}})

# Search
results = col.search(vector=[0.15] * 384, top_k=10)
for hit in results:
    print(f"{hit.id}: {hit.score:.4f}")
```

## API

### Database

- `Database(path)` — Open or create a database
- `db.create_collection(name, dimension, distance)` — Create a collection
- `db.get_collection(name)` — Get an existing collection
- `db.close()` — Close the database

### Collection

- `col.insert(doc)` — Insert a document `{"id": str, "vector": [float], "metadata": dict}`
- `col.search(vector, top_k=10)` — Search for nearest neighbors

### Distance Metrics

- `DistanceMetric.COSINE` — Cosine distance
- `DistanceMetric.EUCLIDEAN` — Euclidean (L2) distance
- `DistanceMetric.DOT_PRODUCT` — Dot product similarity

