Flask Extension¶
from sqlspec.extensions.flask import FlaskConfigState, SQLSpecAsyncService, SQLSpecPlugin, SQLSpecSyncService
Flask WSGI extension managing flask.g request-scoped sessions, automatic commit/rollback teardown hooks, and background event-loop portal bridging for async adapters. See the Flask Integration Guide for usage examples.
Plugin & Configuration State¶
SQLSpecPlugin
¶
Flask extension for SQLSpec database integration.
Provides request-scoped session management, automatic transaction handling, and async adapter support via portal pattern.
init_app
¶
Initialize Flask application with SQLSpec.
Validates configuration, creates portal if needed, creates pools, and registers hooks.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
app
|
Flask
|
Flask application to initialize. |
required |
Raises:
| Type | Description |
|---|---|
ImproperConfigurationError
|
If extension already registered or keys not unique. |
get_session
¶
Get or create database session for current request.
Sessions are cached per request for consistency.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str | None
|
Session key for multi-database configs. Defaults to first config if None. |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Database session (driver instance). |
get_connection
¶
Get database connection for current request.
Note
Imports flask components dynamically at runtime to avoid hard dependency.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str | None
|
Session key for multi-database configs. Defaults to first config if None. |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Raw database connection. |
FlaskConfigState
¶
Internal state for each database configuration in Flask extension.
Holds configuration, state keys, commit settings, and transaction logic.
should_commit
¶
should_rollback
¶
Determine if HTTP status code should trigger rollback.
In autocommit modes, anything that doesn't commit should rollback.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
status_code
|
int
|
HTTP response status code. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if status should trigger rollback, False otherwise. |