advanced-alchemy
Auto-activate for advanced_alchemy imports, alembic/, SQLAlchemyAsyncRepositoryService, SQLAlchemyAsyncConfig, repository_type, service_class, filters, or…
Auto-activate for sqlspec, SQLSpec, SQLFileLoader, drivers, query builders, named SQL, filters, pagination, Arrow, framework extensions, ADK stores, data dictionary, or observers. Not for ORM repositories -- use advanced-alchemy.
$ npx -y skills add litestar-org/litestar-skills --skill sqlspec --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sqlspecContext preview
The summary Claude sees to decide when to auto-load this skill.
Auto-activate for sqlspec, SQLSpec, SQLFileLoader, drivers, query builders, named SQL, filters, pagination, Arrow, framework extensions, ADK stores, data dictionary, or observers. Not for ORM repositories -- use advanced-alchemy.
name: sqlspec description: "Auto-activate for sqlspec, SQLSpec, SQLFileLoader, drivers, query builders, named SQL, filters, pagination, Arrow, framework extensions, ADK stores, data dictionary, or observers. Not for ORM repositories -- use advanced-alchemy."
SQLSpec is a **type-safe SQL query mapper for Python** -- NOT an ORM. It provides flexible connectivity with consistent interfaces across 19 database adapter packages. Write raw SQL, use the builder API, or load SQL from files. Statements pass through a sqlglot-powered AST pipeline for validation, parameter handling, and dialect conversion.
sqlspec ships first-party extensions for five web frameworks. If your project uses one of these, **jump directly to the matching integration guide and skip the others**:
Shared topics that apply to every framework live in [`references/commit-modes.md`](references/commit-modes.md) (autocommit / manual middleware) and [`references/multi-database.md`](references/multi-database.md) (multi-config registry). Read the framework guide first, then those for depth.
The rest of this SKILL.md covers framework-agnostic topics: adapter setup, query builder, driver methods, filters, observability, migrations, the ADK extension, and data-dictionary introspection.
from sqlspec import SQLSpec
from sqlspec.adapters.asyncpg import AsyncpgConfig
config = AsyncpgConfig(
connection_config={
"dsn": "postgresql://user:pass@localhost:5432/mydb",
"min_size": 2,
"max_size": 10,
},
)
db_manager = SQLSpec()
db_manager.add_config(config)
async with db_manager.provide_session(config) as db:
users = await db.select(
"SELECT * FROM users WHERE active = $1",
True,
schema_type=User,
)from sqlspec import sql
stmt = (
sql.select("id", "name", "email")
.from_("users")
.where_eq("status", "active")
.where("created_at > :since", since=cutoff_date)
.order_by("created_at", desc=True)
.limit(50)
.to_statement()
)
insert_stmt = (
sql.insert("users").columns("name", "email").values(name="Alice", email="alice@example.com").to_statement()
)
merge_stmt = (
sql.merge("inventory", dialect="postgres")
.using("updates")
.on("inventory.product_id = updates.product_id")
.when_matched_then_update(qty="updates.qty")
.when_not_matched_then_insert(product_id="updates.product_id", qty="updates.qty")
.to_statement()
)| Method | Returns | Use Case | | --- | --- | --- | | `select()` / `fetch()` | List of rows | Filtered queries, listing | | `select_value()` | Single scalar | `COUNT(*)`, `MAX()`, existence checks | | `select_value_or_none()` | Scalar or `None` | Optional scalar lookup | | `select_one()` | One row (strict) | Get-by-ID, raises `NotFoundError` | | `select_one_or_none()` | One row or `None` | Optional lookup | | `select_with_total()` | Rows plus total | Pagination | | `select_stream()` / `fetch_stream()` | Context-managed row stream | Bounded row iteration where adapter supports native streaming | | `select_to_arrow()` / `fetch_to_arrow()` | `ArrowResult` | Bulk data export, analytics | | `execute()` | `SQLResult` | INSERT/UPDATE/DELETE metadata | | `execute_many()` | `SQLResult` | Batch operation metadata | | `execute_script()` | `SQLResult` | Multi-statement SQL script execution | | `execute_stack()` | `tuple[StackResult, ...]` | Ordered statement-stack execution | | `load_from_arrow()` | `StorageBridgeJob` | Adapter-supported Arrow ingest | | `load_from_storage()` | `StorageBridgeJob` | Adapter-supported staged-file ingest | | `load_from_records()` | `StorageBridgeJob` | Records normalized through the Arrow ingest path |
arrow_result = await db.select_to_arrow(
"SELECT * FROM large_dataset WHERE region = $1",
region,
return_format="reader",
batch_size=10_000,
)
await db.load_from_arrow("users", arrow_result)
await db.load_from_records("users", [{"id": 1, "name": "Ada"}])<workflow>
| Need | Adapter | Key Feature | | --- | --- | --- | | PostgreSQL async | `asyncpg`, `psycopg` | Async, NUMERIC/PYFORMAT params | | PostgreSQL sync | `psycopg` | Sync+async, PYFORMAT params | | SQLite | `sqlite`, `aiosqlite` | QMARK params, local dev | | DuckDB analytics | `duckdb` | Arrow-native OLAP, extension load/install lifecycle | | MySQL async | `asyncmy` | PYFORMAT params | | Oracle | `oracledb` | NAMED_COLON params, sync+async | | BigQuery / Spanner | `bigquery`, `spanner` | NAMED_AT p
Opinionated, first-party agent skills, plugins, subagents, slash commands, and MCP servers for the Litestar framework and its ecosystem — publishable to every major AI agent and IDE from a single repo.
Repo: litestar-org/litestar-skills
Auto-activate for advanced_alchemy imports, alembic/, SQLAlchemyAsyncRepositoryService, SQLAlchemyAsyncConfig, repository_type, service_class, filters, or…
Auto-activate for Google ADK, LlmAgent, Runner, SQLSpecSessionService, Vertex AI, SSE agent chats, tool calls, or Litestar model workflows. Not for offline ML…
Auto-activate for guards=, Guard, ASGIConnection, JWTAuth, JWTCookieAuth, SessionAuth, role or tenant checks, or WebSocket auth. Not for frontend route…
Auto-activate for litestar_autowire, AutowirePlugin, AutowireConfig, domain_packages, AutowireIntegration, AutowireLoader, or clear_autowire_cache. Not for…
Auto-activate for uv build, hatch build, PyApp, PYAPP_*, wheel assets, GitHub release matrices, cargo-zigbuild, or python-build-standalone. Not for runtime…
Auto-activate for SQLAlchemyAsyncRepositoryService, SQLSpecAsyncService, create_filter_dependencies, LimitOffsetFilter, OffsetPagination, filters, or CRUD…