sqlspec 0.12.1__py3-none-any.whl → 0.13.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sqlspec might be problematic. Click here for more details.
- sqlspec/_sql.py +21 -180
- sqlspec/adapters/adbc/config.py +10 -12
- sqlspec/adapters/adbc/driver.py +120 -118
- sqlspec/adapters/aiosqlite/config.py +3 -3
- sqlspec/adapters/aiosqlite/driver.py +116 -141
- sqlspec/adapters/asyncmy/config.py +3 -4
- sqlspec/adapters/asyncmy/driver.py +123 -135
- sqlspec/adapters/asyncpg/config.py +3 -7
- sqlspec/adapters/asyncpg/driver.py +98 -140
- sqlspec/adapters/bigquery/config.py +4 -5
- sqlspec/adapters/bigquery/driver.py +231 -181
- sqlspec/adapters/duckdb/config.py +3 -6
- sqlspec/adapters/duckdb/driver.py +132 -124
- sqlspec/adapters/oracledb/config.py +6 -5
- sqlspec/adapters/oracledb/driver.py +242 -259
- sqlspec/adapters/psqlpy/config.py +3 -7
- sqlspec/adapters/psqlpy/driver.py +118 -93
- sqlspec/adapters/psycopg/config.py +34 -30
- sqlspec/adapters/psycopg/driver.py +342 -214
- sqlspec/adapters/sqlite/config.py +3 -3
- sqlspec/adapters/sqlite/driver.py +150 -104
- sqlspec/config.py +0 -4
- sqlspec/driver/_async.py +89 -98
- sqlspec/driver/_common.py +52 -17
- sqlspec/driver/_sync.py +81 -105
- sqlspec/driver/connection.py +207 -0
- sqlspec/driver/mixins/_csv_writer.py +91 -0
- sqlspec/driver/mixins/_pipeline.py +38 -49
- sqlspec/driver/mixins/_result_utils.py +27 -9
- sqlspec/driver/mixins/_storage.py +149 -216
- sqlspec/driver/mixins/_type_coercion.py +3 -4
- sqlspec/driver/parameters.py +138 -0
- sqlspec/exceptions.py +10 -2
- sqlspec/extensions/aiosql/adapter.py +0 -10
- sqlspec/extensions/litestar/handlers.py +0 -1
- sqlspec/extensions/litestar/plugin.py +0 -3
- sqlspec/extensions/litestar/providers.py +0 -14
- sqlspec/loader.py +31 -118
- sqlspec/protocols.py +542 -0
- sqlspec/service/__init__.py +3 -2
- sqlspec/service/_util.py +147 -0
- sqlspec/service/base.py +1116 -9
- sqlspec/statement/builder/__init__.py +42 -32
- sqlspec/statement/builder/_ddl_utils.py +0 -10
- sqlspec/statement/builder/_parsing_utils.py +10 -4
- sqlspec/statement/builder/base.py +70 -23
- sqlspec/statement/builder/column.py +283 -0
- sqlspec/statement/builder/ddl.py +102 -65
- sqlspec/statement/builder/delete.py +23 -7
- sqlspec/statement/builder/insert.py +29 -15
- sqlspec/statement/builder/merge.py +4 -4
- sqlspec/statement/builder/mixins/_aggregate_functions.py +113 -14
- sqlspec/statement/builder/mixins/_common_table_expr.py +0 -1
- sqlspec/statement/builder/mixins/_delete_from.py +1 -1
- sqlspec/statement/builder/mixins/_from.py +10 -8
- sqlspec/statement/builder/mixins/_group_by.py +0 -1
- sqlspec/statement/builder/mixins/_insert_from_select.py +0 -1
- sqlspec/statement/builder/mixins/_insert_values.py +0 -2
- sqlspec/statement/builder/mixins/_join.py +20 -13
- sqlspec/statement/builder/mixins/_limit_offset.py +3 -3
- sqlspec/statement/builder/mixins/_merge_clauses.py +3 -4
- sqlspec/statement/builder/mixins/_order_by.py +2 -2
- sqlspec/statement/builder/mixins/_pivot.py +4 -7
- sqlspec/statement/builder/mixins/_select_columns.py +6 -5
- sqlspec/statement/builder/mixins/_unpivot.py +6 -9
- sqlspec/statement/builder/mixins/_update_from.py +2 -1
- sqlspec/statement/builder/mixins/_update_set.py +11 -8
- sqlspec/statement/builder/mixins/_where.py +61 -34
- sqlspec/statement/builder/select.py +32 -17
- sqlspec/statement/builder/update.py +25 -11
- sqlspec/statement/filters.py +39 -14
- sqlspec/statement/parameter_manager.py +220 -0
- sqlspec/statement/parameters.py +210 -79
- sqlspec/statement/pipelines/__init__.py +166 -23
- sqlspec/statement/pipelines/analyzers/_analyzer.py +22 -25
- sqlspec/statement/pipelines/context.py +35 -39
- sqlspec/statement/pipelines/transformers/__init__.py +2 -3
- sqlspec/statement/pipelines/transformers/_expression_simplifier.py +19 -187
- sqlspec/statement/pipelines/transformers/_literal_parameterizer.py +667 -43
- sqlspec/statement/pipelines/transformers/_remove_comments_and_hints.py +76 -0
- sqlspec/statement/pipelines/validators/_dml_safety.py +33 -18
- sqlspec/statement/pipelines/validators/_parameter_style.py +87 -14
- sqlspec/statement/pipelines/validators/_performance.py +38 -23
- sqlspec/statement/pipelines/validators/_security.py +39 -62
- sqlspec/statement/result.py +37 -129
- sqlspec/statement/splitter.py +0 -12
- sqlspec/statement/sql.py +885 -379
- sqlspec/statement/sql_compiler.py +140 -0
- sqlspec/storage/__init__.py +10 -2
- sqlspec/storage/backends/fsspec.py +82 -35
- sqlspec/storage/backends/obstore.py +66 -49
- sqlspec/storage/capabilities.py +101 -0
- sqlspec/storage/registry.py +56 -83
- sqlspec/typing.py +6 -434
- sqlspec/utils/cached_property.py +25 -0
- sqlspec/utils/correlation.py +0 -2
- sqlspec/utils/logging.py +0 -6
- sqlspec/utils/sync_tools.py +0 -4
- sqlspec/utils/text.py +0 -5
- sqlspec/utils/type_guards.py +892 -0
- {sqlspec-0.12.1.dist-info → sqlspec-0.13.0.dist-info}/METADATA +1 -1
- sqlspec-0.13.0.dist-info/RECORD +150 -0
- sqlspec/statement/builder/protocols.py +0 -20
- sqlspec/statement/pipelines/base.py +0 -315
- sqlspec/statement/pipelines/result_types.py +0 -41
- sqlspec/statement/pipelines/transformers/_remove_comments.py +0 -66
- sqlspec/statement/pipelines/transformers/_remove_hints.py +0 -81
- sqlspec/statement/pipelines/validators/base.py +0 -67
- sqlspec/storage/protocol.py +0 -170
- sqlspec-0.12.1.dist-info/RECORD +0 -145
- {sqlspec-0.12.1.dist-info → sqlspec-0.13.0.dist-info}/WHEEL +0 -0
- {sqlspec-0.12.1.dist-info → sqlspec-0.13.0.dist-info}/licenses/LICENSE +0 -0
- {sqlspec-0.12.1.dist-info → sqlspec-0.13.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"""Removes SQL hints from expressions."""
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING, Optional
|
|
4
|
-
|
|
5
|
-
from sqlglot import exp
|
|
6
|
-
|
|
7
|
-
from sqlspec.statement.pipelines.base import ProcessorProtocol
|
|
8
|
-
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from sqlspec.statement.pipelines.context import SQLProcessingContext
|
|
11
|
-
|
|
12
|
-
__all__ = ("HintRemover",)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class HintRemover(ProcessorProtocol):
|
|
16
|
-
"""Removes SQL hints from expressions using SQLGlot's AST traversal.
|
|
17
|
-
|
|
18
|
-
This transformer removes SQL hints while preserving standard comments:
|
|
19
|
-
- Removes Oracle-style hints (/*+ hint */)
|
|
20
|
-
- Removes MySQL version comments (/*!50000 */)
|
|
21
|
-
- Removes formal hint expressions (exp.Hint nodes)
|
|
22
|
-
- Preserves standard comments (-- comment, /* comment */)
|
|
23
|
-
- Uses SQLGlot's AST for reliable, context-aware hint detection
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
enabled: Whether hint removal is enabled.
|
|
27
|
-
remove_oracle_hints: Whether to remove Oracle-style hints (/*+ hint */).
|
|
28
|
-
remove_mysql_version_comments: Whether to remove MySQL /*!50000 */ style comments.
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
def __init__(
|
|
32
|
-
self, enabled: bool = True, remove_oracle_hints: bool = True, remove_mysql_version_comments: bool = True
|
|
33
|
-
) -> None:
|
|
34
|
-
self.enabled = enabled
|
|
35
|
-
self.remove_oracle_hints = remove_oracle_hints
|
|
36
|
-
self.remove_mysql_version_comments = remove_mysql_version_comments
|
|
37
|
-
|
|
38
|
-
def process(
|
|
39
|
-
self, expression: "Optional[exp.Expression]", context: "SQLProcessingContext"
|
|
40
|
-
) -> "Optional[exp.Expression]":
|
|
41
|
-
"""Removes SQL hints from the expression using SQLGlot AST traversal."""
|
|
42
|
-
if not self.enabled or expression is None or context.current_expression is None:
|
|
43
|
-
return expression
|
|
44
|
-
|
|
45
|
-
hints_removed_count = 0
|
|
46
|
-
|
|
47
|
-
def _remove_hint_node(node: exp.Expression) -> "Optional[exp.Expression]":
|
|
48
|
-
nonlocal hints_removed_count
|
|
49
|
-
if isinstance(node, exp.Hint):
|
|
50
|
-
hints_removed_count += 1
|
|
51
|
-
return None
|
|
52
|
-
|
|
53
|
-
if hasattr(node, "comments") and node.comments:
|
|
54
|
-
original_comment_count = len(node.comments)
|
|
55
|
-
comments_to_keep = []
|
|
56
|
-
for comment in node.comments:
|
|
57
|
-
comment_text = str(comment).strip()
|
|
58
|
-
hint_keywords = ["INDEX", "USE_NL", "USE_HASH", "PARALLEL", "FULL", "FIRST_ROWS", "ALL_ROWS"]
|
|
59
|
-
is_oracle_hint = any(keyword in comment_text.upper() for keyword in hint_keywords)
|
|
60
|
-
|
|
61
|
-
if is_oracle_hint:
|
|
62
|
-
if self.remove_oracle_hints:
|
|
63
|
-
continue
|
|
64
|
-
elif comment_text.startswith("!") and self.remove_mysql_version_comments:
|
|
65
|
-
continue
|
|
66
|
-
|
|
67
|
-
comments_to_keep.append(comment)
|
|
68
|
-
|
|
69
|
-
if len(comments_to_keep) < original_comment_count:
|
|
70
|
-
hints_removed_count += original_comment_count - len(comments_to_keep)
|
|
71
|
-
node.pop_comments()
|
|
72
|
-
if comments_to_keep:
|
|
73
|
-
node.add_comments(comments_to_keep)
|
|
74
|
-
return node
|
|
75
|
-
|
|
76
|
-
transformed_expression = context.current_expression.transform(_remove_hint_node, copy=True)
|
|
77
|
-
context.current_expression = transformed_expression or exp.Anonymous(this="")
|
|
78
|
-
|
|
79
|
-
context.metadata["hints_removed"] = hints_removed_count
|
|
80
|
-
|
|
81
|
-
return context.current_expression
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Base class for validators
|
|
2
|
-
from abc import ABC, abstractmethod
|
|
3
|
-
from typing import TYPE_CHECKING, Optional
|
|
4
|
-
|
|
5
|
-
from sqlspec.exceptions import RiskLevel
|
|
6
|
-
from sqlspec.statement.pipelines.base import ProcessorProtocol
|
|
7
|
-
from sqlspec.statement.pipelines.result_types import ValidationError
|
|
8
|
-
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from sqlglot import exp
|
|
11
|
-
|
|
12
|
-
from sqlspec.statement.pipelines.context import SQLProcessingContext
|
|
13
|
-
|
|
14
|
-
__all__ = ("BaseValidator",)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class BaseValidator(ProcessorProtocol, ABC):
|
|
18
|
-
"""Base class for all validators."""
|
|
19
|
-
|
|
20
|
-
def process(
|
|
21
|
-
self, expression: "Optional[exp.Expression]", context: "SQLProcessingContext"
|
|
22
|
-
) -> "Optional[exp.Expression]":
|
|
23
|
-
"""Process the SQL expression through this validator.
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
expression: The SQL expression to validate.
|
|
27
|
-
context: The SQL processing context.
|
|
28
|
-
|
|
29
|
-
Returns:
|
|
30
|
-
The expression unchanged (validators don't transform).
|
|
31
|
-
"""
|
|
32
|
-
if expression is None:
|
|
33
|
-
return None
|
|
34
|
-
self.validate(expression, context)
|
|
35
|
-
return expression
|
|
36
|
-
|
|
37
|
-
@abstractmethod
|
|
38
|
-
def validate(self, expression: "exp.Expression", context: "SQLProcessingContext") -> None:
|
|
39
|
-
"""Validate the expression and add any errors to the context.
|
|
40
|
-
|
|
41
|
-
Args:
|
|
42
|
-
expression: The SQL expression to validate.
|
|
43
|
-
context: The SQL processing context.
|
|
44
|
-
"""
|
|
45
|
-
raise NotImplementedError
|
|
46
|
-
|
|
47
|
-
def add_error(
|
|
48
|
-
self,
|
|
49
|
-
context: "SQLProcessingContext",
|
|
50
|
-
message: str,
|
|
51
|
-
code: str,
|
|
52
|
-
risk_level: RiskLevel,
|
|
53
|
-
expression: "exp.Expression | None" = None,
|
|
54
|
-
) -> None:
|
|
55
|
-
"""Helper to add a validation error to the context.
|
|
56
|
-
|
|
57
|
-
Args:
|
|
58
|
-
context: The SQL processing context.
|
|
59
|
-
message: The error message.
|
|
60
|
-
code: The error code.
|
|
61
|
-
risk_level: The risk level.
|
|
62
|
-
expression: The specific expression with the error (optional).
|
|
63
|
-
"""
|
|
64
|
-
error = ValidationError(
|
|
65
|
-
message=message, code=code, risk_level=risk_level, processor=self.__class__.__name__, expression=expression
|
|
66
|
-
)
|
|
67
|
-
context.validation_errors.append(error)
|
sqlspec/storage/protocol.py
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable
|
|
2
|
-
|
|
3
|
-
if TYPE_CHECKING:
|
|
4
|
-
from collections.abc import AsyncIterator, Iterator
|
|
5
|
-
|
|
6
|
-
from sqlspec.typing import ArrowRecordBatch, ArrowTable
|
|
7
|
-
|
|
8
|
-
__all__ = ("ObjectStoreProtocol",)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@runtime_checkable
|
|
12
|
-
class ObjectStoreProtocol(Protocol):
|
|
13
|
-
"""Unified protocol for object storage operations.
|
|
14
|
-
|
|
15
|
-
This protocol defines the interface for all storage backends with built-in
|
|
16
|
-
instrumentation support. Backends must implement both sync and async operations
|
|
17
|
-
where possible, with async operations suffixed with _async.
|
|
18
|
-
|
|
19
|
-
All methods use 'path' terminology for consistency with object store patterns.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
def __init__(self, uri: str, **kwargs: Any) -> None:
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
# Core Operations (sync)
|
|
26
|
-
def read_bytes(self, path: str, **kwargs: Any) -> bytes:
|
|
27
|
-
"""Read bytes from an object."""
|
|
28
|
-
return b""
|
|
29
|
-
|
|
30
|
-
def write_bytes(self, path: str, data: bytes, **kwargs: Any) -> None:
|
|
31
|
-
"""Write bytes to an object."""
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
def read_text(self, path: str, encoding: str = "utf-8", **kwargs: Any) -> str:
|
|
35
|
-
"""Read text from an object."""
|
|
36
|
-
return ""
|
|
37
|
-
|
|
38
|
-
def write_text(self, path: str, data: str, encoding: str = "utf-8", **kwargs: Any) -> None:
|
|
39
|
-
"""Write text to an object."""
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
# Object Operations
|
|
43
|
-
def exists(self, path: str, **kwargs: Any) -> bool:
|
|
44
|
-
"""Check if an object exists."""
|
|
45
|
-
return False
|
|
46
|
-
|
|
47
|
-
def delete(self, path: str, **kwargs: Any) -> None:
|
|
48
|
-
"""Delete an object."""
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
def copy(self, source: str, destination: str, **kwargs: Any) -> None:
|
|
52
|
-
"""Copy an object."""
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
def move(self, source: str, destination: str, **kwargs: Any) -> None:
|
|
56
|
-
"""Move an object."""
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
# Listing Operations
|
|
60
|
-
def list_objects(self, prefix: str = "", recursive: bool = True, **kwargs: Any) -> list[str]:
|
|
61
|
-
"""List objects with optional prefix."""
|
|
62
|
-
return []
|
|
63
|
-
|
|
64
|
-
def glob(self, pattern: str, **kwargs: Any) -> list[str]:
|
|
65
|
-
"""Find objects matching a glob pattern."""
|
|
66
|
-
return []
|
|
67
|
-
|
|
68
|
-
# Path Operations
|
|
69
|
-
def is_object(self, path: str) -> bool:
|
|
70
|
-
"""Check if path points to an object."""
|
|
71
|
-
return False
|
|
72
|
-
|
|
73
|
-
def is_path(self, path: str) -> bool:
|
|
74
|
-
"""Check if path points to a prefix (directory-like)."""
|
|
75
|
-
return False
|
|
76
|
-
|
|
77
|
-
def get_metadata(self, path: str, **kwargs: Any) -> dict[str, Any]:
|
|
78
|
-
"""Get object metadata."""
|
|
79
|
-
return {}
|
|
80
|
-
|
|
81
|
-
# Arrow Operations
|
|
82
|
-
def read_arrow(self, path: str, **kwargs: Any) -> "ArrowTable":
|
|
83
|
-
"""Read an Arrow table from storage.
|
|
84
|
-
|
|
85
|
-
For obstore backend, this should use native arrow operations when available.
|
|
86
|
-
"""
|
|
87
|
-
msg = "Arrow reading not implemented"
|
|
88
|
-
raise NotImplementedError(msg)
|
|
89
|
-
|
|
90
|
-
def write_arrow(self, path: str, table: "ArrowTable", **kwargs: Any) -> None:
|
|
91
|
-
"""Write an Arrow table to storage.
|
|
92
|
-
|
|
93
|
-
For obstore backend, this should use native arrow operations when available.
|
|
94
|
-
"""
|
|
95
|
-
msg = "Arrow writing not implemented"
|
|
96
|
-
raise NotImplementedError(msg)
|
|
97
|
-
|
|
98
|
-
def stream_arrow(self, pattern: str, **kwargs: Any) -> "Iterator[ArrowRecordBatch]":
|
|
99
|
-
"""Stream Arrow record batches from matching objects.
|
|
100
|
-
|
|
101
|
-
For obstore backend, this should use native streaming when available.
|
|
102
|
-
"""
|
|
103
|
-
msg = "Arrow streaming not implemented"
|
|
104
|
-
raise NotImplementedError(msg)
|
|
105
|
-
|
|
106
|
-
# Async versions
|
|
107
|
-
async def read_bytes_async(self, path: str, **kwargs: Any) -> bytes:
|
|
108
|
-
"""Async read bytes from an object."""
|
|
109
|
-
msg = "Async operations not implemented"
|
|
110
|
-
raise NotImplementedError(msg)
|
|
111
|
-
|
|
112
|
-
async def write_bytes_async(self, path: str, data: bytes, **kwargs: Any) -> None:
|
|
113
|
-
"""Async write bytes to an object."""
|
|
114
|
-
msg = "Async operations not implemented"
|
|
115
|
-
raise NotImplementedError(msg)
|
|
116
|
-
|
|
117
|
-
async def read_text_async(self, path: str, encoding: str = "utf-8", **kwargs: Any) -> str:
|
|
118
|
-
"""Async read text from an object."""
|
|
119
|
-
msg = "Async operations not implemented"
|
|
120
|
-
raise NotImplementedError(msg)
|
|
121
|
-
|
|
122
|
-
async def write_text_async(self, path: str, data: str, encoding: str = "utf-8", **kwargs: Any) -> None:
|
|
123
|
-
"""Async write text to an object."""
|
|
124
|
-
msg = "Async operations not implemented"
|
|
125
|
-
raise NotImplementedError(msg)
|
|
126
|
-
|
|
127
|
-
async def exists_async(self, path: str, **kwargs: Any) -> bool:
|
|
128
|
-
"""Async check if an object exists."""
|
|
129
|
-
msg = "Async operations not implemented"
|
|
130
|
-
raise NotImplementedError(msg)
|
|
131
|
-
|
|
132
|
-
async def delete_async(self, path: str, **kwargs: Any) -> None:
|
|
133
|
-
"""Async delete an object."""
|
|
134
|
-
msg = "Async operations not implemented"
|
|
135
|
-
raise NotImplementedError(msg)
|
|
136
|
-
|
|
137
|
-
async def list_objects_async(self, prefix: str = "", recursive: bool = True, **kwargs: Any) -> list[str]:
|
|
138
|
-
"""Async list objects with optional prefix."""
|
|
139
|
-
msg = "Async operations not implemented"
|
|
140
|
-
raise NotImplementedError(msg)
|
|
141
|
-
|
|
142
|
-
async def copy_async(self, source: str, destination: str, **kwargs: Any) -> None:
|
|
143
|
-
"""Async copy an object."""
|
|
144
|
-
msg = "Async operations not implemented"
|
|
145
|
-
raise NotImplementedError(msg)
|
|
146
|
-
|
|
147
|
-
async def move_async(self, source: str, destination: str, **kwargs: Any) -> None:
|
|
148
|
-
"""Async move an object."""
|
|
149
|
-
msg = "Async operations not implemented"
|
|
150
|
-
raise NotImplementedError(msg)
|
|
151
|
-
|
|
152
|
-
async def get_metadata_async(self, path: str, **kwargs: Any) -> dict[str, Any]:
|
|
153
|
-
"""Async get object metadata."""
|
|
154
|
-
msg = "Async operations not implemented"
|
|
155
|
-
raise NotImplementedError(msg)
|
|
156
|
-
|
|
157
|
-
async def read_arrow_async(self, path: str, **kwargs: Any) -> "ArrowTable":
|
|
158
|
-
"""Async read an Arrow table from storage."""
|
|
159
|
-
msg = "Async arrow reading not implemented"
|
|
160
|
-
raise NotImplementedError(msg)
|
|
161
|
-
|
|
162
|
-
async def write_arrow_async(self, path: str, table: "ArrowTable", **kwargs: Any) -> None:
|
|
163
|
-
"""Async write an Arrow table to storage."""
|
|
164
|
-
msg = "Async arrow writing not implemented"
|
|
165
|
-
raise NotImplementedError(msg)
|
|
166
|
-
|
|
167
|
-
async def stream_arrow_async(self, pattern: str, **kwargs: Any) -> "AsyncIterator[ArrowRecordBatch]":
|
|
168
|
-
"""Async stream Arrow record batches from matching objects."""
|
|
169
|
-
msg = "Async arrow streaming not implemented"
|
|
170
|
-
raise NotImplementedError(msg)
|
sqlspec-0.12.1.dist-info/RECORD
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
sqlspec/__init__.py,sha256=hyVFQsYsgDWOZ2EPnW1LnATQVxGcYu3liBvSOvk4EQk,705
|
|
2
|
-
sqlspec/__metadata__.py,sha256=hNP3wXvtk8fQVPKGjRLpZ9mP-gaPJqzrmgm3UqpDIXQ,460
|
|
3
|
-
sqlspec/_serialization.py,sha256=7zox4G9zIps-DCdIEwYs4gwALfEOy1g_sWS4r5kpzO8,2604
|
|
4
|
-
sqlspec/_sql.py,sha256=VvSttObOgEDN_qECiOZu07_c3pgC1f9cdOORn-xWc88,42463
|
|
5
|
-
sqlspec/_typing.py,sha256=Vn1CTCfedAHZV3pKZP-l_mPw9pTxesCzRKVRypzNY_k,17903
|
|
6
|
-
sqlspec/base.py,sha256=a7adbCUzohf1MU-iP0TxazGsk9fsJhJmxuFKNWkgC6o,18355
|
|
7
|
-
sqlspec/config.py,sha256=a5VZj3UvK_St2XSchUw7NL3YBDpYp_FlaoVM8OkaI8I,13144
|
|
8
|
-
sqlspec/exceptions.py,sha256=Qdfd1k9Q4rTDH15zja2UzCOYAbR7idN3xGutDYGg3eg,13934
|
|
9
|
-
sqlspec/loader.py,sha256=1htipEcioTGrORu4sEYbK5w-zMnpWIZ4xSQlN-pJSf0,18336
|
|
10
|
-
sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
sqlspec/typing.py,sha256=Wxc-ctN0hJ41U-qDzOaBA_HwTwAaQ7pN1nu0FpCNruA,20792
|
|
12
|
-
sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
sqlspec/adapters/adbc/__init__.py,sha256=v9bs7501PgEyzR1XIsEpE2Wdrj9DOYkZ4grysw72UXk,218
|
|
14
|
-
sqlspec/adapters/adbc/config.py,sha256=-wkuxXj-cqTFeIA7_mnPD37oZCHrnVjkOYKIwTZkD1Y,20159
|
|
15
|
-
sqlspec/adapters/adbc/driver.py,sha256=22P16Pz6Bk399TSjoODLK1ZRcXxTHMGmjp_3KuCSUzM,16462
|
|
16
|
-
sqlspec/adapters/aiosqlite/__init__.py,sha256=7wPmhXQeu4jRi-LZzPxAPTdgRmgmyqCn9U-4wnCWoLM,258
|
|
17
|
-
sqlspec/adapters/aiosqlite/config.py,sha256=K8vPiGSDeSCTFIm4XgCEGbXG8uIAX6JjYHv2890RbTw,7174
|
|
18
|
-
sqlspec/adapters/aiosqlite/driver.py,sha256=DelxxH9_TKHmqYDG3HbXEs4ypk8r-FUdBnGZOBNvHek,12398
|
|
19
|
-
sqlspec/adapters/asyncmy/__init__.py,sha256=zYpebEt_PrNCifLcqXiCcWVm0Zl-LvWbFDromWwSTw8,270
|
|
20
|
-
sqlspec/adapters/asyncmy/config.py,sha256=ZCwg63zsa-SEiHjJjCZYvnu-hl5cdw-o8j3u01_r7W4,10402
|
|
21
|
-
sqlspec/adapters/asyncmy/driver.py,sha256=Q3dVCcm24z-Cvd2GcHaZKfP95cb5uk7u1-b8zuMQJpo,9982
|
|
22
|
-
sqlspec/adapters/asyncpg/__init__.py,sha256=svnbKlOin8jRL88AdAqflBEU-WEAzp0Thc2y50QsxIo,310
|
|
23
|
-
sqlspec/adapters/asyncpg/config.py,sha256=IHovVNGryGsu_ulYBY9TJrXaz_mPpqIgnh4c-juIglA,13033
|
|
24
|
-
sqlspec/adapters/asyncpg/driver.py,sha256=U32J4W4RXvW5iQfqBI6_uhVqc4Kyaj2IpUe9BRJS8r4,19105
|
|
25
|
-
sqlspec/adapters/bigquery/__init__.py,sha256=fWRH-BoCNX4rYwhU2DK64cXWpfkYpWIExddJAti0bxM,250
|
|
26
|
-
sqlspec/adapters/bigquery/config.py,sha256=bTmos8OcJcy7kPmBds-0EPLe5XyREnwOR0YYd5fkZjg,16971
|
|
27
|
-
sqlspec/adapters/bigquery/driver.py,sha256=46m5D-03mFnKM0rLwuvmeGAkRotbwm_qh6X0Re88H1I,28412
|
|
28
|
-
sqlspec/adapters/duckdb/__init__.py,sha256=I1f6szfpKKrq6WhyDoUXD3i3NN4yjsh94_fhP1URI5M,351
|
|
29
|
-
sqlspec/adapters/duckdb/config.py,sha256=az9WFJXyw1M0yiNw2tqf7GYM-9tblHj_0BHLYzFytXk,20413
|
|
30
|
-
sqlspec/adapters/duckdb/driver.py,sha256=Vnr6xYJtqBKHAf76xy9o18GYly_oexkEfAd25Jd_CZ4,17676
|
|
31
|
-
sqlspec/adapters/oracledb/__init__.py,sha256=nn3whn0UyBThoXnE1-5_byVuc9PJjvB2P896p7LpNZI,474
|
|
32
|
-
sqlspec/adapters/oracledb/config.py,sha256=HQpgGMf0oMSWr2k4q3uPEF4LWR7QPnzZE6lxLDq723U,22737
|
|
33
|
-
sqlspec/adapters/oracledb/driver.py,sha256=YQnudVnP1EizI4eN3_llITdJ7TjpbLNxFkYlkSJVaQs,25463
|
|
34
|
-
sqlspec/adapters/psqlpy/__init__.py,sha256=dp0-96V4SAbNEvOqlJ8PWEyJMYzZGElVoyneZqJ-fbQ,297
|
|
35
|
-
sqlspec/adapters/psqlpy/config.py,sha256=NKlHHDjKr5dF4LQprYA5ivJsNy2UXkvYg8B-kXOvvjE,16342
|
|
36
|
-
sqlspec/adapters/psqlpy/driver.py,sha256=xI89mFdkQulcntbH4ALTOOHn5b6_skCgSbjYDUfvyG4,8650
|
|
37
|
-
sqlspec/adapters/psycopg/__init__.py,sha256=ukkCUPrJPyAG78v4rOqcK4WZDs26PeB9Ra9qkFrGJ3E,484
|
|
38
|
-
sqlspec/adapters/psycopg/config.py,sha256=SC6SfkgaiYIqHRPueZ3-Avq0AEotLD1d2TX-MJw1lzs,26766
|
|
39
|
-
sqlspec/adapters/psycopg/driver.py,sha256=oTdhj5OXx1gtnA0ZIS0Fdvqu8erXhItn1fl0-lRxatI,33474
|
|
40
|
-
sqlspec/adapters/sqlite/__init__.py,sha256=1lYrJ-DojUAOvXMoZRUJNEVyMmYhO41hMJnDWCEeXlw,234
|
|
41
|
-
sqlspec/adapters/sqlite/config.py,sha256=7yHe1eeVGFZvmTdxUPF2XcIiEcgZFUdncuGf_6qG8Xc,6153
|
|
42
|
-
sqlspec/adapters/sqlite/driver.py,sha256=aQ7JOWyC6pfSq2cRz3OrjQ67NChhU0UercgvgomU0Ec,10703
|
|
43
|
-
sqlspec/driver/__init__.py,sha256=0udRS5IlJ17HzOCvzapG8c_88yAwTQri1XLD_3fZxZU,671
|
|
44
|
-
sqlspec/driver/_async.py,sha256=JYn-8E_IQHBCpAPfZ3g0IpNc_0yCwYu98lKgcHxWdPU,10130
|
|
45
|
-
sqlspec/driver/_common.py,sha256=ceAvzvI9zV3xBotEAMCuJeEbCHaeV82UJyfYYNnrspk,14680
|
|
46
|
-
sqlspec/driver/_sync.py,sha256=8jyP-TInSM3iLNhyOMNthvoE6vNwPp2wV8oAQhObuqc,10255
|
|
47
|
-
sqlspec/driver/mixins/__init__.py,sha256=-FSWLYq644NftRsmjmXMA9Q7_l7tIFAIh1ZyK0yrba8,652
|
|
48
|
-
sqlspec/driver/mixins/_pipeline.py,sha256=XCr4PTUvvzvte2Yw1g-hqje5dg3bgrsi46kj8kdy8Hw,20083
|
|
49
|
-
sqlspec/driver/mixins/_result_utils.py,sha256=j6BrFCC9E6xbnn-mH0sd2JBlxZFjA30LWKrYZh8gjXM,4882
|
|
50
|
-
sqlspec/driver/mixins/_sql_translator.py,sha256=p_PR4KBg9NKNpRpiEqA0hcUIttpdillHpnLUVJEcxuE,1519
|
|
51
|
-
sqlspec/driver/mixins/_storage.py,sha256=yosmC_nJI-3dg4aVy6iloy4V-d9DBDoC_8G2RLTsenI,43106
|
|
52
|
-
sqlspec/driver/mixins/_type_coercion.py,sha256=17HC2Vsd70tRlUawO0CkUeoJUd2jG5R5Yb1A6Jr-1Tc,4716
|
|
53
|
-
sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
sqlspec/extensions/aiosql/__init__.py,sha256=-9cefc9pYPf9vCgALoB-y1DtmcgRjKe2azfl6RIarAA,414
|
|
55
|
-
sqlspec/extensions/aiosql/adapter.py,sha256=EcMzTQ2-EzH-C2G1nJ6dw5O09rUzdAclmgbFb9wkJ8E,16993
|
|
56
|
-
sqlspec/extensions/litestar/__init__.py,sha256=aXF2g4-U86pdJHoOA6RCvZgnyHVBbjRhlWqcSuRX2gg,243
|
|
57
|
-
sqlspec/extensions/litestar/_utils.py,sha256=o-FuUj1_WkDrLxQxiP6hXDak66XfyRP3QLyEVKrIRjI,1954
|
|
58
|
-
sqlspec/extensions/litestar/config.py,sha256=vLXM425tCV3IbJiNO1ZG90ctjBTb9oQCuLsqCaUYmo8,4685
|
|
59
|
-
sqlspec/extensions/litestar/handlers.py,sha256=q-peGdWgvEI_s9rWt0SRIQvuhON_ItrjiVxIF2Pwm1U,10546
|
|
60
|
-
sqlspec/extensions/litestar/plugin.py,sha256=itsduzXN-YzDm1wVqUcJQLcYGp3ogF9Aw2IU3i46iqk,5596
|
|
61
|
-
sqlspec/extensions/litestar/providers.py,sha256=9wAr3c09ObOJmej1hQ3YizrK3YMN3S2xfBh23r-KSzE,21749
|
|
62
|
-
sqlspec/service/__init__.py,sha256=EfyTy8X8GXxV0drxaBMJ0aRRqg3ZnwD6iu5oCTAQc1k,79
|
|
63
|
-
sqlspec/service/base.py,sha256=vbJFO0EywWUgGr8WHHYxUCP-7sGF1Rxfi7ov51LWg50,521
|
|
64
|
-
sqlspec/service/pagination.py,sha256=ndLQwsvswoISWEE_3IG9nmdHt42OZkVMJvr-2HTWsLw,619
|
|
65
|
-
sqlspec/statement/__init__.py,sha256=NDvdrpr1EqAZXp4HmhTVaRnWVscahPSHpmSO8DHSoMY,536
|
|
66
|
-
sqlspec/statement/filters.py,sha256=SPDupr8mJK1Ua3z2sXvE8dWAkamDAhE2MHn6yEM_6uU,21850
|
|
67
|
-
sqlspec/statement/parameters.py,sha256=HjKg6Y-1ImBiigNlodGxsVOMPma1pBoJRISrQu_iqfM,31183
|
|
68
|
-
sqlspec/statement/result.py,sha256=rEShBX-NGK3-0K6q1XwB0zQvPEygVVB_-rXodiUMbSo,18307
|
|
69
|
-
sqlspec/statement/splitter.py,sha256=Y1eubbNSn3IRhvQhAZVzBB-oDZ5K5uoJYOGti1ds_5E,24850
|
|
70
|
-
sqlspec/statement/sql.py,sha256=7H2LOwQ8H2pONFPF7RcK6WkF7g_J-FUeuoiSXD05AUs,51033
|
|
71
|
-
sqlspec/statement/builder/__init__.py,sha256=7mITd7RG_Sc4RBgQJoAAosLAV9WdF4-E-CzvUA-hT0A,1584
|
|
72
|
-
sqlspec/statement/builder/_ddl_utils.py,sha256=or0DpLIUupCIxs3u6kMJQgmfj_P21TxMDHbM0rdSNnY,4745
|
|
73
|
-
sqlspec/statement/builder/_parsing_utils.py,sha256=OKOB-V1UhOCUNVoJHDArUl0WKIMVPshCFFrJcjKvs9Y,5613
|
|
74
|
-
sqlspec/statement/builder/base.py,sha256=swpCj0Oga3HyLKKmriwsu046puvkTxTZ528SPa9v_kk,12771
|
|
75
|
-
sqlspec/statement/builder/ddl.py,sha256=0GjjPc8u3FP_5kFza-J2kw0B0PBlibgjAu7kCgDMwXI,50394
|
|
76
|
-
sqlspec/statement/builder/delete.py,sha256=yv78i2vWpRZ0NbQCkJz1JAYekius2MOZ_zmiVaP4fcw,2423
|
|
77
|
-
sqlspec/statement/builder/insert.py,sha256=EduHjewraoauM4mH3r4OyrBc31FbCAad93B8vg9WpYc,9922
|
|
78
|
-
sqlspec/statement/builder/merge.py,sha256=tNV81MiDUmQJ9KiInP8rEGvxQ50JAD2Itmdbr5921vI,2811
|
|
79
|
-
sqlspec/statement/builder/protocols.py,sha256=ihy6uNv6lGdj1UHu-qWn08YhIn_YfjPup0qsBnaB1zU,575
|
|
80
|
-
sqlspec/statement/builder/select.py,sha256=13dNa7XXHjGlSeRsjWTrOCZX0uK61mMbiRzk1gTq8is,8436
|
|
81
|
-
sqlspec/statement/builder/update.py,sha256=K2DxlZM9e0DoO4T5MbeVNL9BCkhov7z8c6L9zuvjttc,5950
|
|
82
|
-
sqlspec/statement/builder/mixins/__init__.py,sha256=B5GhsdySb_-DN3SvBlA2oimmymAJX3Rf4A7Xnz3uNN4,2887
|
|
83
|
-
sqlspec/statement/builder/mixins/_aggregate_functions.py,sha256=RU91GKzwKABod-nHxhrT2nCoYFAf-kSE4VHmF23n__Y,6109
|
|
84
|
-
sqlspec/statement/builder/mixins/_case_builder.py,sha256=fGdevoEZxmoJjsDV9Wwfom8vu3lmgF9B_o5HXCf25Kg,3047
|
|
85
|
-
sqlspec/statement/builder/mixins/_common_table_expr.py,sha256=1e8KKoQjuMGKuutjZ4KFWhsH7mbRMhXsANqLLJ71SzA,3741
|
|
86
|
-
sqlspec/statement/builder/mixins/_delete_from.py,sha256=GtuTYfG7N9RPAbyXIGKCoirRTg_gcHyoGI6pAFhUkEY,1026
|
|
87
|
-
sqlspec/statement/builder/mixins/_from.py,sha256=YOYG-Bvpis9Wt2RI4byr_eRef35OXS6rBuigGsEOGW0,2618
|
|
88
|
-
sqlspec/statement/builder/mixins/_group_by.py,sha256=qefERqljQY58PmJ3Q0nF8NNSO31fa2XDbevIpjiPzJs,4190
|
|
89
|
-
sqlspec/statement/builder/mixins/_having.py,sha256=X8-hdwEeJg4RYxyjhaYLvlkpzE0AwIPl6t8SPGz5gi0,1112
|
|
90
|
-
sqlspec/statement/builder/mixins/_insert_from_select.py,sha256=XBahvM2VA-qwzx3PLTRaqT21fFaRYwHACOADQ6mZwUE,1851
|
|
91
|
-
sqlspec/statement/builder/mixins/_insert_into.py,sha256=7979JCYqKM_NRTHwkrJJY6l9lS2AQ-evZYRU8fs3yw0,1049
|
|
92
|
-
sqlspec/statement/builder/mixins/_insert_values.py,sha256=RE2ApSc6OwVqToXTVwy1bhRFomfNOmrnSte8fVjEINg,2923
|
|
93
|
-
sqlspec/statement/builder/mixins/_join.py,sha256=g3OxKMEiyNSGZRiBgdPT1Lvcr-h3u_3O0msN59B1Itg,5128
|
|
94
|
-
sqlspec/statement/builder/mixins/_limit_offset.py,sha256=nyeajD1cYj0Wvki1GLYJbsfQzfaH5tyMkeGVU9fGWL0,1762
|
|
95
|
-
sqlspec/statement/builder/mixins/_merge_clauses.py,sha256=3w22HImSoQvDMMTa9xJAHw4cx0-KrteLumFpQvg2o0I,16868
|
|
96
|
-
sqlspec/statement/builder/mixins/_order_by.py,sha256=pcqEQIkpJ-KgLNLIqXFQQgdzGypXw0Umndn-X8TgKis,1729
|
|
97
|
-
sqlspec/statement/builder/mixins/_pivot.py,sha256=GyLEFkhRlG_fxeRfzGRTVd5wZVtuA5HkNrvmOi7PF3Q,3442
|
|
98
|
-
sqlspec/statement/builder/mixins/_returning.py,sha256=O39j2MEIcqiiUhFFGnyGwIXhLS7KrGigfZ9kPxFjjtI,1349
|
|
99
|
-
sqlspec/statement/builder/mixins/_select_columns.py,sha256=6UXpHHDmka8NbrtbR-G-Xd1ux4DUazEonZndAXecWJI,2302
|
|
100
|
-
sqlspec/statement/builder/mixins/_set_ops.py,sha256=uWV32ZAi2tojbS9b6Q0ZDIn1Rhbx4cCE42jhbVdm90I,5291
|
|
101
|
-
sqlspec/statement/builder/mixins/_unpivot.py,sha256=dXdYk4UdFbDf7yNFRPrX3G5XtOgfw_BzaEI9au3ltKw,3296
|
|
102
|
-
sqlspec/statement/builder/mixins/_update_from.py,sha256=r8-_iy5Kdp79eo34oNmNVLSnWsy3WUvwETODnKzBgZY,2461
|
|
103
|
-
sqlspec/statement/builder/mixins/_update_set.py,sha256=tSnZ6cLKfta-OKHYAkoInQScMbxp9rxtFj0SBGnpGZ0,4041
|
|
104
|
-
sqlspec/statement/builder/mixins/_update_table.py,sha256=FX3KezuHdu7YLQI4i5iniHWk1Lbzph8MzLcOM6iTd70,936
|
|
105
|
-
sqlspec/statement/builder/mixins/_where.py,sha256=KZhOykAWrDYaD6p_W-nbVkh3-9ZS9paw77L3JttoeT8,19452
|
|
106
|
-
sqlspec/statement/builder/mixins/_window_functions.py,sha256=8ldy06gK6jOlGg31oa1dCrG7IkfCVYvVr_f-lx0YcgU,3745
|
|
107
|
-
sqlspec/statement/pipelines/__init__.py,sha256=vmFxkD7vnpyfMbuDsOF67B3DWDeCz183326pg1G0-5k,2206
|
|
108
|
-
sqlspec/statement/pipelines/base.py,sha256=ylXSyab6P4v9PY0tDPlcHeCEkdFPECDq0Jjooi3E2ek,13019
|
|
109
|
-
sqlspec/statement/pipelines/context.py,sha256=fhEKicpUcHXbyhgBpJnYnYPd4vWpkFoVuLWydsSB2dE,4371
|
|
110
|
-
sqlspec/statement/pipelines/result_types.py,sha256=G34HofWjcK0SFMTyqVBFv-t17jkWKP9cCugA4Rds4qk,1046
|
|
111
|
-
sqlspec/statement/pipelines/analyzers/__init__.py,sha256=RY7W0AiWG-8qdrTmRSGlEofjrPPJCJUnNK-LRukKt5Q,330
|
|
112
|
-
sqlspec/statement/pipelines/analyzers/_analyzer.py,sha256=8Cfxr4gZZlfmn4v3tatyqF4i10s6L9lFXRYwcVB_zn4,27741
|
|
113
|
-
sqlspec/statement/pipelines/transformers/__init__.py,sha256=wwhAWQQCCoL2WhVZQ7ptt9mn4B_AY8pK9M2SUjj5DtU,550
|
|
114
|
-
sqlspec/statement/pipelines/transformers/_expression_simplifier.py,sha256=90u62-WMG0l1_2S_u-93Oo3rVnAjvlTJkPf1IzgaP2E,11630
|
|
115
|
-
sqlspec/statement/pipelines/transformers/_literal_parameterizer.py,sha256=NMzSYZ6HfqoujOm_M5pS95oxOhF3_kWrQZjWln4UGEI,26624
|
|
116
|
-
sqlspec/statement/pipelines/transformers/_remove_comments.py,sha256=PW1q7B2D-E_x2V1mTEUw_Uijj9W5-B6OteWE96aH7i8,2781
|
|
117
|
-
sqlspec/statement/pipelines/transformers/_remove_hints.py,sha256=D13MDx9vG3n_y5VV6swTNx2z1zHnTAuRwOiKp0VYg2k,3334
|
|
118
|
-
sqlspec/statement/pipelines/validators/__init__.py,sha256=cdlwdLhOT2OwTbueIsA7bfRG2b6y-j7dw9pMzl5AP0M,747
|
|
119
|
-
sqlspec/statement/pipelines/validators/_dml_safety.py,sha256=FUfF7iWUc0tgmg-OwDgpYA3ZRy3z01PfGadDcaqENTM,10078
|
|
120
|
-
sqlspec/statement/pipelines/validators/_parameter_style.py,sha256=I6tTeYBQFeg2uPlQWDyy7sMRidm_tt7ItTzhauhNrWA,13583
|
|
121
|
-
sqlspec/statement/pipelines/validators/_performance.py,sha256=sSIknorC-VJghFJAATqfnnNUyUnQ0bN_GpXmmGZkkkA,25800
|
|
122
|
-
sqlspec/statement/pipelines/validators/_security.py,sha256=62k5F4RCz1O_bb1rIPjm2BjHyp3YDObq2hjv74zY8Ac,43589
|
|
123
|
-
sqlspec/statement/pipelines/validators/base.py,sha256=6xd0FCPOTpS77cn-abT1auubxASs5HPY2fgjhX1WZZQ,2166
|
|
124
|
-
sqlspec/storage/__init__.py,sha256=dS1Qt2cTJpIBOKnw3ih3Z7FPFePFPPSazhkEbkV5DxU,516
|
|
125
|
-
sqlspec/storage/protocol.py,sha256=4hiGGmWtMZFkwCaNYXHt416j-i281xha0Hj7-EynVBs,6430
|
|
126
|
-
sqlspec/storage/registry.py,sha256=it3S-jxf-rXcYwgquydiSo0AeXXqnBEhAVQ2Gk11GNU,11724
|
|
127
|
-
sqlspec/storage/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
-
sqlspec/storage/backends/base.py,sha256=34XYQuz1tQ-q_ZZwOz-Kimgvl088SR3VUYJoA-STslc,6350
|
|
129
|
-
sqlspec/storage/backends/fsspec.py,sha256=bCaNkubANlcb3UlUC0EchHn44XJRS3Z-99fnZMgW-yc,12527
|
|
130
|
-
sqlspec/storage/backends/obstore.py,sha256=HdnEGQOPvQY9q7xEsjdy7JIqj-tWNBLkmEmllbDgAWA,20659
|
|
131
|
-
sqlspec/utils/__init__.py,sha256=_Ya8IZuc2cZIstXr_xjgnSfxICXHXvu5mfWsi2USDrw,183
|
|
132
|
-
sqlspec/utils/correlation.py,sha256=qzqw3CnhasS14hv0uHKh9DehbOX3dEHuB_NNz6Kg6QQ,4457
|
|
133
|
-
sqlspec/utils/deprecation.py,sha256=zrmb_eKRlLWVA6dWrjUbN3Vz6D3_-Z_15Ixk4H-sDRk,3850
|
|
134
|
-
sqlspec/utils/fixtures.py,sha256=q_Pghpmw2VgJ9P0TfkyjSF5PvdaD5Y2Laha0Bj4IDrA,1838
|
|
135
|
-
sqlspec/utils/logging.py,sha256=g8lZXfbr79Ayu0YnnoOcwzGGeg9HUg_JyFpAbbUCd_0,4064
|
|
136
|
-
sqlspec/utils/module_loader.py,sha256=9LcmEhy4T0jgkCaDVkxX47PSgJOMeJ8IV67yXEWBp-U,3074
|
|
137
|
-
sqlspec/utils/serializers.py,sha256=TKsRryRcYMnb8Z8MGkYGClIxcYvC8CW7MsrPQTJqEcY,154
|
|
138
|
-
sqlspec/utils/singleton.py,sha256=KZ7481tlDAxq6gcAlpULVqPLNc9P0XkHOEp7hfWIHcI,1096
|
|
139
|
-
sqlspec/utils/sync_tools.py,sha256=9ZL_7wJks896ZsRGVB4mS8DgIwK3tKmZClvLblEx8q4,8954
|
|
140
|
-
sqlspec/utils/text.py,sha256=Bit0I0nBgETvfumzguOQFiqrqwplqaoTeEfGdLzgPOk,5083
|
|
141
|
-
sqlspec-0.12.1.dist-info/METADATA,sha256=1THQMFzTiowWooK37RMk7UnuMdzuj8g9QzQKhsnE7NU,16663
|
|
142
|
-
sqlspec-0.12.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
143
|
-
sqlspec-0.12.1.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
|
|
144
|
-
sqlspec-0.12.1.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
|
|
145
|
-
sqlspec-0.12.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|