sqlspec 0.13.1__py3-none-any.whl → 0.16.2__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/__init__.py +71 -8
- sqlspec/__main__.py +12 -0
- sqlspec/__metadata__.py +1 -3
- sqlspec/_serialization.py +1 -2
- sqlspec/_sql.py +930 -136
- sqlspec/_typing.py +278 -142
- sqlspec/adapters/adbc/__init__.py +4 -3
- sqlspec/adapters/adbc/_types.py +12 -0
- sqlspec/adapters/adbc/config.py +116 -285
- sqlspec/adapters/adbc/driver.py +462 -340
- sqlspec/adapters/aiosqlite/__init__.py +18 -3
- sqlspec/adapters/aiosqlite/_types.py +13 -0
- sqlspec/adapters/aiosqlite/config.py +202 -150
- sqlspec/adapters/aiosqlite/driver.py +226 -247
- sqlspec/adapters/asyncmy/__init__.py +18 -3
- sqlspec/adapters/asyncmy/_types.py +12 -0
- sqlspec/adapters/asyncmy/config.py +80 -199
- sqlspec/adapters/asyncmy/driver.py +257 -215
- sqlspec/adapters/asyncpg/__init__.py +19 -4
- sqlspec/adapters/asyncpg/_types.py +17 -0
- sqlspec/adapters/asyncpg/config.py +81 -214
- sqlspec/adapters/asyncpg/driver.py +284 -359
- sqlspec/adapters/bigquery/__init__.py +17 -3
- sqlspec/adapters/bigquery/_types.py +12 -0
- sqlspec/adapters/bigquery/config.py +191 -299
- sqlspec/adapters/bigquery/driver.py +474 -634
- sqlspec/adapters/duckdb/__init__.py +14 -3
- sqlspec/adapters/duckdb/_types.py +12 -0
- sqlspec/adapters/duckdb/config.py +414 -397
- sqlspec/adapters/duckdb/driver.py +342 -393
- sqlspec/adapters/oracledb/__init__.py +19 -5
- sqlspec/adapters/oracledb/_types.py +14 -0
- sqlspec/adapters/oracledb/config.py +123 -458
- sqlspec/adapters/oracledb/driver.py +505 -531
- sqlspec/adapters/psqlpy/__init__.py +13 -3
- sqlspec/adapters/psqlpy/_types.py +11 -0
- sqlspec/adapters/psqlpy/config.py +93 -307
- sqlspec/adapters/psqlpy/driver.py +504 -213
- sqlspec/adapters/psycopg/__init__.py +19 -5
- sqlspec/adapters/psycopg/_types.py +17 -0
- sqlspec/adapters/psycopg/config.py +143 -472
- sqlspec/adapters/psycopg/driver.py +704 -825
- sqlspec/adapters/sqlite/__init__.py +14 -3
- sqlspec/adapters/sqlite/_types.py +11 -0
- sqlspec/adapters/sqlite/config.py +208 -142
- sqlspec/adapters/sqlite/driver.py +263 -278
- sqlspec/base.py +105 -9
- sqlspec/{statement/builder → builder}/__init__.py +12 -14
- sqlspec/{statement/builder/base.py → builder/_base.py} +184 -86
- sqlspec/{statement/builder/column.py → builder/_column.py} +97 -60
- sqlspec/{statement/builder/ddl.py → builder/_ddl.py} +61 -131
- sqlspec/{statement/builder → builder}/_ddl_utils.py +4 -10
- sqlspec/{statement/builder/delete.py → builder/_delete.py} +10 -30
- sqlspec/builder/_insert.py +421 -0
- sqlspec/builder/_merge.py +71 -0
- sqlspec/{statement/builder → builder}/_parsing_utils.py +49 -26
- sqlspec/builder/_select.py +170 -0
- sqlspec/{statement/builder/update.py → builder/_update.py} +16 -20
- sqlspec/builder/mixins/__init__.py +55 -0
- sqlspec/builder/mixins/_cte_and_set_ops.py +222 -0
- sqlspec/{statement/builder/mixins/_delete_from.py → builder/mixins/_delete_operations.py} +8 -1
- sqlspec/builder/mixins/_insert_operations.py +244 -0
- sqlspec/{statement/builder/mixins/_join.py → builder/mixins/_join_operations.py} +45 -13
- sqlspec/{statement/builder/mixins/_merge_clauses.py → builder/mixins/_merge_operations.py} +188 -30
- sqlspec/builder/mixins/_order_limit_operations.py +135 -0
- sqlspec/builder/mixins/_pivot_operations.py +153 -0
- sqlspec/builder/mixins/_select_operations.py +604 -0
- sqlspec/builder/mixins/_update_operations.py +202 -0
- sqlspec/builder/mixins/_where_clause.py +644 -0
- sqlspec/cli.py +247 -0
- sqlspec/config.py +183 -138
- sqlspec/core/__init__.py +63 -0
- sqlspec/core/cache.py +871 -0
- sqlspec/core/compiler.py +417 -0
- sqlspec/core/filters.py +830 -0
- sqlspec/core/hashing.py +310 -0
- sqlspec/core/parameters.py +1237 -0
- sqlspec/core/result.py +677 -0
- sqlspec/{statement → core}/splitter.py +321 -191
- sqlspec/core/statement.py +676 -0
- sqlspec/driver/__init__.py +7 -10
- sqlspec/driver/_async.py +422 -163
- sqlspec/driver/_common.py +545 -287
- sqlspec/driver/_sync.py +426 -160
- sqlspec/driver/mixins/__init__.py +2 -13
- sqlspec/driver/mixins/_result_tools.py +193 -0
- sqlspec/driver/mixins/_sql_translator.py +65 -14
- sqlspec/exceptions.py +5 -252
- sqlspec/extensions/aiosql/adapter.py +93 -96
- sqlspec/extensions/litestar/__init__.py +2 -1
- sqlspec/extensions/litestar/cli.py +48 -0
- sqlspec/extensions/litestar/config.py +0 -1
- sqlspec/extensions/litestar/handlers.py +15 -26
- sqlspec/extensions/litestar/plugin.py +21 -16
- sqlspec/extensions/litestar/providers.py +17 -52
- sqlspec/loader.py +423 -104
- sqlspec/migrations/__init__.py +35 -0
- sqlspec/migrations/base.py +414 -0
- sqlspec/migrations/commands.py +443 -0
- sqlspec/migrations/loaders.py +402 -0
- sqlspec/migrations/runner.py +213 -0
- sqlspec/migrations/tracker.py +140 -0
- sqlspec/migrations/utils.py +129 -0
- sqlspec/protocols.py +51 -186
- sqlspec/storage/__init__.py +1 -1
- sqlspec/storage/backends/base.py +37 -40
- sqlspec/storage/backends/fsspec.py +136 -112
- sqlspec/storage/backends/obstore.py +138 -160
- sqlspec/storage/capabilities.py +5 -4
- sqlspec/storage/registry.py +57 -106
- sqlspec/typing.py +136 -115
- sqlspec/utils/__init__.py +2 -2
- sqlspec/utils/correlation.py +0 -3
- sqlspec/utils/deprecation.py +6 -6
- sqlspec/utils/fixtures.py +6 -6
- sqlspec/utils/logging.py +0 -2
- sqlspec/utils/module_loader.py +7 -12
- sqlspec/utils/singleton.py +0 -1
- sqlspec/utils/sync_tools.py +17 -38
- sqlspec/utils/text.py +12 -51
- sqlspec/utils/type_guards.py +482 -235
- {sqlspec-0.13.1.dist-info → sqlspec-0.16.2.dist-info}/METADATA +7 -2
- sqlspec-0.16.2.dist-info/RECORD +134 -0
- sqlspec-0.16.2.dist-info/entry_points.txt +2 -0
- sqlspec/driver/connection.py +0 -207
- sqlspec/driver/mixins/_csv_writer.py +0 -91
- sqlspec/driver/mixins/_pipeline.py +0 -512
- sqlspec/driver/mixins/_result_utils.py +0 -140
- sqlspec/driver/mixins/_storage.py +0 -926
- sqlspec/driver/mixins/_type_coercion.py +0 -130
- sqlspec/driver/parameters.py +0 -138
- sqlspec/service/__init__.py +0 -4
- sqlspec/service/_util.py +0 -147
- sqlspec/service/base.py +0 -1131
- sqlspec/service/pagination.py +0 -26
- sqlspec/statement/__init__.py +0 -21
- sqlspec/statement/builder/insert.py +0 -288
- sqlspec/statement/builder/merge.py +0 -95
- sqlspec/statement/builder/mixins/__init__.py +0 -65
- sqlspec/statement/builder/mixins/_aggregate_functions.py +0 -250
- sqlspec/statement/builder/mixins/_case_builder.py +0 -91
- sqlspec/statement/builder/mixins/_common_table_expr.py +0 -90
- sqlspec/statement/builder/mixins/_from.py +0 -63
- sqlspec/statement/builder/mixins/_group_by.py +0 -118
- sqlspec/statement/builder/mixins/_having.py +0 -35
- sqlspec/statement/builder/mixins/_insert_from_select.py +0 -47
- sqlspec/statement/builder/mixins/_insert_into.py +0 -36
- sqlspec/statement/builder/mixins/_insert_values.py +0 -67
- sqlspec/statement/builder/mixins/_limit_offset.py +0 -53
- sqlspec/statement/builder/mixins/_order_by.py +0 -46
- sqlspec/statement/builder/mixins/_pivot.py +0 -79
- sqlspec/statement/builder/mixins/_returning.py +0 -37
- sqlspec/statement/builder/mixins/_select_columns.py +0 -61
- sqlspec/statement/builder/mixins/_set_ops.py +0 -122
- sqlspec/statement/builder/mixins/_unpivot.py +0 -77
- sqlspec/statement/builder/mixins/_update_from.py +0 -55
- sqlspec/statement/builder/mixins/_update_set.py +0 -94
- sqlspec/statement/builder/mixins/_update_table.py +0 -29
- sqlspec/statement/builder/mixins/_where.py +0 -401
- sqlspec/statement/builder/mixins/_window_functions.py +0 -86
- sqlspec/statement/builder/select.py +0 -221
- sqlspec/statement/filters.py +0 -596
- sqlspec/statement/parameter_manager.py +0 -220
- sqlspec/statement/parameters.py +0 -867
- sqlspec/statement/pipelines/__init__.py +0 -210
- sqlspec/statement/pipelines/analyzers/__init__.py +0 -9
- sqlspec/statement/pipelines/analyzers/_analyzer.py +0 -646
- sqlspec/statement/pipelines/context.py +0 -115
- sqlspec/statement/pipelines/transformers/__init__.py +0 -7
- sqlspec/statement/pipelines/transformers/_expression_simplifier.py +0 -88
- sqlspec/statement/pipelines/transformers/_literal_parameterizer.py +0 -1247
- sqlspec/statement/pipelines/transformers/_remove_comments_and_hints.py +0 -76
- sqlspec/statement/pipelines/validators/__init__.py +0 -23
- sqlspec/statement/pipelines/validators/_dml_safety.py +0 -290
- sqlspec/statement/pipelines/validators/_parameter_style.py +0 -370
- sqlspec/statement/pipelines/validators/_performance.py +0 -718
- sqlspec/statement/pipelines/validators/_security.py +0 -967
- sqlspec/statement/result.py +0 -435
- sqlspec/statement/sql.py +0 -1704
- sqlspec/statement/sql_compiler.py +0 -140
- sqlspec/utils/cached_property.py +0 -25
- sqlspec-0.13.1.dist-info/RECORD +0 -150
- {sqlspec-0.13.1.dist-info → sqlspec-0.16.2.dist-info}/WHEEL +0 -0
- {sqlspec-0.13.1.dist-info → sqlspec-0.16.2.dist-info}/licenses/LICENSE +0 -0
- {sqlspec-0.13.1.dist-info → sqlspec-0.16.2.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"""SQL compilation logic separated from the main SQL class."""
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING, Any, Optional, Union, cast
|
|
4
|
-
|
|
5
|
-
import sqlglot.expressions as exp
|
|
6
|
-
|
|
7
|
-
from sqlspec.exceptions import SQLCompilationError
|
|
8
|
-
from sqlspec.statement.parameters import ParameterConverter, ParameterStyle
|
|
9
|
-
from sqlspec.statement.pipelines import SQLProcessingContext, StatementPipeline
|
|
10
|
-
from sqlspec.statement.sql import SQLConfig
|
|
11
|
-
from sqlspec.utils.cached_property import CachedProperty
|
|
12
|
-
|
|
13
|
-
if TYPE_CHECKING:
|
|
14
|
-
from sqlglot.dialects.dialect import DialectType
|
|
15
|
-
|
|
16
|
-
from sqlspec.protocols import ProcessorProtocol
|
|
17
|
-
from sqlspec.statement.parameter_manager import ParameterManager
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
__all__ = ("SQLCompiler",)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class SQLCompiler:
|
|
24
|
-
"""Handles SQL compilation and pipeline processing."""
|
|
25
|
-
|
|
26
|
-
def __init__(
|
|
27
|
-
self,
|
|
28
|
-
expression: exp.Expression,
|
|
29
|
-
dialect: "Optional[DialectType]" = None,
|
|
30
|
-
parameter_manager: "Optional[ParameterManager]" = None,
|
|
31
|
-
is_script: bool = False,
|
|
32
|
-
original_sql: Optional[str] = None,
|
|
33
|
-
config: Optional[SQLConfig] = None,
|
|
34
|
-
) -> None:
|
|
35
|
-
self.expression = expression
|
|
36
|
-
self.dialect = dialect
|
|
37
|
-
self.parameter_manager = parameter_manager
|
|
38
|
-
self.is_script = is_script
|
|
39
|
-
self._original_sql = original_sql
|
|
40
|
-
self.config = config or SQLConfig(dialect=dialect)
|
|
41
|
-
|
|
42
|
-
@CachedProperty
|
|
43
|
-
def _pipeline(self) -> StatementPipeline:
|
|
44
|
-
"""Get the statement pipeline."""
|
|
45
|
-
validators: list[ProcessorProtocol] = []
|
|
46
|
-
|
|
47
|
-
if self.config.enable_validation and self.config.allowed_parameter_styles is not None:
|
|
48
|
-
from sqlspec.statement.pipelines.validators._parameter_style import ParameterStyleValidator
|
|
49
|
-
|
|
50
|
-
# In strict mode, fail on violations
|
|
51
|
-
validators.append(ParameterStyleValidator(fail_on_violation=self.config.strict_mode))
|
|
52
|
-
|
|
53
|
-
return StatementPipeline(validators=validators)
|
|
54
|
-
|
|
55
|
-
@CachedProperty
|
|
56
|
-
def _context(self) -> SQLProcessingContext:
|
|
57
|
-
"""Get the processing context."""
|
|
58
|
-
if isinstance(self.expression, exp.Anonymous) and self.expression.this:
|
|
59
|
-
sql_string = str(self.expression.this)
|
|
60
|
-
else:
|
|
61
|
-
sql_string = self.expression.sql(dialect=self.dialect)
|
|
62
|
-
|
|
63
|
-
context = SQLProcessingContext(initial_sql_string=sql_string, dialect=self.dialect, config=self.config)
|
|
64
|
-
context.initial_expression = self.expression
|
|
65
|
-
context.current_expression = self.expression
|
|
66
|
-
|
|
67
|
-
from sqlspec.statement.parameters import ParameterValidator
|
|
68
|
-
|
|
69
|
-
validator = ParameterValidator()
|
|
70
|
-
context.parameter_info = validator.extract_parameters(sql_string)
|
|
71
|
-
|
|
72
|
-
if self.parameter_manager:
|
|
73
|
-
if self.parameter_manager.positional_parameters:
|
|
74
|
-
context.merged_parameters = self.parameter_manager.positional_parameters
|
|
75
|
-
context.initial_parameters = self.parameter_manager.positional_parameters
|
|
76
|
-
elif self.parameter_manager.named_parameters:
|
|
77
|
-
context.merged_parameters = self.parameter_manager.named_parameters
|
|
78
|
-
context.initial_kwargs = self.parameter_manager.named_parameters
|
|
79
|
-
context.initial_parameters = self.parameter_manager.positional_parameters
|
|
80
|
-
context.initial_kwargs = self.parameter_manager.named_parameters
|
|
81
|
-
return context
|
|
82
|
-
|
|
83
|
-
@CachedProperty
|
|
84
|
-
def _processed_expr(self) -> exp.Expression:
|
|
85
|
-
"""Execute the processing pipeline and cache the result."""
|
|
86
|
-
try:
|
|
87
|
-
result = self._pipeline.execute_pipeline(self._context)
|
|
88
|
-
except Exception as e:
|
|
89
|
-
msg = f"Failed to compile SQL: {self._context.initial_sql_string}"
|
|
90
|
-
raise SQLCompilationError(msg) from e
|
|
91
|
-
else:
|
|
92
|
-
return cast("exp.Expression", result.expression)
|
|
93
|
-
|
|
94
|
-
@CachedProperty
|
|
95
|
-
def _compiled_sql(self) -> str:
|
|
96
|
-
"""Get the compiled SQL string."""
|
|
97
|
-
if self.is_script:
|
|
98
|
-
return str(self._original_sql or self.expression.sql(dialect=self.dialect))
|
|
99
|
-
# Always go through the pipeline to ensure validation runs
|
|
100
|
-
processed = self._processed_expr
|
|
101
|
-
if isinstance(processed, exp.Anonymous) and processed.this:
|
|
102
|
-
return str(processed.this)
|
|
103
|
-
return str(processed.sql(dialect=self.dialect, comments=False))
|
|
104
|
-
|
|
105
|
-
def compile(self, placeholder_style: Optional[str] = None) -> tuple[str, Any]:
|
|
106
|
-
"""Compile SQL and parameters."""
|
|
107
|
-
if self.is_script:
|
|
108
|
-
return self._compiled_sql, None
|
|
109
|
-
|
|
110
|
-
sql = self.to_sql(placeholder_style)
|
|
111
|
-
params = self._get_compiled_parameters(placeholder_style)
|
|
112
|
-
return sql, params
|
|
113
|
-
|
|
114
|
-
def to_sql(self, placeholder_style: Optional[str] = None) -> str:
|
|
115
|
-
"""Get the SQL string with a specific placeholder style."""
|
|
116
|
-
if placeholder_style is None or self.is_script:
|
|
117
|
-
return cast("str", self._compiled_sql)
|
|
118
|
-
|
|
119
|
-
converter = ParameterConverter()
|
|
120
|
-
sql = self._compiled_sql
|
|
121
|
-
|
|
122
|
-
target_style = ParameterStyle(placeholder_style)
|
|
123
|
-
return converter.convert_placeholders(sql, target_style, self._context.parameter_info)
|
|
124
|
-
|
|
125
|
-
def get_parameters(self, style: Union[ParameterStyle, str, None] = None) -> Any:
|
|
126
|
-
"""Get the parameters in a specific style."""
|
|
127
|
-
if self.is_script:
|
|
128
|
-
return None
|
|
129
|
-
return cast("Any", self._get_compiled_parameters(str(style) if style else None))
|
|
130
|
-
|
|
131
|
-
def _get_compiled_parameters(self, placeholder_style: Optional[str]) -> Any:
|
|
132
|
-
"""Get compiled parameters in target style."""
|
|
133
|
-
if not self.parameter_manager:
|
|
134
|
-
return None
|
|
135
|
-
|
|
136
|
-
# This ensures the pipeline has run and context is populated
|
|
137
|
-
_ = self._processed_expr
|
|
138
|
-
|
|
139
|
-
style_enum = ParameterStyle(placeholder_style) if placeholder_style else ParameterStyle.NAMED_COLON
|
|
140
|
-
return self.parameter_manager.get_compiled_parameters(self._context.parameter_info, style_enum)
|
sqlspec/utils/cached_property.py
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""A simple cached property decorator."""
|
|
2
|
-
|
|
3
|
-
from typing import Any, Callable, Generic, TypeVar
|
|
4
|
-
|
|
5
|
-
__all__ = ("CachedProperty",)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
T = TypeVar("T")
|
|
9
|
-
Cls = TypeVar("Cls")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class CachedProperty(Generic[T]):
|
|
13
|
-
"""A property that is only computed once per instance and then replaces
|
|
14
|
-
itself with an ordinary attribute. Deleting the attribute resets the
|
|
15
|
-
property.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(self, func: Callable[[Any], T]) -> None:
|
|
19
|
-
self.func = func
|
|
20
|
-
|
|
21
|
-
def __get__(self, obj: Any, cls: type[Any]) -> Any:
|
|
22
|
-
if obj is None:
|
|
23
|
-
return self
|
|
24
|
-
value = obj.__dict__[self.func.__name__] = self.func(obj)
|
|
25
|
-
return value
|
sqlspec-0.13.1.dist-info/RECORD
DELETED
|
@@ -1,150 +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=zqMtVWBZzbnNErB8VyJkjDCPq0RNkhGUPA2ZCOtzmGo,35759
|
|
5
|
-
sqlspec/_typing.py,sha256=Vn1CTCfedAHZV3pKZP-l_mPw9pTxesCzRKVRypzNY_k,17903
|
|
6
|
-
sqlspec/base.py,sha256=a7adbCUzohf1MU-iP0TxazGsk9fsJhJmxuFKNWkgC6o,18355
|
|
7
|
-
sqlspec/config.py,sha256=NJg5cjITI3GBCm3ru-m9K3y_XLa0Ru8Z4suG3TjXRmw,12896
|
|
8
|
-
sqlspec/exceptions.py,sha256=T2h-tCN05sRKSpXDjPtYXvNgwInNVzTpha1PIkSUROQ,14168
|
|
9
|
-
sqlspec/loader.py,sha256=J0PaBiY8kC_gCI-3i8Vj3IBZIgKJ4TvRAJzMQerLZMQ,15354
|
|
10
|
-
sqlspec/protocols.py,sha256=ce9L1nqxpmDSQqUR6UoKB8f5eL0hFnp2ProrsMwMsKk,17218
|
|
11
|
-
sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
sqlspec/typing.py,sha256=qkUcvruNzRUUfpv4AkbQezpy9SokhVHXlMbfFNwQlnU,8721
|
|
13
|
-
sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
sqlspec/adapters/adbc/__init__.py,sha256=v9bs7501PgEyzR1XIsEpE2Wdrj9DOYkZ4grysw72UXk,218
|
|
15
|
-
sqlspec/adapters/adbc/config.py,sha256=v_gk-C-StoWiSjmB9Ehl6ce2eGqUgb1-JUxSq3lS8l8,20022
|
|
16
|
-
sqlspec/adapters/adbc/driver.py,sha256=WP3YVS-9Y1aup9IQ7y4L8x9e414epcWCyhPHuBVp66w,16644
|
|
17
|
-
sqlspec/adapters/aiosqlite/__init__.py,sha256=7wPmhXQeu4jRi-LZzPxAPTdgRmgmyqCn9U-4wnCWoLM,258
|
|
18
|
-
sqlspec/adapters/aiosqlite/config.py,sha256=Ysbu6sLDVrUtztLRKgphQphxxUCaj2V4W55mLfK-lq0,7652
|
|
19
|
-
sqlspec/adapters/aiosqlite/driver.py,sha256=cfxuob0EmnLB3iCgpuqjw40-9ZWSmVLZ_UL3BNznXt0,11282
|
|
20
|
-
sqlspec/adapters/asyncmy/__init__.py,sha256=zYpebEt_PrNCifLcqXiCcWVm0Zl-LvWbFDromWwSTw8,270
|
|
21
|
-
sqlspec/adapters/asyncmy/config.py,sha256=VSEtK69IHjyjXA6c4AEKSIivGqKOz6B5G7IyCXREhug,10879
|
|
22
|
-
sqlspec/adapters/asyncmy/driver.py,sha256=7l9rsAxTiJhiTiBMQc0e1QwBDWopvfii5jgFwREITog,10085
|
|
23
|
-
sqlspec/adapters/asyncpg/__init__.py,sha256=svnbKlOin8jRL88AdAqflBEU-WEAzp0Thc2y50QsxIo,310
|
|
24
|
-
sqlspec/adapters/asyncpg/config.py,sha256=AAxEqH6ZbCUvr7nIokVurqhxfLgBdix07yFXIhDKSSg,12510
|
|
25
|
-
sqlspec/adapters/asyncpg/driver.py,sha256=X5IF5_NEiQ86aLspuqjY9Fh5OIluCCNa7TAzLEFENjQ,17572
|
|
26
|
-
sqlspec/adapters/bigquery/__init__.py,sha256=fWRH-BoCNX4rYwhU2DK64cXWpfkYpWIExddJAti0bxM,250
|
|
27
|
-
sqlspec/adapters/bigquery/config.py,sha256=iwQ3BPYtywjD17TaYh0YAO4X_ry5DkWIRKWPAeYrkzg,16929
|
|
28
|
-
sqlspec/adapters/bigquery/driver.py,sha256=2aVWjjVAWci92wyXKo5dVV9PGBb6uDkSvDBEEs1eFPw,30385
|
|
29
|
-
sqlspec/adapters/duckdb/__init__.py,sha256=I1f6szfpKKrq6WhyDoUXD3i3NN4yjsh94_fhP1URI5M,351
|
|
30
|
-
sqlspec/adapters/duckdb/config.py,sha256=DBfDLaS_y3qfdYgxCnfnWml7lj1OFOMeUrGxkt6kFj0,20304
|
|
31
|
-
sqlspec/adapters/duckdb/driver.py,sha256=JZipJMy1yUfedtlNZxd8pGTFVylve8ia4XeKfd7dd0c,18095
|
|
32
|
-
sqlspec/adapters/oracledb/__init__.py,sha256=nn3whn0UyBThoXnE1-5_byVuc9PJjvB2P896p7LpNZI,474
|
|
33
|
-
sqlspec/adapters/oracledb/config.py,sha256=wewrgAVbWuZVhIDfOUrf7B6GgkGX2tY-GNA-AYoaRNQ,23833
|
|
34
|
-
sqlspec/adapters/oracledb/driver.py,sha256=ZFOHGQwajIkG7PSWi_ER9QQRNdf18DyYho3L36m7CVU,24473
|
|
35
|
-
sqlspec/adapters/psqlpy/__init__.py,sha256=dp0-96V4SAbNEvOqlJ8PWEyJMYzZGElVoyneZqJ-fbQ,297
|
|
36
|
-
sqlspec/adapters/psqlpy/config.py,sha256=n62ku23eyL5hZPMt4dH0FsksFr89vNM4V-eKAABvQAA,16653
|
|
37
|
-
sqlspec/adapters/psqlpy/driver.py,sha256=liB3pGbDKuz2PyTd3QeDk3rRLKE57leviIdN_hqJHvg,9961
|
|
38
|
-
sqlspec/adapters/psycopg/__init__.py,sha256=ukkCUPrJPyAG78v4rOqcK4WZDs26PeB9Ra9qkFrGJ3E,484
|
|
39
|
-
sqlspec/adapters/psycopg/config.py,sha256=gjtms8wfL7BeUvfJG1K0TMZ6d3BtVzi5X5_enMS2Ieg,27759
|
|
40
|
-
sqlspec/adapters/psycopg/driver.py,sha256=UnnVJg5SwjReYWYX4fQ05JmL5hoJ1XeUby2m9IBrOgM,40064
|
|
41
|
-
sqlspec/adapters/sqlite/__init__.py,sha256=1lYrJ-DojUAOvXMoZRUJNEVyMmYhO41hMJnDWCEeXlw,234
|
|
42
|
-
sqlspec/adapters/sqlite/config.py,sha256=ph3FjdrbVkDaasGDEoZ-estP1NJdj8PqBJqpV-2IJxI,6191
|
|
43
|
-
sqlspec/adapters/sqlite/driver.py,sha256=0xBl7J5bPuv07fte5zPQj-bLhuiIC1_QPHu64i8Il80,12423
|
|
44
|
-
sqlspec/driver/__init__.py,sha256=0udRS5IlJ17HzOCvzapG8c_88yAwTQri1XLD_3fZxZU,671
|
|
45
|
-
sqlspec/driver/_async.py,sha256=ZSUNvVBU22KcpvKrDPJnlc6lnD49XLovS4vCQnr_OPA,9992
|
|
46
|
-
sqlspec/driver/_common.py,sha256=ALJyI6NS_pa0BOad0xiCMRwFLh4ykneaDW_xg9h8Z48,15811
|
|
47
|
-
sqlspec/driver/_sync.py,sha256=KzETeE-NHc1cOcX3LQ_88PejM-TJHD24UFQrB_yLDfQ,9832
|
|
48
|
-
sqlspec/driver/connection.py,sha256=zKP2p-VLxN07IPfOIBKMRELHN7ZMjmRVUKBgSW-6RQg,6610
|
|
49
|
-
sqlspec/driver/parameters.py,sha256=srU_7z3sB2vBu_lz9rAiDW2J2Ce47l12bqhxw6jEePE,4002
|
|
50
|
-
sqlspec/driver/mixins/__init__.py,sha256=-FSWLYq644NftRsmjmXMA9Q7_l7tIFAIh1ZyK0yrba8,652
|
|
51
|
-
sqlspec/driver/mixins/_csv_writer.py,sha256=-uRe7QZRWtdZTFG3Fiej4Ia8EyQcjYr7oPT6wb0qTOc,2716
|
|
52
|
-
sqlspec/driver/mixins/_pipeline.py,sha256=ESQyQo1ow_yerUvdFYS_CBy-6XS9tIow41j80yjCz4w,19588
|
|
53
|
-
sqlspec/driver/mixins/_result_utils.py,sha256=RvdE1BKwnTPx3aXDwnJEonJzp5PdT1Wgn63DGZyglvg,5692
|
|
54
|
-
sqlspec/driver/mixins/_sql_translator.py,sha256=p_PR4KBg9NKNpRpiEqA0hcUIttpdillHpnLUVJEcxuE,1519
|
|
55
|
-
sqlspec/driver/mixins/_storage.py,sha256=P6eIvCMCM6BMH4G0rbWZTb4Q54mmvtnTxk2pMp3JW7o,38558
|
|
56
|
-
sqlspec/driver/mixins/_type_coercion.py,sha256=ix-_p1-Yp9LhQdGFhFN1H_O8_VbVih-nzLPbsQiNFnE,4578
|
|
57
|
-
sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
sqlspec/extensions/aiosql/__init__.py,sha256=-9cefc9pYPf9vCgALoB-y1DtmcgRjKe2azfl6RIarAA,414
|
|
59
|
-
sqlspec/extensions/aiosql/adapter.py,sha256=BcJI0y0Hj5t5aH6_Kx_06EkKy3aBLsh7xIJH-LMMoGg,16544
|
|
60
|
-
sqlspec/extensions/litestar/__init__.py,sha256=aXF2g4-U86pdJHoOA6RCvZgnyHVBbjRhlWqcSuRX2gg,243
|
|
61
|
-
sqlspec/extensions/litestar/_utils.py,sha256=o-FuUj1_WkDrLxQxiP6hXDak66XfyRP3QLyEVKrIRjI,1954
|
|
62
|
-
sqlspec/extensions/litestar/config.py,sha256=vLXM425tCV3IbJiNO1ZG90ctjBTb9oQCuLsqCaUYmo8,4685
|
|
63
|
-
sqlspec/extensions/litestar/handlers.py,sha256=bVoWmHhCsHZkXZXYHE23yDaJlRoydfvU-boJjA3BSLE,10478
|
|
64
|
-
sqlspec/extensions/litestar/plugin.py,sha256=ysuy4dmF6VAhUkIcVOSPfv5HcBGmwSZ9_PjttBs81g4,5431
|
|
65
|
-
sqlspec/extensions/litestar/providers.py,sha256=wUGqPeNV58rPqL1iwDQg439C4y-Zg-eXEogjeFsv0iQ,21021
|
|
66
|
-
sqlspec/service/__init__.py,sha256=DayFSxYU4AMbcN0JWBuB1rtrOAs-amKIAIyTJXXNKH0,206
|
|
67
|
-
sqlspec/service/_util.py,sha256=K31tzlOsTXGhbXe4u5ltZYLExuaFtpiZoIHLOk8yNyM,6096
|
|
68
|
-
sqlspec/service/base.py,sha256=iW4LbrIxjrSt0mDPPSmuUGQgdQTFM-xgmZdThCLa5u4,40592
|
|
69
|
-
sqlspec/service/pagination.py,sha256=ndLQwsvswoISWEE_3IG9nmdHt42OZkVMJvr-2HTWsLw,619
|
|
70
|
-
sqlspec/statement/__init__.py,sha256=NDvdrpr1EqAZXp4HmhTVaRnWVscahPSHpmSO8DHSoMY,536
|
|
71
|
-
sqlspec/statement/filters.py,sha256=qX5KOe-rLmFwyD8xaUcTTkh45Dg1ViKx_hTAqjKtWh4,22565
|
|
72
|
-
sqlspec/statement/parameter_manager.py,sha256=nbeLzO2Hnm4Su8id-fKEELvWEI8dbbC5ZYiqo4jjbvc,9557
|
|
73
|
-
sqlspec/statement/parameters.py,sha256=8V9mNr5Lb4iZmHfucZB9HMYOI2OmhaNzr2ZnMSAYnKk,35791
|
|
74
|
-
sqlspec/statement/result.py,sha256=-yARFxg7Wsm8nAeHMpnJ58OLd2VujFiZx29wfo7eFVs,14514
|
|
75
|
-
sqlspec/statement/splitter.py,sha256=mCzJsNEtJFk4A0FdTELkG_qOggRFCQC_ZEJisVo9orY,24111
|
|
76
|
-
sqlspec/statement/sql.py,sha256=l_KrA91wlIAXIQiaOsvEqZbY-Hg6QWtF8Va2qr7mfCE,71916
|
|
77
|
-
sqlspec/statement/sql_compiler.py,sha256=f1UoGWjZTCLwOMBiG1R45_tq8oQlR8Qmm9fHKy_uXYA,5882
|
|
78
|
-
sqlspec/statement/builder/__init__.py,sha256=FMTnEKOIHCywjnqGXfOfzZzYKmciue0h37DG2KZAUZI,1610
|
|
79
|
-
sqlspec/statement/builder/_ddl_utils.py,sha256=P0INvHoOA9Mk7rmrga0xRvxF6YgNXchsg1Q3hfvlCqQ,4326
|
|
80
|
-
sqlspec/statement/builder/_parsing_utils.py,sha256=xAxWfa-mjjLPyweM9396lQy91G5MsxYyaJzTAoEiuAU,5753
|
|
81
|
-
sqlspec/statement/builder/base.py,sha256=DArCuNwDXslt73Jk5Io3WqUP1ZXA0e4cUXtzFjvQ5g4,14738
|
|
82
|
-
sqlspec/statement/builder/column.py,sha256=JWeZ5hnawCWm00jeojwm8i79p8oYNkg30SIdOOolNjM,11521
|
|
83
|
-
sqlspec/statement/builder/ddl.py,sha256=vqAebkN6JoX6n8aLVwZdyW3Xfyj3Ws6frWu-_7wy8uE,51516
|
|
84
|
-
sqlspec/statement/builder/delete.py,sha256=5BVwxcNY5nSgeZrZ4tSfdA2di3X8M3y7I5t9D35d0mk,2881
|
|
85
|
-
sqlspec/statement/builder/insert.py,sha256=Q2ArKq4BPP69G-OTxcUVgixlhsKjdOm248RJxtJFyps,10129
|
|
86
|
-
sqlspec/statement/builder/merge.py,sha256=SUrumqMrUBO1vMFWll45vvYj4DmrL3WuCZLdHap8ej8,2783
|
|
87
|
-
sqlspec/statement/builder/select.py,sha256=4UXNo9_13XQIqmzzovsRQBAwooFtBdzsolUoTzxgNE4,8642
|
|
88
|
-
sqlspec/statement/builder/update.py,sha256=qV5frucca42xuzSeAdBAqNnYTRyEZJrhkZ5uEI1eGKs,6245
|
|
89
|
-
sqlspec/statement/builder/mixins/__init__.py,sha256=B5GhsdySb_-DN3SvBlA2oimmymAJX3Rf4A7Xnz3uNN4,2887
|
|
90
|
-
sqlspec/statement/builder/mixins/_aggregate_functions.py,sha256=yeXm_mp0JDbzSe2N2vpJHbGVYmdnrCMqwdHXz2rJAVs,10551
|
|
91
|
-
sqlspec/statement/builder/mixins/_case_builder.py,sha256=fGdevoEZxmoJjsDV9Wwfom8vu3lmgF9B_o5HXCf25Kg,3047
|
|
92
|
-
sqlspec/statement/builder/mixins/_common_table_expr.py,sha256=R7BUdWEHpuPGumgBsUnUPaVLH0sF3oRiJRw-xXEkTj8,3694
|
|
93
|
-
sqlspec/statement/builder/mixins/_delete_from.py,sha256=HsJseeYY-HUoiTYRdPpCDG0kIHrhXOg_GA52RT7dEGY,1019
|
|
94
|
-
sqlspec/statement/builder/mixins/_from.py,sha256=bGcI7TuY3Z3Xx8oLR9jXx_d25s0db0uJBx4SSw0kKh8,2850
|
|
95
|
-
sqlspec/statement/builder/mixins/_group_by.py,sha256=gLbveNJuvk_FdZxYKBzx4cCQQvxqzecc_vmb5d8_Du0,4142
|
|
96
|
-
sqlspec/statement/builder/mixins/_having.py,sha256=X8-hdwEeJg4RYxyjhaYLvlkpzE0AwIPl6t8SPGz5gi0,1112
|
|
97
|
-
sqlspec/statement/builder/mixins/_insert_from_select.py,sha256=RMvdNXU1W7zqceOGwo_G_n0bbd-S63bBwOCs44H0j4Y,1801
|
|
98
|
-
sqlspec/statement/builder/mixins/_insert_into.py,sha256=7979JCYqKM_NRTHwkrJJY6l9lS2AQ-evZYRU8fs3yw0,1049
|
|
99
|
-
sqlspec/statement/builder/mixins/_insert_values.py,sha256=5kheKKtdpOVHSIPox88bYwtD4Rr5v1_J_K9Wmam7-Vk,2820
|
|
100
|
-
sqlspec/statement/builder/mixins/_join.py,sha256=lSGFtq_KJ985SCmUKmIx-4NwniIwQIVmLJYryF5mtc4,5658
|
|
101
|
-
sqlspec/statement/builder/mixins/_limit_offset.py,sha256=qLxBek2CpJz-k717ZTpJ5eVlQJ5McZPAQEwFbRM-XuI,1753
|
|
102
|
-
sqlspec/statement/builder/mixins/_merge_clauses.py,sha256=Tmi9Yb_7BPtFtpxj3splUTNQfjS8TdcN8TY9qJQqNNU,16798
|
|
103
|
-
sqlspec/statement/builder/mixins/_order_by.py,sha256=1yMXkl9MYd5uk3RRMWxhR4VCmvHGvwY6bojofFt6jc0,1717
|
|
104
|
-
sqlspec/statement/builder/mixins/_pivot.py,sha256=mnGNCZYbl00JAny6h9p-EQkhGNiNN8w--ZNd7X0Fs8I,3257
|
|
105
|
-
sqlspec/statement/builder/mixins/_returning.py,sha256=O39j2MEIcqiiUhFFGnyGwIXhLS7KrGigfZ9kPxFjjtI,1349
|
|
106
|
-
sqlspec/statement/builder/mixins/_select_columns.py,sha256=wVUg9ECJH6r1QEh7VWV6DGpb86oo4vuFHPpOx_G8Hcw,2421
|
|
107
|
-
sqlspec/statement/builder/mixins/_set_ops.py,sha256=uWV32ZAi2tojbS9b6Q0ZDIn1Rhbx4cCE42jhbVdm90I,5291
|
|
108
|
-
sqlspec/statement/builder/mixins/_unpivot.py,sha256=99tN2skDD3M77v7MyqisugxHR-6BB984FLX7iY4RpG0,3086
|
|
109
|
-
sqlspec/statement/builder/mixins/_update_from.py,sha256=NAHiL08NBoh8jFxZG_ZiSjbEDcIR9ni7-d--nVIXf6g,2540
|
|
110
|
-
sqlspec/statement/builder/mixins/_update_set.py,sha256=gLcGeBMSHqCGPrJz-pb5951g-4xCLJDltOzbMM1OQRM,4306
|
|
111
|
-
sqlspec/statement/builder/mixins/_update_table.py,sha256=FX3KezuHdu7YLQI4i5iniHWk1Lbzph8MzLcOM6iTd70,936
|
|
112
|
-
sqlspec/statement/builder/mixins/_where.py,sha256=kfttMYubr4zzOJkbxTh-U3lTt5uNFgkmjCEixs6n9LM,21227
|
|
113
|
-
sqlspec/statement/builder/mixins/_window_functions.py,sha256=8ldy06gK6jOlGg31oa1dCrG7IkfCVYvVr_f-lx0YcgU,3745
|
|
114
|
-
sqlspec/statement/pipelines/__init__.py,sha256=eFCKEmMqQAyDwfg9_kgE5e719OSC2nyhTme4IGmxb70,7326
|
|
115
|
-
sqlspec/statement/pipelines/context.py,sha256=mE7twvOydqyWQffp6KyMvOUl9FlTY9ypGL7M6SFYFK8,4210
|
|
116
|
-
sqlspec/statement/pipelines/analyzers/__init__.py,sha256=RY7W0AiWG-8qdrTmRSGlEofjrPPJCJUnNK-LRukKt5Q,330
|
|
117
|
-
sqlspec/statement/pipelines/analyzers/_analyzer.py,sha256=0_FDty6H_4JvQwee_NrzmptX9-VdhyAePXUstuq4MU4,27474
|
|
118
|
-
sqlspec/statement/pipelines/transformers/__init__.py,sha256=Kh4CE_izdwEsSF7Is6_6NXqtNmbLm5x5OWdnlUGp9ok,480
|
|
119
|
-
sqlspec/statement/pipelines/transformers/_expression_simplifier.py,sha256=0R2j046n12DDk1wGEmwX3f3KnaMUcSDWC0-lRmforjw,3385
|
|
120
|
-
sqlspec/statement/pipelines/transformers/_literal_parameterizer.py,sha256=N6a2lMGBHXcoHuSySY_9JhObNkPWabUBpR_25ZCnv0w,57183
|
|
121
|
-
sqlspec/statement/pipelines/transformers/_remove_comments_and_hints.py,sha256=-gM6VnlhNtQzSbQq44hQ5mhaPqNsjzeCaTgXTycgkOk,3008
|
|
122
|
-
sqlspec/statement/pipelines/validators/__init__.py,sha256=cdlwdLhOT2OwTbueIsA7bfRG2b6y-j7dw9pMzl5AP0M,747
|
|
123
|
-
sqlspec/statement/pipelines/validators/_dml_safety.py,sha256=s7Eee60u6w0K35vz4GVAwsB5Xy8zUqWhiIx_pRVfERo,10585
|
|
124
|
-
sqlspec/statement/pipelines/validators/_parameter_style.py,sha256=m8gNydG0KKyhmQyOEGZk8mhV_jLjT0vxIJy22AY8xkY,17840
|
|
125
|
-
sqlspec/statement/pipelines/validators/_performance.py,sha256=mTL5UB9Yj2XNjv31_CjqWHUAdj77iFtE7XDXQosG_20,26357
|
|
126
|
-
sqlspec/statement/pipelines/validators/_security.py,sha256=3WuH9n4j-VKOgmQnZvFIoI4MieRBVShtOZvXl2SJsyk,42103
|
|
127
|
-
sqlspec/storage/__init__.py,sha256=ZS8rmhN8e_h_df-Oab64Jh4EbddElBbmrtHkuO-KqOE,703
|
|
128
|
-
sqlspec/storage/capabilities.py,sha256=fsnQ9jbjHBFvd3P9yWAzfjPpVYUGcsTtR6fm5iOCvXY,3054
|
|
129
|
-
sqlspec/storage/registry.py,sha256=lv9pGt6vt0tDNAlao9qA7rSsFsCZtaOr48aG15IoMFA,10976
|
|
130
|
-
sqlspec/storage/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
|
-
sqlspec/storage/backends/base.py,sha256=34XYQuz1tQ-q_ZZwOz-Kimgvl088SR3VUYJoA-STslc,6350
|
|
132
|
-
sqlspec/storage/backends/fsspec.py,sha256=wo40MwtEjNTc73ZNTCmNC2-Img0zldUCaFGh9H3BZuE,14715
|
|
133
|
-
sqlspec/storage/backends/obstore.py,sha256=FnoVzTzzNn5NRXR8GgETqD3Rq9C5EWAmfWmY4JDFVJE,21214
|
|
134
|
-
sqlspec/utils/__init__.py,sha256=_Ya8IZuc2cZIstXr_xjgnSfxICXHXvu5mfWsi2USDrw,183
|
|
135
|
-
sqlspec/utils/cached_property.py,sha256=Sw_JZxfChSJu72gvYBJPF-89FyyIJAPf-1ETlDq-F2E,648
|
|
136
|
-
sqlspec/utils/correlation.py,sha256=4jqpjMivxI1tQ13Ed-P0hLdFHUKUQ9GlvIM69_HOlS4,4370
|
|
137
|
-
sqlspec/utils/deprecation.py,sha256=zrmb_eKRlLWVA6dWrjUbN3Vz6D3_-Z_15Ixk4H-sDRk,3850
|
|
138
|
-
sqlspec/utils/fixtures.py,sha256=q_Pghpmw2VgJ9P0TfkyjSF5PvdaD5Y2Laha0Bj4IDrA,1838
|
|
139
|
-
sqlspec/utils/logging.py,sha256=56a5tqx4jfTqm20WDyj5c7Dy-h_O0KambIKOMr1-Oms,3780
|
|
140
|
-
sqlspec/utils/module_loader.py,sha256=9LcmEhy4T0jgkCaDVkxX47PSgJOMeJ8IV67yXEWBp-U,3074
|
|
141
|
-
sqlspec/utils/serializers.py,sha256=TKsRryRcYMnb8Z8MGkYGClIxcYvC8CW7MsrPQTJqEcY,154
|
|
142
|
-
sqlspec/utils/singleton.py,sha256=KZ7481tlDAxq6gcAlpULVqPLNc9P0XkHOEp7hfWIHcI,1096
|
|
143
|
-
sqlspec/utils/sync_tools.py,sha256=ckP1_uLh40C2pDvdc4FsR4NkmZVa1zEB8jhUxPLIuAI,8726
|
|
144
|
-
sqlspec/utils/text.py,sha256=DpEnRuSDv3acp4VQQGEOQixlJnLGZsN5YBws4rkI6t0,4756
|
|
145
|
-
sqlspec/utils/type_guards.py,sha256=uEtfznkkumiy2lnPOde35Ylzq2RrcPB-MBiWseMCADg,25722
|
|
146
|
-
sqlspec-0.13.1.dist-info/METADATA,sha256=WxPFx2SCx_K8lCfY18xnwH30ZxhxhLV9KyUAMl0MJxw,16663
|
|
147
|
-
sqlspec-0.13.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
148
|
-
sqlspec-0.13.1.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
|
|
149
|
-
sqlspec-0.13.1.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
|
|
150
|
-
sqlspec-0.13.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|