SqliteDb stores an Agent’s sessions and run history in SQLite.
Usage
Providedb_url, db_file or db_engine. If none is provided, a database file named agno.db is created in the current directory. The following example uses db_file.
Install dependencies:
uv pip install agno openai ddgs sqlalchemy
sqlite_for_agent.py
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.tools.websearch import WebSearchTools
db = SqliteDb(db_file="tmp/data.db")
agent = Agent(
db=db,
tools=[WebSearchTools()],
add_history_to_context=True,
add_datetime_to_context=True,
)
agent.print_response("How many people live in Canada?")
agent.print_response("What is their national anthem?")
agent.print_response("List my messages one by one")
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id | Optional[str] | None | Database ID. Generated when omitted. |
db_engine | Optional[Engine] | None | SQLAlchemy database engine. Takes precedence over db_url and db_file. |
db_url | Optional[str] | None | Database URL. Used when db_engine is omitted. |
db_file | Optional[str] | None | Database file. Creates ./agno.db when no connection option is provided. |
session_table | Optional[str] | None | Table for Agent, Team, and Workflow sessions. Uses "agno_sessions" when omitted. |
memory_table | Optional[str] | None | Table for user memories. Uses "agno_memories" when omitted. |
metrics_table | Optional[str] | None | Table for metrics. Uses "agno_metrics" when omitted. |
eval_table | Optional[str] | None | Table for evaluation run data. Uses "agno_eval_runs" when omitted. |
knowledge_table | Optional[str] | None | Table for knowledge documents. Uses "agno_knowledge" when omitted. |
culture_table | Optional[str] | None | Table for cultural knowledge. Uses "agno_culture" when omitted. |
traces_table | Optional[str] | None | Table for traces. Uses "agno_traces" when omitted. |
spans_table | Optional[str] | None | Table for spans. Uses "agno_spans" when omitted. |
versions_table | Optional[str] | None | Table for schema versions. Uses "agno_schema_versions" when omitted. |
components_table | Optional[str] | None | Table for components. Uses "agno_components" when omitted. |
component_configs_table | Optional[str] | None | Table for component configurations. Uses "agno_component_configs" when omitted. |
component_links_table | Optional[str] | None | Table for component links. Uses "agno_component_links" when omitted. |
learnings_table | Optional[str] | None | Table for learnings. Uses "agno_learnings" when omitted. |
schedules_table | Optional[str] | None | Table for cron schedules. Uses "agno_schedules" when omitted. |
schedule_runs_table | Optional[str] | None | Table for schedule run history. Uses "agno_schedule_runs" when omitted. |
approvals_table | Optional[str] | None | Table for human approval requests. Uses "agno_approvals" when omitted. |
auth_tokens_table | Optional[str] | None | Table for OAuth tokens. Uses "agno_auth_tokens" when omitted. |
service_accounts_table | Optional[str] | None | Table for service accounts. Uses "agno_service_accounts" when omitted. |
mcp_oauth_clients_table | Optional[str] | None | Table for MCP OAuth client registrations. Uses "agno_mcp_oauth_clients" when omitted. |
mcp_oauth_transactions_table | Optional[str] | None | Table for MCP OAuth transactions. Uses "agno_mcp_oauth_transactions" when omitted. |
mcp_oauth_codes_table | Optional[str] | None | Table for MCP OAuth authorization codes. Uses "agno_mcp_oauth_codes" when omitted. |
mcp_oauth_refresh_tokens_table | Optional[str] | None | Table for MCP OAuth refresh tokens. Uses "agno_mcp_oauth_refresh_tokens" when omitted. |
mcp_oauth_keys_table | Optional[str] | None | Table for MCP OAuth signing keys. Uses "agno_mcp_oauth_keys" when omitted. |