SDKs

Python SDK

Default API: https://api.databaset.com

Installation

pip install databaset

Requirements

  • Python 3.10+
  • DATABASET_API_KEY environment variable or pass api_key to Memory()

Initialize

from databaset import Memory

memory = Memory()  # reads DATABASET_API_KEY
# or: Memory(api_key="db_...", app_id="my-app", base_url="https://api.databaset.com")

Environment variables:

| Variable | Description | |----------|-------------| | DATABASET_API_KEY | API key (db_...) | | DATABASET_API_URL | Optional API base URL (default: production) |

memory.store()

memory.store(
    user_id="user_123",
    text="User likes dark mode",
    app_id="my-app",           # optional
    metadata={"source": "api"},  # optional
)
# Returns: { id, userId, appId, createdAt }

memory.recall()

context = memory.recall(
    user_id="user_123",
    query="preferences",
    limit=5,        # default: 5, max: 100
    min_score=0.7,  # default: 0.7
)
# Returns: context string

memory.recall_raw()

matches = memory.recall_raw(
    user_id="user_123",
    query="preferences",
    limit=5,
    min_score=0.4,
)
# Returns: [{ id, text, score, createdAt }, ...]

memory.forget() / forget_user() / forget_bulk()

memory.forget("mem_abc12345")
memory.forget_user(user_id="user_123", app_id="my-app")
memory.forget_bulk(["mem_abc12345", "mem_def67890"])

memory.list()

result = memory.list(
    user_id="user_123",  # required in SDK
    app_id="my-app",
    page=0,
    page_size=20,
)
# Returns: { memories, total, page, pageSize }

Error handling

from databaset import DatabasetError, ValidationError, ApiError

try:
    memory.store(user_id="user_123", text="...")
except ValidationError as e:
    print("Invalid input:", e)
except ApiError as e:
    print(f"API error {e.status}: {e}")
except DatabasetError as e:
    print("Error:", e)