Adapters¶

SQLSpec ships adapter packages for each supported database or driver. Each adapter exports a typed config class and a driver implementation.

Quick Example¶

sqlite config¶
from sqlspec import SQLSpec
from sqlspec.adapters.sqlite import SqliteConfig

db_path = tmp_path / "driver.sqlite"
spec = SQLSpec()
config = spec.add_config(SqliteConfig(connection_config={"database": str(db_path)}))

with spec.provide_session(config) as session:
    session.execute("create table if not exists health (id integer primary key)")
    result = session.execute("select count(*) as total from health")
    print(result.one())

Adapter Catalog¶

Adapter

Config Class

Sync/Async

asyncpg

AsyncpgConfig

Async

psycopg

PsycopgSyncConfig / PsycopgAsyncConfig

Sync + Async

psqlpy

PsqlpyConfig

Async

cockroach (asyncpg)

CockroachAsyncpgConfig

Async

cockroach (psycopg)

CockroachPsycopgSyncConfig / CockroachPsycopgAsyncConfig

Sync + Async

sqlite

SqliteConfig

Sync

aiosqlite

AiosqliteConfig

Async

duckdb

DuckDBConfig

Sync

mysql-connector

MysqlConnectorSyncConfig / MysqlConnectorAsyncConfig

Sync + Async

pymysql

PyMysqlConfig

Sync

asyncmy

AsyncmyConfig

Async

oracledb

OracleSyncConfig / OracleAsyncConfig

Sync + Async

bigquery

BigQueryConfig

Sync

spanner

SpannerSyncConfig

Sync

adbc

AdbcConfig

Sync

Find each config in sqlspec.adapters.<adapter> (for example, from sqlspec.adapters.asyncpg import AsyncpgConfig).

Example Library¶