Adapters¶
ADK stores use the same adapters as the rest of SQLSpec. Configure your database with a standard config class, then pass it to the ADK store.
Choosing an Adapter¶
Use async adapters for best performance with ADK runners:
PostgreSQL (recommended):
asyncpg,psycopg(async mode),psqlpyCockroachDB:
cockroach_asyncpg,cockroach_psycopg(full FTS support)MySQL/MariaDB:
asyncmySQLite:
aiosqlite(development and single-process)Oracle:
oracledbDuckDB:
duckdb(analytics; reduced-scope for ADK)ADBC:
adbc(Arrow-native, driver-agnostic)Spanner:
spanner(Google Cloud, globally distributed)
Sync adapters (psycopg sync mode, sqlite, mysqlconnector, pymysql)
work but require wrapping with anyio for async ADK runners.
Each Adapter Provides¶
Every adapter with ADK support ships three store classes:
Session store (e.g.,
AsyncpgADKStore) – sessions and events.Memory store (e.g.,
AsyncpgADKMemoryStore) – long-term memory with FTS.Artifact store (e.g.,
AsyncpgADKArtifactStore) – artifact metadata.
Import from the adapter’s adk subpackage:
Example¶
adk backend config¶from sqlspec.adapters.adbc import AdbcConfig
adk_config = {
"session_table": "adk_sessions",
"events_table": "adk_events",
"memory_table": "adk_memory_entries",
"memory_use_fts": True,
}
gizmo = AdbcConfig(
connection_config={"driver_name": "gizmosql", "gizmosql_backend": "duckdb"},
extension_config={"adk": adk_config},
)
See Also¶
Backends for the full support matrix and backend-specific notes.
Drivers and Querying for adapter configuration patterns.
Adapters for the complete adapter API.