Python SDK

Libro provides a first-class Python SDK optimized for machine learning pipelines, backend services, and LangChain/LlamaIndex integrations.

Installation

pip install libro-sdk

Initialization

from libro import LibroClient
import os

client = LibroClient(
    api_key=os.environ.get("LIBRO_API_KEY"), 
    base_url="https://libro.co.in" # Optional
)

Core Methods

1. Ingest

Store user facts or conversational context.

res = client.ingest(
    user_id="user_123",
    text="User prefers Python over Java for backend work.",
    metadata={"source": "api"}
)
print(res["memory"]["id"])

2. Get Context

Retrieve semantic context formatted specifically for LLM system prompts.

context = client.get_context(
    user_id="user_123",
    query="What language should we use?"
)

3. Semantic Search

Return raw arrays of memory dictionaries for programmatic filtering.

results = client.search(
    user_id="user_123",
    query="programming preferences",
    limit=5
)
for r in results:
    print(r["score"], r["content"])

4. Update

Update a previously ingested memory. The embedding is recalculated automatically.

client.update(
    user_id="user_123",
    memory_id="uuid-...",
    content="User prefers Python and Rust for backend work."
)

5. Forget (Delete)

Comply with GDPR by deleting specific facts or wiping users.

# Delete specific memory
client.forget(user_id="user_123", memory_id="uuid-...")

# Delete by semantic query
client.forget(user_id="user_123", query="credit card")

# Wipe all user data
client.forget(user_id="user_123")