Quickstart#

Use the SQLSpec plugin to register configs and inject sessions into handlers.

litestar quickstart#
from litestar import Litestar, get

from sqlspec import SQLSpec
from sqlspec.adapters.sqlite import SqliteConfig, SqliteDriver
from sqlspec.extensions.litestar import SQLSpecPlugin

sqlspec = SQLSpec()
sqlspec.add_config(
    SqliteConfig(
        connection_config={"database": ":memory:"}, extension_config={"litestar": {"session_key": "db_session"}}
    )
)

@get("/health")
def health_check(db_session: SqliteDriver) -> dict[str, str]:
    result = db_session.execute("SELECT 'ok' as status")
    return result.one()

app = Litestar(route_handlers=[health_check], plugins=[SQLSpecPlugin(sqlspec=sqlspec)])