> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upsonic.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SqliteStorage

> Lightweight SQLite database storage for local development

## Overview

`SqliteStorage` provides a file-based SQLite storage backend. Ideal for local development, single-node deployments, and testing.

## Install

<Note>
  Install the SQLite storage optional dependency group:

  ```bash theme={null}
  uv pip install "upsonic[sqlite-storage]"
  ```
</Note>

## Basic Usage

```python theme={null}
from upsonic import Agent, Task
from upsonic.storage.memory import Memory
from upsonic.storage.sqlite import SqliteStorage

storage = SqliteStorage(db_file="memory.db")

memory = Memory(
    storage=storage,
    session_id="session_001",
    user_id="user_123",
    full_session_memory=True,
    summary_memory=True,
    user_analysis_memory=True,
    model="anthropic/claude-sonnet-4-5"
)

agent = Agent("anthropic/claude-sonnet-4-5", memory=memory)

result1 = agent.do(Task("My name is Alice"))
result2 = agent.do(Task("What's my name?"))
print(result2)  # "Your name is Alice"
```

## Parameters

| Parameter           | Type             | Default                   | Description                                                    |
| ------------------- | ---------------- | ------------------------- | -------------------------------------------------------------- |
| `db_file`           | `str \| None`    | `None`                    | Path to SQLite file. If `None`, creates `./upsonic.db`         |
| `db_engine`         | `Engine \| None` | `None`                    | Pre-configured SQLAlchemy Engine                               |
| `db_url`            | `str \| None`    | `None`                    | SQLAlchemy URL (e.g., `sqlite:///./data.db`)                   |
| `session_table`     | `str \| None`    | `"upsonic_sessions"`      | Session table name                                             |
| `user_memory_table` | `str \| None`    | `"upsonic_user_memories"` | User memory table name                                         |
| `knowledge_table`   | `str \| None`    | `"upsonic_knowledge"`     | Knowledge document registry table name (used by KnowledgeBase) |
| `id`                | `str \| None`    | auto-generated            | Storage instance ID                                            |

## Storage Type

`SqliteStorage` is a **synchronous** storage implementation. It uses SQLAlchemy with thread-safe scoped sessions.
