Protocols¶
from sqlspec.protocols import (
ArrowTableStatsProtocol,
AsyncDataDictionaryProtocol,
AsyncDeleteProtocol,
AsyncReadableProtocol,
AsyncReadBytesProtocol,
AsyncWritableBytesSink,
AsyncWriteBytesProtocol,
CursorMetadataProtocol,
DictProtocol,
DirectStreamWriteProtocol,
HasAddListenerProtocol,
HasAsDictProtocol,
HasConfigProtocol,
HasConnectionConfigProtocol,
HasDatabaseUrlAndBindKeyProtocol,
HasErrnoProtocol,
HasExpressionAndParametersProtocol,
HasExpressionAndSQLProtocol,
HasExpressionProtocol,
HasExtensionConfigProtocol,
HasLastRowIdProtocol,
HasMigrationConfigProtocol,
HasNotifiesProtocol,
HasParameterBuilderProtocol,
HasRowcountProtocol,
HasSQLGlotExpressionProtocol,
HasSqliteErrorProtocol,
HasSqlStateProtocol,
HasStatementConfigProtocol,
HasWhereProtocol,
MappingLikeProtocol,
NotificationProtocol,
ObjectStoreProtocol,
PipelineCapableProtocol,
QueryResultProtocol,
ReadableProtocol,
SQLBuilderProtocol,
StatementProtocol,
SupportsArrowResults,
SupportsCloseProtocol,
SyncDataDictionaryProtocol,
WithMethodProtocol,
WritableBytesSink,
)
from sqlspec.utils.type_guards import supports_direct_stream_write
Runtime-checkable structural Protocol definitions used across SQLSpec for static type checking and isinstance() narrowing.
Statement & Builder Protocols¶
HasSQLGlotExpressionProtocol
¶
HasExpressionAndSQLProtocol
¶
HasExpressionAndParametersProtocol
¶
HasParameterBuilderProtocol
¶
WithMethodProtocol
¶
Driver, Cursor & Result Protocols¶
SupportsArrowResults
¶
Bases: Protocol
Protocol for adapters that support Arrow result format.
Adapters implementing this protocol can return query results in Apache Arrow format via the select_to_arrow() method, enabling zero-copy data transfer and efficient integration with data science tools.
Data Dictionary & Storage Protocols¶
ObjectStoreProtocol
¶
Bases: Protocol
Protocol for object storage operations.
All synchronous methods use the *_sync suffix for consistency with async methods.
DirectStreamWriteProtocol
¶
WritableBytesSink
¶
AsyncWritableBytesSink
¶
supports_direct_stream_write(obj)
¶
Return whether a storage backend instance implements DirectStreamWriteProtocol.
Returns:
| Type | Description |
|---|---|
TypeGuard[DirectStreamWriteProtocol]
|
True if obj is an instance exposing direct synchronous and asynchronous write streams. |
Configuration, Event & Model Structural Protocols¶
HasConnectionConfigProtocol
¶
HasMigrationConfigProtocol
¶
Bases: Protocol
Protocol for database configurations that support migrations.
Used to check if a config object has migration_config attribute.