SDKs
Python SDK
Default API: https://api.databaset.com
Installation
pip install databasetRequirements
- Python 3.10+
DATABASET_API_KEYenvironment variable or passapi_keytoMemory()
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 stringmemory.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)