Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/agents/expert.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ from sqlspec.protocols import SupportsWhere
from sqlspec.utils.type_guards import supports_where

if TYPE_CHECKING:
from sqlspec.core.statement import Statement
from sqlspec.core import Statement

def execute_query(stmt: "Statement", params: dict[str, Any] | None = None) -> list[dict[str, Any]]:
"""Execute SQL query with optional parameters.
Expand Down
2 changes: 1 addition & 1 deletion .claude/agents/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Read("docs/guides/testing/testing.md")
# tests/unit/test_core/test_statement.py

import pytest
from sqlspec.core.statement import Statement
from sqlspec.core import Statement


def test_statement_creation():
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1310,7 +1310,7 @@ SQLSpec implements Apache Arrow support through a dual-path architecture: native
Override `select_to_arrow()` in adapter's driver class:

```python
from sqlspec.core.result import create_arrow_result
from sqlspec.core import create_arrow_result
from sqlspec.utils.module_loader import ensure_pyarrow

class NativeArrowDriver(AsyncDriverAdapterBase):
Expand Down Expand Up @@ -1416,7 +1416,7 @@ UUID → utf8 (converted to string)
Use `create_arrow_result()` for consistent result wrapping:

```python
from sqlspec.core.result import create_arrow_result
from sqlspec.core import create_arrow_result

# Create ArrowResult from Arrow Table
result = create_arrow_result(arrow_table, rows_affected=arrow_table.num_rows)
Expand Down
Binary file modified docs/contributing/creating_adapters.rst
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/examples/adapters/psycopg/connect_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import os

from sqlspec.adapters.psycopg import PsycopgSyncConfig
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("main",)

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/fastapi/aiosqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from docs.examples.shared.configs import aiosqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.aiosqlite import AiosqliteConfig, AiosqliteDriver
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("get_session", "list_articles", "main", "on_startup", "seed_database")

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/fastapi/sqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from docs.examples.shared.configs import sqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.sqlite import SqliteConfig, SqliteDriver
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("get_session", "list_articles", "main", "on_startup", "seed_database")

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/flask/sqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from docs.examples.shared.configs import sqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.sqlite import SqliteConfig
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("list_articles", "main", "seed_database")

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/litestar/aiosqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from docs.examples.shared.configs import aiosqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.aiosqlite import AiosqliteConfig, AiosqliteDriver
from sqlspec.core.statement import SQL
from sqlspec.core import SQL
from sqlspec.extensions.litestar import SQLSpecPlugin

registry = aiosqlite_registry()
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/litestar/duckdb_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from docs.examples.shared.configs import duckdb_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.duckdb import DuckDBConfig, DuckDBDriver
from sqlspec.core.statement import SQL
from sqlspec.core import SQL
from sqlspec.extensions.litestar import SQLSpecPlugin

registry = duckdb_registry()
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/litestar/sqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from docs.examples.shared.configs import sqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.sqlite import SqliteConfig, SqliteDriver
from sqlspec.core.statement import SQL
from sqlspec.core import SQL
from sqlspec.extensions.litestar import SQLSpecPlugin

registry = sqlite_registry()
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/frameworks/starlette/aiosqlite_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from docs.examples.shared.configs import aiosqlite_registry
from docs.examples.shared.data import ARTICLES, CREATE_ARTICLES
from sqlspec.adapters.aiosqlite import AiosqliteConfig
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("list_articles", "main", "seed_database")

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/patterns/multi_tenant/router.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Dispatch requests to dedicated SQLite configs per tenant."""

from sqlspec.adapters.sqlite import SqliteConfig
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("TenantRouter", "main")

