sqlspec 0.14.1__py3-none-any.whl → 0.16.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/__init__.py +50 -25
- sqlspec/__main__.py +1 -1
- sqlspec/__metadata__.py +1 -3
- sqlspec/_serialization.py +1 -2
- sqlspec/_sql.py +480 -121
- sqlspec/_typing.py +278 -142
- sqlspec/adapters/adbc/__init__.py +4 -3
- sqlspec/adapters/adbc/_types.py +12 -0
- sqlspec/adapters/adbc/config.py +115 -260
- sqlspec/adapters/adbc/driver.py +462 -367
- sqlspec/adapters/aiosqlite/__init__.py +18 -3
- sqlspec/adapters/aiosqlite/_types.py +13 -0
- sqlspec/adapters/aiosqlite/config.py +199 -129
- sqlspec/adapters/aiosqlite/driver.py +230 -269
- sqlspec/adapters/asyncmy/__init__.py +18 -3
- sqlspec/adapters/asyncmy/_types.py +12 -0
- sqlspec/adapters/asyncmy/config.py +80 -168
- sqlspec/adapters/asyncmy/driver.py +260 -225
- sqlspec/adapters/asyncpg/__init__.py +19 -4
- sqlspec/adapters/asyncpg/_types.py +17 -0
- sqlspec/adapters/asyncpg/config.py +82 -181
- sqlspec/adapters/asyncpg/driver.py +285 -383
- sqlspec/adapters/bigquery/__init__.py +17 -3
- sqlspec/adapters/bigquery/_types.py +12 -0
- sqlspec/adapters/bigquery/config.py +191 -258
- sqlspec/adapters/bigquery/driver.py +474 -646
- sqlspec/adapters/duckdb/__init__.py +14 -3
- sqlspec/adapters/duckdb/_types.py +12 -0
- sqlspec/adapters/duckdb/config.py +415 -351
- sqlspec/adapters/duckdb/driver.py +343 -413
- sqlspec/adapters/oracledb/__init__.py +19 -5
- sqlspec/adapters/oracledb/_types.py +14 -0
- sqlspec/adapters/oracledb/config.py +123 -379
- sqlspec/adapters/oracledb/driver.py +507 -560
- sqlspec/adapters/psqlpy/__init__.py +13 -3
- sqlspec/adapters/psqlpy/_types.py +11 -0
- sqlspec/adapters/psqlpy/config.py +93 -254
- sqlspec/adapters/psqlpy/driver.py +505 -234
- sqlspec/adapters/psycopg/__init__.py +19 -5
- sqlspec/adapters/psycopg/_types.py +17 -0
- sqlspec/adapters/psycopg/config.py +143 -403
- sqlspec/adapters/psycopg/driver.py +706 -872
- sqlspec/adapters/sqlite/__init__.py +14 -3
- sqlspec/adapters/sqlite/_types.py +11 -0
- sqlspec/adapters/sqlite/config.py +202 -118
- sqlspec/adapters/sqlite/driver.py +264 -303
- sqlspec/base.py +105 -9
- sqlspec/{statement/builder → builder}/__init__.py +12 -14
- sqlspec/{statement/builder → builder}/_base.py +120 -55
- sqlspec/{statement/builder → builder}/_column.py +17 -6
- sqlspec/{statement/builder → builder}/_ddl.py +46 -79
- sqlspec/{statement/builder → builder}/_ddl_utils.py +5 -10
- sqlspec/{statement/builder → builder}/_delete.py +6 -25
- sqlspec/{statement/builder → builder}/_insert.py +18 -65
- sqlspec/builder/_merge.py +56 -0
- sqlspec/{statement/builder → builder}/_parsing_utils.py +8 -11
- sqlspec/{statement/builder → builder}/_select.py +11 -56
- sqlspec/{statement/builder → builder}/_update.py +12 -18
- sqlspec/{statement/builder → builder}/mixins/__init__.py +10 -14
- sqlspec/{statement/builder → builder}/mixins/_cte_and_set_ops.py +48 -59
- sqlspec/{statement/builder → builder}/mixins/_insert_operations.py +34 -18
- sqlspec/{statement/builder → builder}/mixins/_join_operations.py +1 -3
- sqlspec/{statement/builder → builder}/mixins/_merge_operations.py +19 -9
- sqlspec/{statement/builder → builder}/mixins/_order_limit_operations.py +3 -3
- sqlspec/{statement/builder → builder}/mixins/_pivot_operations.py +4 -8
- sqlspec/{statement/builder → builder}/mixins/_select_operations.py +25 -38
- sqlspec/{statement/builder → builder}/mixins/_update_operations.py +15 -16
- sqlspec/{statement/builder → builder}/mixins/_where_clause.py +210 -137
- sqlspec/cli.py +4 -5
- sqlspec/config.py +180 -133
- sqlspec/core/__init__.py +63 -0
- sqlspec/core/cache.py +873 -0
- sqlspec/core/compiler.py +396 -0
- sqlspec/core/filters.py +830 -0
- sqlspec/core/hashing.py +310 -0
- sqlspec/core/parameters.py +1209 -0
- sqlspec/core/result.py +664 -0
- sqlspec/{statement → core}/splitter.py +321 -191
- sqlspec/core/statement.py +666 -0
- sqlspec/driver/__init__.py +7 -10
- sqlspec/driver/_async.py +387 -176
- sqlspec/driver/_common.py +527 -289
- sqlspec/driver/_sync.py +390 -172
- sqlspec/driver/mixins/__init__.py +2 -19
- sqlspec/driver/mixins/_result_tools.py +164 -0
- sqlspec/driver/mixins/_sql_translator.py +6 -3
- sqlspec/exceptions.py +5 -252
- sqlspec/extensions/aiosql/adapter.py +93 -96
- sqlspec/extensions/litestar/cli.py +1 -1
- sqlspec/extensions/litestar/config.py +0 -1
- sqlspec/extensions/litestar/handlers.py +15 -26
- sqlspec/extensions/litestar/plugin.py +18 -16
- sqlspec/extensions/litestar/providers.py +17 -52
- sqlspec/loader.py +424 -105
- sqlspec/migrations/__init__.py +12 -0
- sqlspec/migrations/base.py +92 -68
- sqlspec/migrations/commands.py +24 -106
- sqlspec/migrations/loaders.py +402 -0
- sqlspec/migrations/runner.py +49 -51
- sqlspec/migrations/tracker.py +31 -44
- sqlspec/migrations/utils.py +64 -24
- sqlspec/protocols.py +7 -183
- 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 -3
- 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 +443 -232
- {sqlspec-0.14.1.dist-info → sqlspec-0.16.0.dist-info}/METADATA +7 -2
- sqlspec-0.16.0.dist-info/RECORD +134 -0
- sqlspec/adapters/adbc/transformers.py +0 -108
- sqlspec/driver/connection.py +0 -207
- sqlspec/driver/mixins/_cache.py +0 -114
- sqlspec/driver/mixins/_csv_writer.py +0 -91
- sqlspec/driver/mixins/_pipeline.py +0 -508
- sqlspec/driver/mixins/_query_tools.py +0 -796
- sqlspec/driver/mixins/_result_utils.py +0 -138
- sqlspec/driver/mixins/_storage.py +0 -912
- sqlspec/driver/mixins/_type_coercion.py +0 -128
- sqlspec/driver/parameters.py +0 -138
- sqlspec/statement/__init__.py +0 -21
- sqlspec/statement/builder/_merge.py +0 -95
- sqlspec/statement/cache.py +0 -50
- sqlspec/statement/filters.py +0 -625
- sqlspec/statement/parameters.py +0 -956
- 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 -109
- 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 -714
- sqlspec/statement/pipelines/validators/_security.py +0 -967
- sqlspec/statement/result.py +0 -435
- sqlspec/statement/sql.py +0 -1774
- sqlspec/utils/cached_property.py +0 -25
- sqlspec/utils/statement_hashing.py +0 -203
- sqlspec-0.14.1.dist-info/RECORD +0 -145
- /sqlspec/{statement/builder → builder}/mixins/_delete_operations.py +0 -0
- {sqlspec-0.14.1.dist-info → sqlspec-0.16.0.dist-info}/WHEEL +0 -0
- {sqlspec-0.14.1.dist-info → sqlspec-0.16.0.dist-info}/entry_points.txt +0 -0
- {sqlspec-0.14.1.dist-info → sqlspec-0.16.0.dist-info}/licenses/LICENSE +0 -0
- {sqlspec-0.14.1.dist-info → sqlspec-0.16.0.dist-info}/licenses/NOTICE +0 -0
sqlspec/__init__.py
CHANGED
|
@@ -1,67 +1,92 @@
|
|
|
1
1
|
"""SQLSpec: Safe and elegant SQL query building for Python."""
|
|
2
2
|
|
|
3
|
-
from sqlspec import adapters, base, driver, exceptions, extensions, loader,
|
|
3
|
+
from sqlspec import adapters, base, builder, core, driver, exceptions, extensions, loader, migrations, typing, utils
|
|
4
4
|
from sqlspec.__metadata__ import __version__
|
|
5
|
-
from sqlspec._sql import SQLFactory
|
|
5
|
+
from sqlspec._sql import SQLFactory, sql
|
|
6
6
|
from sqlspec.base import SQLSpec
|
|
7
|
+
from sqlspec.builder import (
|
|
8
|
+
Column,
|
|
9
|
+
ColumnExpression,
|
|
10
|
+
CreateTable,
|
|
11
|
+
Delete,
|
|
12
|
+
DropTable,
|
|
13
|
+
FunctionColumn,
|
|
14
|
+
Insert,
|
|
15
|
+
Merge,
|
|
16
|
+
QueryBuilder,
|
|
17
|
+
Select,
|
|
18
|
+
Update,
|
|
19
|
+
)
|
|
7
20
|
from sqlspec.config import AsyncDatabaseConfig, SyncDatabaseConfig
|
|
8
|
-
from sqlspec.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
from sqlspec.core import (
|
|
22
|
+
SQL,
|
|
23
|
+
ArrowResult,
|
|
24
|
+
CacheConfig,
|
|
25
|
+
CacheStats,
|
|
26
|
+
ParameterConverter,
|
|
27
|
+
ParameterProcessor,
|
|
28
|
+
ParameterStyle,
|
|
29
|
+
ParameterStyleConfig,
|
|
30
|
+
SQLResult,
|
|
31
|
+
Statement,
|
|
32
|
+
StatementConfig,
|
|
16
33
|
)
|
|
34
|
+
from sqlspec.core import filters as filters
|
|
35
|
+
from sqlspec.driver import AsyncDriverAdapterBase, ExecutionResult, SyncDriverAdapterBase
|
|
17
36
|
from sqlspec.loader import SQLFile, SQLFileLoader
|
|
18
|
-
from sqlspec.
|
|
19
|
-
from sqlspec.statement.result import ArrowResult, SQLResult
|
|
20
|
-
from sqlspec.statement.sql import SQL, SQLConfig
|
|
21
|
-
from sqlspec.typing import ConnectionT, DictRow, ModelDTOT, ModelT, RowT, StatementParameters
|
|
22
|
-
|
|
23
|
-
sql = SQLFactory()
|
|
37
|
+
from sqlspec.typing import ConnectionT, DictRow, ModelDTOT, ModelT, RowT, StatementParameters, SupportedSchemaModel
|
|
24
38
|
|
|
25
39
|
__all__ = (
|
|
26
40
|
"SQL",
|
|
27
41
|
"ArrowResult",
|
|
28
42
|
"AsyncDatabaseConfig",
|
|
43
|
+
"AsyncDriverAdapterBase",
|
|
44
|
+
"CacheConfig",
|
|
45
|
+
"CacheStats",
|
|
29
46
|
"Column",
|
|
30
47
|
"ColumnExpression",
|
|
31
48
|
"ConnectionT",
|
|
49
|
+
"CreateTable",
|
|
32
50
|
"Delete",
|
|
33
51
|
"DictRow",
|
|
52
|
+
"DropTable",
|
|
53
|
+
"ExecutionResult",
|
|
34
54
|
"FunctionColumn",
|
|
35
55
|
"Insert",
|
|
36
56
|
"Merge",
|
|
37
57
|
"ModelDTOT",
|
|
38
58
|
"ModelT",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
59
|
+
"ParameterConverter",
|
|
60
|
+
"ParameterProcessor",
|
|
61
|
+
"ParameterStyle",
|
|
62
|
+
"ParameterStyleConfig",
|
|
63
|
+
"QueryBuilder",
|
|
41
64
|
"RowT",
|
|
42
|
-
"
|
|
43
|
-
"SQLConfig",
|
|
65
|
+
"SQLFactory",
|
|
44
66
|
"SQLFile",
|
|
45
67
|
"SQLFileLoader",
|
|
46
|
-
"SQLFileNotFoundError",
|
|
47
|
-
"SQLFileParseError",
|
|
48
|
-
"SQLParsingError",
|
|
49
68
|
"SQLResult",
|
|
50
69
|
"SQLSpec",
|
|
51
|
-
"SQLValidationError",
|
|
52
70
|
"Select",
|
|
71
|
+
"Statement",
|
|
72
|
+
"StatementConfig",
|
|
53
73
|
"StatementParameters",
|
|
74
|
+
"SupportedSchemaModel",
|
|
54
75
|
"SyncDatabaseConfig",
|
|
76
|
+
"SyncDriverAdapterBase",
|
|
55
77
|
"Update",
|
|
56
78
|
"__version__",
|
|
57
79
|
"adapters",
|
|
58
80
|
"base",
|
|
81
|
+
"builder",
|
|
82
|
+
"core",
|
|
59
83
|
"driver",
|
|
60
84
|
"exceptions",
|
|
61
85
|
"extensions",
|
|
86
|
+
"filters",
|
|
62
87
|
"loader",
|
|
88
|
+
"migrations",
|
|
63
89
|
"sql",
|
|
64
|
-
"statement",
|
|
65
90
|
"typing",
|
|
66
91
|
"utils",
|
|
67
92
|
)
|
sqlspec/__main__.py
CHANGED
sqlspec/__metadata__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Metadata for the
|
|
1
|
+
"""Metadata for the project."""
|
|
2
2
|
|
|
3
3
|
from importlib.metadata import PackageNotFoundError, metadata, version
|
|
4
4
|
|
|
@@ -6,9 +6,7 @@ __all__ = ("__project__", "__version__")
|
|
|
6
6
|
|
|
7
7
|
try:
|
|
8
8
|
__version__ = version("sqlspec")
|
|
9
|
-
"""Version of the project."""
|
|
10
9
|
__project__ = metadata("sqlspec")["Name"]
|
|
11
|
-
"""Name of the project."""
|
|
12
10
|
except PackageNotFoundError: # pragma: no cover
|
|
13
11
|
__version__ = "0.0.1"
|
|
14
12
|
__project__ = "SQLSpec"
|
sqlspec/_serialization.py
CHANGED
|
@@ -15,10 +15,9 @@ def _type_to_string(value: Any) -> str: # pragma: no cover
|
|
|
15
15
|
if PYDANTIC_INSTALLED and isinstance(value, BaseModel):
|
|
16
16
|
return value.model_dump_json()
|
|
17
17
|
try:
|
|
18
|
-
|
|
18
|
+
return str(value)
|
|
19
19
|
except Exception as exc:
|
|
20
20
|
raise TypeError from exc
|
|
21
|
-
return val
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
try:
|