---
title: "Python SDKs"
description: "LangChain, LlamaIndex, and direct Python integration with ZeroDB"
canonical: "https://docs.ainative.studio/docs/sdks/python"
last-updated: "2026-10-03T21:47:10.764Z"
---

# Python SDKs

Source: https://docs.ainative.studio/docs/sdks/python

> LangChain, LlamaIndex, and direct Python integration with ZeroDB

## Python SDKs

Three Python packages for different frameworks:

| Package | Framework | Install |
|---------|-----------|---------|
| `langchain-zerodb` | LangChain | `pip install langchain-zerodb` |
| `llama-index-vector-stores-zerodb` | LlamaIndex | `pip install llama-index-vector-stores-zerodb` |
| `zerodb-mcp` | Direct / MCP | `pip install zerodb-mcp` |

## LangChain

```python
from langchain_zerodb import ZeroDBVectorStore

store = ZeroDBVectorStore(
    api_key="your-api-key",
    project_id="your-project-id",
)

## Add documents (embeddings generated free)
store.add_texts(
    texts=["ZeroDB is fast", "Semantic search is powerful"],
    metadatas=[{"source": "docs"}, {"source": "docs"}],
)

## Similarity search
results = store.similarity_search("fast database", k=5)
for doc in results:
    print(f"{doc.page_content} (score: {doc.metadata.get('score', 'N/A')})")

## Use as retriever in a chain
from langchain.chains import RetrievalQA
from langchain_community.llms import Ollama

qa = RetrievalQA.from_chain_type(
    llm=Ollama(model="llama3"),
    retriever=store.as_retriever(search_kwargs={"k": 3}),
)
answer = qa.run("What is ZeroDB?")
```

## LlamaIndex

```python
from llama_index_zerodb import ZeroDBVectorStore
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

## Load documents
documents = SimpleDirectoryReader("./data").load_data()

## Create index backed by ZeroDB
store = ZeroDBVectorStore(
    api_key="your-api-key",
    project_id="your-project-id",
)
index = VectorStoreIndex.from_documents(documents, vector_store=store)

## Query
engine = index.as_query_engine()
response = engine.query("What is ZeroDB?")
print(response)
```

## Direct Python (zerodb-mcp)

```python
import requests

BASE = "https://api.ainative.studio/api/v1/public"
HEADERS = {
    "Authorization": "Bearer your-api-key",
    "Content-Type": "application/json",
}

## Store a vector
requests.post(f"{BASE}/zerodb/vectors", headers=HEADERS, json={
    "texts": ["Hello world"],
    "metadata": [{"source": "test"}],
})

## Search
response = requests.post(f"{BASE}/zerodb/vectors/search", headers=HEADERS, json={
    "query": "greeting",
    "limit": 5,
})
print(response.json())
```

## ZeroDB Local (Self-Hosted)

For offline / privacy-first use:

```bash
pip install zerodb-local
```

```python
from zerodb_local import ZeroDBLocal

db = ZeroDBLocal("./my-data")
db.add_texts(["Local embeddings", "No API needed"])
results = db.search("embeddings", k=3)
```

Uses SQLite + FAISS — runs entirely on your machine with inline embeddings.

## Next Steps

- [React SDK](/docs/sdks/react) — Frontend hooks
- [Next.js SDK](/docs/sdks/nextjs) — Server-side integration
- [MCP Servers](/docs/mcp/overview) — Agent tool integration
