Metadata-Version: 2.5
Name: vantadb-haystack
Version: 0.5.0
Summary: Haystack adapter for VantaDB — embedded vector memory for AI agents
Project-URL: Homepage, https://github.com/ness-e/Vantadb
Project-URL: Repository, https://github.com/ness-e/Vantadb
Project-URL: Documentation, https://github.com/ness-e/Vantadb/tree/main/integrations/haystack
Author: VantaDB Team
License: Apache-2.0
Keywords: ai-memory,haystack,rag,vantadb,vector-store
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: haystack-ai<3,>=2.0
Requires-Dist: vantadb-py<0.9.0,>=0.6.1
Description-Content-Type: text/markdown

# VantaDB × Haystack

Haystack DocumentStore adapter for [VantaDB](https://github.com/ness-e/Vantadb).

## Install

> **Not on PyPI yet.** The `vantadb-haystack` package declares Alpha
> status and will go live with the first `adapters-v*` tag release
> (no local `dist/` built yet). Until then, install from source.

```bash
# Today, from a repo checkout
cd integrations/haystack && pip install .
```

### Install from PyPI (after first release)

```bash
pip install vantadb-haystack
```

## Quickstart

```python
from vantadb_haystack import VantaDBDocumentStore

store = VantaDBDocumentStore(db_path="./my_data")

# Write documents
store.write_documents([
    {"id": "1", "content": "VantaDB is an embedded vector database written in Rust.",
     "meta": {"source": "docs"}},
])

# Filter documents
results = store.filter_documents(filters={"source": "docs"})
for doc in results:
    print(doc.content)
```

## API

- `write_documents(documents, policy)` — store documents
- `filter_documents(filters)` — retrieve by filter
- `delete_documents(filters)` — remove documents
- `count_documents(filters)` — count documents

## Why VantaDB?

- **Embedded & local-first:** the storage engine is a Rust library embedded
  in your process — no server to deploy, no network hop; data lives in your
  filesystem.
- **Persistent hybrid search:** vectors + BM25 text search out of the box,
  where Haystack's `InMemoryDocumentStore` covers only small single-process
  cases.
- **Zero-setup alternative to hosted stacks:** unlike Zep (requires a server)
  or Cognee (spins up its own knowledge-graph runtime), VantaDB is a plain
  library you import.

## Development

```bash
pip install -e .
```
