API Reference¶
Complete API reference for the aiosql integration.
SQLFileLoader¶
- class sqlspec.loader.SQLFileLoader[source]¶
Bases:
objectLoads and parses SQL files with aiosql-style named queries.
Loads SQL files containing named queries (using – name: syntax) and retrieves them by name.
- __init__(*, encoding='utf-8', storage_registry=None, runtime=None)[source]¶
Initialize the SQL file loader.
- encoding¶
- storage_registry¶
- set_observability_runtime(runtime)[source]¶
Attach an observability runtime used for instrumentation.
- Return type:
- add_named_sql(name, sql, dialect=None)[source]¶
Add a named SQL query directly without loading from a file.
For complete SQLFileLoader documentation, see Base.
aiosql Adapters¶
AiosqlAsyncAdapter¶
- class sqlspec.extensions.aiosql.AiosqlAsyncAdapter[source]¶
Bases:
_AiosqlAdapterBase[AsyncDriverAdapterBase],AsyncDriverAdapterProtocolAsynchronous adapter that implements aiosql protocol using SQLSpec drivers.
This adapter bridges aiosql’s async driver protocol with SQLSpec’s async drivers, enabling queries loaded by aiosql to be executed with SQLSpec async drivers.
- __init__(driver)[source]¶
Initialize the async adapter.
- Parameters:
driver¶ (
AsyncDriverAdapterBase) – SQLSpec async driver to use for execution
- async select(conn, query_name, sql, parameters, record_class=None)[source]¶
Execute a SELECT query and return results as list.
- Parameters:
- Return type:
- Returns:
List of query result rows
Note
The record_class parameter is ignored for compatibility. Use schema_type in driver.execute or _sqlspec_schema_type in parameters for type mapping.
- async select_one(conn, query_name, sql, parameters, record_class=None)[source]¶
Execute a SELECT query and return first result.
- Parameters:
- Return type:
- Returns:
First result row or None
Note
The record_class parameter is ignored for compatibility. Use schema_type in driver.execute or _sqlspec_schema_type in parameters for type mapping.
- async select_value(conn, query_name, sql, parameters)[source]¶
Execute a SELECT query and return first value of first row.
- async select_cursor(conn, query_name, sql, parameters)[source]¶
Execute a SELECT query and return cursor context manager.
- async insert_update_delete(conn, query_name, sql, parameters)[source]¶
Execute INSERT/UPDATE/DELETE.
- Parameters:
- Return type:
Note
Returns None per aiosql async protocol
- async insert_update_delete_many(conn, query_name, sql, parameters)[source]¶
Execute INSERT/UPDATE/DELETE with many parameter sets.
- Parameters:
- Return type:
Note
Returns None per aiosql async protocol
AiosqlSyncAdapter¶
- class sqlspec.extensions.aiosql.AiosqlSyncAdapter[source]¶
Bases:
_AiosqlAdapterBase[SyncDriverAdapterBase],SyncDriverAdapterProtocolSynchronous adapter that implements aiosql protocol using SQLSpec drivers.
This adapter bridges aiosql’s synchronous driver protocol with SQLSpec’s sync drivers, enabling queries loaded by aiosql to be executed with SQLSpec drivers.
- __init__(driver)[source]¶
Initialize the sync adapter.
- Parameters:
driver¶ (
SyncDriverAdapterBase) – SQLSpec sync driver to use for execution
- select(conn, query_name, sql, parameters, record_class=None)[source]¶
Execute a SELECT query and return results as generator.
- Parameters:
- Yields:
Query result rows
- Return type:
Note
The record_class parameter is ignored for compatibility. Use schema_type in driver.execute or _sqlspec_schema_type in parameters for type mapping.
- select_one(conn, query_name, sql, parameters, record_class=None)[source]¶
Execute a SELECT query and return first result.
- Parameters:
- Return type:
- Returns:
First result row or None
Note
The record_class parameter is ignored for compatibility. Use schema_type in driver.execute or _sqlspec_schema_type in parameters for type mapping.
- select_value(conn, query_name, sql, parameters)[source]¶
Execute a SELECT query and return first value of first row.
- select_cursor(conn, query_name, sql, parameters)[source]¶
Execute a SELECT query and return cursor context manager.
- insert_update_delete(conn, query_name, sql, parameters)[source]¶
Execute INSERT/UPDATE/DELETE and return affected rows.
- insert_update_delete_many(conn, query_name, sql, parameters)[source]¶
Execute INSERT/UPDATE/DELETE with many parameter sets.
Query Operators¶
The aiosql adapter supports all aiosql query operators:
Operator |
Meaning |
Returns |
|---|---|---|
(none) |
Select many |
List of rows |
|
Select one |
Single row or None |
|
Select value |
Single value or None |
|
Insert/Update/Delete |
Rows affected (sync) / None (async) |
|
Insert/Update/Delete many |
Rows affected (sync) / None (async) |
|
Script |
None |
Usage Examples¶
SQLFileLoader Example¶
Direct usage of SQLFileLoader (for advanced use cases):
from sqlspec.loader import SQLFileLoader
# Create and load
loader = SQLFileLoader()
loader.load_sql("queries/")
# Get query
query = loader.get_sql("get_user")
# Execute with parameters
result = await session.execute(query, user_id=1)
user = result.one()
Recommended usage via SQLSpec:
from sqlspec import SQLSpec
spec = SQLSpec()
spec.load_sql_files("queries/")
# Get query
query = spec.get_sql("get_user")
# Execute with parameters
async with spec.provide_session(config) as session:
result = await session.execute(query, user_id=1)
user = result.one()
aiosql Adapter Example (Async)¶
import aiosql
from sqlspec.extensions.aiosql import AiosqlAsyncAdapter
# Create adapter
adapter = AiosqlAsyncAdapter(driver)
# Load queries
queries = aiosql.from_path("queries.sql", adapter)
# Execute
user = await queries.get_user(conn, user_id=1)
aiosql Adapter Example (Sync)¶
import aiosql
from sqlspec.extensions.aiosql import AiosqlSyncAdapter
# Create adapter
adapter = AiosqlSyncAdapter(driver)
# Load queries
queries = aiosql.from_path("queries.sql", adapter)
# Execute
user = queries.get_user(conn, user_id=1)
Type Aliases¶
Common imports:
# SQLFileLoader
# aiosql adapters
# For type hints
See Also¶
Quick Start - Get started guide
Usage - Advanced usage
Compatibility Guide - Migration from aiosql
SQL File Loader - Complete SQL file guide
Base - Complete API reference