Expand Down
2 changes: 1 addition & 1 deletion docs/examples/shared/data.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Shared schema and sample rows for documentation examples."""

from sqlspec.core.statement import SQL
from sqlspec.core import SQL

__all__ = ("ARTICLES", "CREATE_ARTICLES")

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/adapters/parameter-profile-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Refer to [AGENTS.md](../../AGENTS.md) for the full checklist when touching the r
```python
import sqlspec.adapters.duckdb # Triggers profile registration

from sqlspec.core.parameters import get_driver_profile, build_statement_config_from_profile
from sqlspec.core import get_driver_profile, build_statement_config_from_profile

profile = get_driver_profile("duckdb")
config = build_statement_config_from_profile(profile)
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/architecture/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ The current parameter processing system uses `ParameterStyleConfig` integrated w

```python
# Current parameter configuration
from sqlspec.core.parameters import ParameterStyle, ParameterStyleConfig
from sqlspec.core import ParameterStyle, ParameterStyleConfig

parameter_config = ParameterStyleConfig(
default_parameter_style=ParameterStyle.QMARK,
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/architecture/data-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,8 +361,8 @@ To add support for a new database using the enhanced architecture:

```python
from sqlspec.driver import SyncDriverAdapterBase # or AsyncDriverAdapterBase
from sqlspec.core.parameters import ParameterStyle, ParameterStyleConfig
from sqlspec.core.statement import StatementConfig
from sqlspec.core import ParameterStyle, ParameterStyleConfig
from sqlspec.core import StatementConfig

class MyDatabaseDriver(SyncDriverAdapterBase):
dialect = "mydatabase"
Expand Down
6 changes: 3 additions & 3 deletions docs/guides/performance/mypyc.md
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ class SQLiteDriver(SyncStorageMixin["sqlite3.Connection", "sqlite3.Row"]):

```python
# ✅ DO: Use TypedParameter for type preservation
from sqlspec.core.parameters.types import TypedParameter
from sqlspec.core import TypedParameter

class TypedParameter:
__slots__ = ("name", "value", "type")
Expand Down Expand Up @@ -850,11 +850,11 @@ def safe_operation(items: list[Any]) -> None:

```python
# ✅ DO: Import from compiled modules
from sqlspec.core.result import SQLResult # Compiled module
from sqlspec.core import SQLResult # Compiled module

# ❌ DON'T: Use circular imports or dynamic imports
def get_result_class():
from sqlspec.core.result import SQLResult # Late import
from sqlspec.core import SQLResult # Late import
return SQLResult
```

Expand Down
22 changes: 11 additions & 11 deletions docs/guides/quick-reference/quick-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ orphan: true

```python
from typing import Union, Optional
from sqlspec.core.filters import StatementFilter
from sqlspec.core.statement import SQL, Statement, StatementConfig
from sqlspec.core import StatementFilter
from sqlspec.core import SQL, Statement, StatementConfig
from sqlspec.builder import QueryBuilder
from sqlspec.typing import StatementParameters, ModelDTOT

Expand Down Expand Up @@ -155,9 +155,9 @@ class SQLTransformContext:
```python
from typing import Optional, Any
from sqlspec.driver import SyncDriverAdapterBase
from sqlspec.core.parameters import ParameterStyle, ParameterStyleConfig
from sqlspec.core.statement import SQL, StatementConfig
from sqlspec.core.result import SQLResult
from sqlspec.core import ParameterStyle, ParameterStyleConfig
from sqlspec.core import SQL, StatementConfig
from sqlspec.core import SQLResult

class MyDriver(SyncDriverAdapterBase):
"""Example driver implementation."""
Expand Down Expand Up @@ -412,7 +412,7 @@ from sqlspec.typing import (
Statement = Union[str, exp.Expression, SQL]

# Filter types
from sqlspec.core.statement.filters import StatementFilter
from sqlspec.core import StatementFilter
```

### StatementFilter Protocol
Expand All @@ -434,7 +434,7 @@ class StatementFilter(ABC):
### Common Filters

```python
from sqlspec.core.statement.filters import (
from sqlspec.core import (
LimitOffsetFilter, # .limit(10).offset(20)
OrderByFilter, # .order_by("name", "created_at DESC")
InCollectionFilter, # WHERE col IN (...)
Expand Down Expand Up @@ -534,8 +534,8 @@ def _get_row_count(self, cursor: Any) -> int:
**StatementConfig with ParameterStyleConfig:**

```python
from sqlspec.core.parameters import ParameterStyle, ParameterStyleConfig
from sqlspec.core.statement import StatementConfig
from sqlspec.core import ParameterStyle, ParameterStyleConfig
from sqlspec.core import StatementConfig

# Create parameter configuration
parameter_config = ParameterStyleConfig(
Expand Down Expand Up @@ -569,8 +569,8 @@ statement_config = StatementConfig(

```python
from sqlspec.driver import SyncDriverAdapterBase
from sqlspec.core.parameters import ParameterStyle, ParameterStyleConfig
from sqlspec.core.statement import StatementConfig
from sqlspec.core import ParameterStyle, ParameterStyleConfig
from sqlspec.core import StatementConfig

class SqliteDriver(SyncDriverAdapterBase):
"""Reference implementation for SQLite."""
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/builder.rst
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,7 @@ The builder integrates with SQLSpec's filter system:

.. code-block:: python

from sqlspec.core.filters import LimitOffsetFilter, SearchFilter, OrderByFilter
from sqlspec.core import LimitOffsetFilter, SearchFilter, OrderByFilter

# Base query
query = sql.select("*").from_("users")
Expand All @@ -543,7 +543,7 @@ Convert builder to executable SQL:

.. code-block:: python

from sqlspec.core.statement import SQL
from sqlspec.core import SQL

# Build query
query = sql.select("*").from_("users").limit(10)
Expand Down
26 changes: 13 additions & 13 deletions docs/reference/core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ SQL Statement

.. code-block:: python

from sqlspec.core.statement import SQL
from sqlspec.core import SQL

# Simple SQL
stmt = SQL("SELECT * FROM users")
Expand Down Expand Up @@ -213,8 +213,8 @@ SQL Compilation

.. code-block:: python

from sqlspec.core.statement import StatementConfig
from sqlspec.core.compiler import SQLProcessor
from sqlspec.core import StatementConfig
from sqlspec.core import SQLProcessor

config = StatementConfig(dialect="postgres")
processor = SQLProcessor(config)
Expand Down Expand Up @@ -307,7 +307,7 @@ Built-in Filters

.. code-block:: python

from sqlspec.core.filters import LimitOffsetFilter
from sqlspec.core import LimitOffsetFilter

filter = LimitOffsetFilter(limit=10, offset=20)
filtered_sql = filter.append_to_statement(base_sql)
Expand All @@ -322,7 +322,7 @@ Built-in Filters

.. code-block:: python

from sqlspec.core.filters import OrderByFilter
from sqlspec.core import OrderByFilter

filter = OrderByFilter(field_name="created_at", sort_order="desc")
filtered_sql = filter.append_to_statement(base_sql)
Expand All @@ -337,7 +337,7 @@ Built-in Filters

.. code-block:: python

from sqlspec.core.filters import SearchFilter
from sqlspec.core import SearchFilter

filter = SearchFilter(field_name="name", value="John", operator="ILIKE")
filtered_sql = filter.append_to_statement(base_sql)
Expand All @@ -350,12 +350,12 @@ Filters can be composed and chained:

.. code-block:: python

from sqlspec.core.filters import (
from sqlspec.core import (
LimitOffsetFilter,
OrderByFilter,
SearchFilter
)
from sqlspec.core.statement import SQL
from sqlspec.core import SQL

base_sql = SQL("SELECT * FROM users")

Expand Down Expand Up @@ -393,9 +393,9 @@ Statement Analysis

.. code-block:: python

from sqlspec.core.compiler import SQLCompiler
from sqlspec.core import SQLProcessor

compiler = SQLCompiler(dialect="postgres")
compiler = SQLProcessor(dialect="postgres")

analysis = compiler.analyze("""
SELECT u.name, COUNT(o.id) as order_count
Expand All @@ -421,10 +421,10 @@ Create custom filters for specific needs:

.. code-block:: python

from sqlspec.core.filters import SQLFilter
from sqlspec.core.statement import SQL
from sqlspec.core import StatementFilter
from sqlspec.core import SQL

class TenantFilter(SQLFilter):
class TenantFilter(StatementFilter):
def __init__(self, tenant_id: int):
self.tenant_id = tenant_id

Expand Down
Loading