sqlspec 0.24.1__py3-none-any.whl → 0.26.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.

Files changed (95) hide show
  1. sqlspec/_serialization.py +223 -21
  2. sqlspec/_sql.py +20 -62
  3. sqlspec/_typing.py +11 -0
  4. sqlspec/adapters/adbc/config.py +8 -1
  5. sqlspec/adapters/adbc/data_dictionary.py +290 -0
  6. sqlspec/adapters/adbc/driver.py +129 -20
  7. sqlspec/adapters/adbc/type_converter.py +159 -0
  8. sqlspec/adapters/aiosqlite/config.py +3 -0
  9. sqlspec/adapters/aiosqlite/data_dictionary.py +117 -0
  10. sqlspec/adapters/aiosqlite/driver.py +17 -3
  11. sqlspec/adapters/asyncmy/_types.py +1 -1
  12. sqlspec/adapters/asyncmy/config.py +11 -8
  13. sqlspec/adapters/asyncmy/data_dictionary.py +122 -0
  14. sqlspec/adapters/asyncmy/driver.py +31 -7
  15. sqlspec/adapters/asyncpg/config.py +3 -0
  16. sqlspec/adapters/asyncpg/data_dictionary.py +134 -0
  17. sqlspec/adapters/asyncpg/driver.py +19 -4
  18. sqlspec/adapters/bigquery/config.py +3 -0
  19. sqlspec/adapters/bigquery/data_dictionary.py +109 -0
  20. sqlspec/adapters/bigquery/driver.py +21 -3
  21. sqlspec/adapters/bigquery/type_converter.py +93 -0
  22. sqlspec/adapters/duckdb/_types.py +1 -1
  23. sqlspec/adapters/duckdb/config.py +2 -0
  24. sqlspec/adapters/duckdb/data_dictionary.py +124 -0
  25. sqlspec/adapters/duckdb/driver.py +32 -5
  26. sqlspec/adapters/duckdb/pool.py +1 -1
  27. sqlspec/adapters/duckdb/type_converter.py +103 -0
  28. sqlspec/adapters/oracledb/config.py +6 -0
  29. sqlspec/adapters/oracledb/data_dictionary.py +442 -0
  30. sqlspec/adapters/oracledb/driver.py +68 -9
  31. sqlspec/adapters/oracledb/migrations.py +51 -67
  32. sqlspec/adapters/oracledb/type_converter.py +132 -0
  33. sqlspec/adapters/psqlpy/config.py +3 -0
  34. sqlspec/adapters/psqlpy/data_dictionary.py +133 -0
  35. sqlspec/adapters/psqlpy/driver.py +23 -179
  36. sqlspec/adapters/psqlpy/type_converter.py +73 -0
  37. sqlspec/adapters/psycopg/config.py +8 -4
  38. sqlspec/adapters/psycopg/data_dictionary.py +257 -0
  39. sqlspec/adapters/psycopg/driver.py +40 -5
  40. sqlspec/adapters/sqlite/config.py +3 -0
  41. sqlspec/adapters/sqlite/data_dictionary.py +117 -0
  42. sqlspec/adapters/sqlite/driver.py +18 -3
  43. sqlspec/adapters/sqlite/pool.py +13 -4
  44. sqlspec/base.py +3 -4
  45. sqlspec/builder/_base.py +130 -48
  46. sqlspec/builder/_column.py +66 -24
  47. sqlspec/builder/_ddl.py +91 -41
  48. sqlspec/builder/_insert.py +40 -58
  49. sqlspec/builder/_parsing_utils.py +127 -12
  50. sqlspec/builder/_select.py +147 -2
  51. sqlspec/builder/_update.py +1 -1
  52. sqlspec/builder/mixins/_cte_and_set_ops.py +31 -23
  53. sqlspec/builder/mixins/_delete_operations.py +12 -7
  54. sqlspec/builder/mixins/_insert_operations.py +50 -36
  55. sqlspec/builder/mixins/_join_operations.py +15 -30
  56. sqlspec/builder/mixins/_merge_operations.py +210 -78
  57. sqlspec/builder/mixins/_order_limit_operations.py +4 -10
  58. sqlspec/builder/mixins/_pivot_operations.py +1 -0
  59. sqlspec/builder/mixins/_select_operations.py +44 -22
  60. sqlspec/builder/mixins/_update_operations.py +30 -37
  61. sqlspec/builder/mixins/_where_clause.py +52 -70
  62. sqlspec/cli.py +246 -140
  63. sqlspec/config.py +33 -19
  64. sqlspec/core/__init__.py +3 -2
  65. sqlspec/core/cache.py +298 -352
  66. sqlspec/core/compiler.py +61 -4
  67. sqlspec/core/filters.py +246 -213
  68. sqlspec/core/hashing.py +9 -11
  69. sqlspec/core/parameters.py +27 -10
  70. sqlspec/core/statement.py +72 -12
  71. sqlspec/core/type_conversion.py +234 -0
  72. sqlspec/driver/__init__.py +6 -3
  73. sqlspec/driver/_async.py +108 -5
  74. sqlspec/driver/_common.py +186 -17
  75. sqlspec/driver/_sync.py +108 -5
  76. sqlspec/driver/mixins/_result_tools.py +60 -7
  77. sqlspec/exceptions.py +5 -0
  78. sqlspec/loader.py +8 -9
  79. sqlspec/migrations/__init__.py +4 -3
  80. sqlspec/migrations/base.py +153 -14
  81. sqlspec/migrations/commands.py +34 -96
  82. sqlspec/migrations/context.py +145 -0
  83. sqlspec/migrations/loaders.py +25 -8
  84. sqlspec/migrations/runner.py +352 -82
  85. sqlspec/storage/backends/fsspec.py +1 -0
  86. sqlspec/typing.py +4 -0
  87. sqlspec/utils/config_resolver.py +153 -0
  88. sqlspec/utils/serializers.py +50 -2
  89. {sqlspec-0.24.1.dist-info → sqlspec-0.26.0.dist-info}/METADATA +1 -1
  90. sqlspec-0.26.0.dist-info/RECORD +157 -0
  91. sqlspec-0.24.1.dist-info/RECORD +0 -139
  92. {sqlspec-0.24.1.dist-info → sqlspec-0.26.0.dist-info}/WHEEL +0 -0
  93. {sqlspec-0.24.1.dist-info → sqlspec-0.26.0.dist-info}/entry_points.txt +0 -0
  94. {sqlspec-0.24.1.dist-info → sqlspec-0.26.0.dist-info}/licenses/LICENSE +0 -0
  95. {sqlspec-0.24.1.dist-info → sqlspec-0.26.0.dist-info}/licenses/NOTICE +0 -0
@@ -0,0 +1,153 @@
1
+ """Configuration resolver for SQLSpec CLI.
2
+
3
+ This module provides utilities for resolving configuration objects from dotted paths,
4
+ with support for both direct config instances and callable functions that return configs.
5
+ Supports both synchronous and asynchronous callable functions.
6
+ """
7
+
8
+ import inspect
9
+ from collections.abc import Sequence
10
+ from typing import TYPE_CHECKING, Any, Union, cast
11
+
12
+ from sqlspec.exceptions import ConfigResolverError
13
+ from sqlspec.utils.module_loader import import_string
14
+ from sqlspec.utils.sync_tools import async_, await_
15
+
16
+ if TYPE_CHECKING:
17
+ from sqlspec.config import AsyncDatabaseConfig, SyncDatabaseConfig
18
+
19
+ __all__ = ("resolve_config_async", "resolve_config_sync")
20
+
21
+
22
+ async def resolve_config_async(
23
+ config_path: str,
24
+ ) -> "Union[list[Union[AsyncDatabaseConfig, SyncDatabaseConfig]], Union[AsyncDatabaseConfig, SyncDatabaseConfig]]":
25
+ """Resolve config from dotted path, handling callables and direct instances.
26
+
27
+ This is the async-first version that handles both sync and async callables efficiently.
28
+
29
+ Args:
30
+ config_path: Dotted path to config object or callable function.
31
+
32
+ Returns:
33
+ Resolved config instance or list of config instances.
34
+
35
+ Raises:
36
+ ConfigResolverError: If config resolution fails.
37
+ """
38
+ try:
39
+ config_obj = import_string(config_path)
40
+ except ImportError as e:
41
+ msg = f"Failed to import config from path '{config_path}': {e}"
42
+ raise ConfigResolverError(msg) from e
43
+
44
+ if not callable(config_obj):
45
+ return _validate_config_result(config_obj, config_path)
46
+
47
+ try:
48
+ if inspect.iscoroutinefunction(config_obj):
49
+ result = await config_obj()
50
+ else:
51
+ result = await async_(config_obj)()
52
+ except Exception as e:
53
+ msg = f"Failed to execute callable config '{config_path}': {e}"
54
+ raise ConfigResolverError(msg) from e
55
+
56
+ return _validate_config_result(result, config_path)
57
+
58
+
59
+ def resolve_config_sync(
60
+ config_path: str,
61
+ ) -> "Union[list[Union[AsyncDatabaseConfig, SyncDatabaseConfig]], Union[AsyncDatabaseConfig, SyncDatabaseConfig]]":
62
+ """Synchronous wrapper for resolve_config.
63
+
64
+ Args:
65
+ config_path: Dotted path to config object or callable function.
66
+
67
+ Returns:
68
+ Resolved config instance or list of config instances.
69
+ """
70
+ try:
71
+ config_obj = import_string(config_path)
72
+ except ImportError as e:
73
+ msg = f"Failed to import config from path '{config_path}': {e}"
74
+ raise ConfigResolverError(msg) from e
75
+
76
+ if not callable(config_obj):
77
+ return _validate_config_result(config_obj, config_path)
78
+
79
+ try:
80
+ if inspect.iscoroutinefunction(config_obj):
81
+ result = await_(config_obj, raise_sync_error=False)()
82
+ else:
83
+ result = config_obj()
84
+ except Exception as e:
85
+ msg = f"Failed to execute callable config '{config_path}': {e}"
86
+ raise ConfigResolverError(msg) from e
87
+
88
+ return _validate_config_result(result, config_path)
89
+
90
+
91
+ def _validate_config_result(
92
+ config_result: Any, config_path: str
93
+ ) -> "Union[list[Union[AsyncDatabaseConfig, SyncDatabaseConfig]], Union[AsyncDatabaseConfig, SyncDatabaseConfig]]":
94
+ """Validate that the config result is a valid config or list of configs.
95
+
96
+ Args:
97
+ config_result: The result from config resolution.
98
+ config_path: Original config path for error messages.
99
+
100
+ Returns:
101
+ Validated config result.
102
+
103
+ Raises:
104
+ ConfigResolverError: If config result is invalid.
105
+ """
106
+ if config_result is None:
107
+ msg = f"Config '{config_path}' resolved to None. Expected config instance or list of configs."
108
+ raise ConfigResolverError(msg)
109
+
110
+ if isinstance(config_result, Sequence) and not isinstance(config_result, str):
111
+ if not config_result:
112
+ msg = f"Config '{config_path}' resolved to empty list. Expected at least one config."
113
+ raise ConfigResolverError(msg)
114
+
115
+ for i, config in enumerate(config_result):
116
+ if not _is_valid_config(config):
117
+ msg = f"Config '{config_path}' returned invalid config at index {i}. Expected database config instance."
118
+ raise ConfigResolverError(msg)
119
+
120
+ return cast("list[Union[AsyncDatabaseConfig, SyncDatabaseConfig]]", list(config_result))
121
+
122
+ if not _is_valid_config(config_result):
123
+ msg = f"Config '{config_path}' returned invalid type '{type(config_result).__name__}'. Expected database config instance or list."
124
+ raise ConfigResolverError(msg)
125
+
126
+ return cast("Union[AsyncDatabaseConfig, SyncDatabaseConfig]", config_result)
127
+
128
+
129
+ def _is_valid_config(config: Any) -> bool:
130
+ """Check if an object is a valid SQLSpec database config.
131
+
132
+ Args:
133
+ config: Object to validate.
134
+
135
+ Returns:
136
+ True if object appears to be a valid config.
137
+ """
138
+ # Check for litestar extension DatabaseConfig wrapper
139
+ nested_config = getattr(config, "config", None)
140
+ if nested_config is not None and hasattr(nested_config, "migration_config"):
141
+ return True
142
+
143
+ # Check for direct database config with migration support
144
+ migration_config = getattr(config, "migration_config", None)
145
+ if migration_config is not None:
146
+ # Modern SQLSpec config with pool_config
147
+ if hasattr(config, "pool_config"):
148
+ return True
149
+ # Legacy config with database_url and bind_key
150
+ if hasattr(config, "database_url") and hasattr(config, "bind_key"):
151
+ return True
152
+
153
+ return False
@@ -4,7 +4,55 @@ Re-exports common JSON encoding and decoding functions from the core
4
4
  serialization module for convenient access.
5
5
  """
6
6
 
7
- from sqlspec._serialization import decode_json as from_json
8
- from sqlspec._serialization import encode_json as to_json
7
+ from typing import Any, Literal, Union, overload
8
+
9
+ from sqlspec._serialization import decode_json, encode_json
10
+
11
+
12
+ @overload
13
+ def to_json(data: Any, *, as_bytes: Literal[False] = ...) -> str: ...
14
+
15
+
16
+ @overload
17
+ def to_json(data: Any, *, as_bytes: Literal[True]) -> bytes: ...
18
+
19
+
20
+ def to_json(data: Any, *, as_bytes: bool = False) -> Union[str, bytes]:
21
+ """Encode data to JSON string or bytes.
22
+
23
+ Args:
24
+ data: Data to encode.
25
+ as_bytes: Whether to return bytes instead of string for optimal performance.
26
+
27
+ Returns:
28
+ JSON string or bytes representation based on as_bytes parameter.
29
+ """
30
+ if as_bytes:
31
+ return encode_json(data, as_bytes=True)
32
+ return encode_json(data, as_bytes=False)
33
+
34
+
35
+ @overload
36
+ def from_json(data: str) -> Any: ...
37
+
38
+
39
+ @overload
40
+ def from_json(data: bytes, *, decode_bytes: bool = ...) -> Any: ...
41
+
42
+
43
+ def from_json(data: Union[str, bytes], *, decode_bytes: bool = True) -> Any:
44
+ """Decode JSON string or bytes to Python object.
45
+
46
+ Args:
47
+ data: JSON string or bytes to decode.
48
+ decode_bytes: Whether to decode bytes input (vs passing through).
49
+
50
+ Returns:
51
+ Decoded Python object.
52
+ """
53
+ if isinstance(data, bytes):
54
+ return decode_json(data, decode_bytes=decode_bytes)
55
+ return decode_json(data)
56
+
9
57
 
10
58
  __all__ = ("from_json", "to_json")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlspec
3
- Version: 0.24.1
3
+ Version: 0.26.0
4
4
  Summary: SQL Experiments in Python
5
5
  Project-URL: Discord, https://discord.gg/litestar
6
6
  Project-URL: Issue, https://github.com/litestar-org/sqlspec/issues/
@@ -0,0 +1,157 @@
1
+ sqlspec/__init__.py,sha256=JkL9cp1h19tz1rCl-3WAep6kbZs8JLxNlb1SrQl8PWc,2114
2
+ sqlspec/__main__.py,sha256=lXBKZMOXA1uY735Rnsb-GS7aXy0nt22tYmd2X9FcxrY,253
3
+ sqlspec/__metadata__.py,sha256=IUw6MCTy1oeUJ1jAVYbuJLkOWbiAWorZ5W-E-SAD9N4,395
4
+ sqlspec/_serialization.py,sha256=4Po40wK8doN296COUi7Xhs-8-nHPnOJUFL0tiExuXp8,8869
5
+ sqlspec/_sql.py,sha256=O_3y_fY_yvhJhMRP4Bx7MAzcJOQkacW2ecQLhDu6yI0,44811
6
+ sqlspec/_typing.py,sha256=V70PLVseKQCoAYYGZCuW48pBl8Kv9iYQnSR4J88I1Ao,22985
7
+ sqlspec/base.py,sha256=OwkCifHUOAVGd2T0lrXb0I-zZuJv_vSyjUPzFR4Rff8,25441
8
+ sqlspec/cli.py,sha256=YYyJZXl2Smkg17dsZi8In_5QvNmvrK986d1NoOneTXI,24812
9
+ sqlspec/config.py,sha256=CNaYzvLC6K9oTExyvWSmmZTjh02oG0UbxYMD_h9qumc,22333
10
+ sqlspec/exceptions.py,sha256=92TZUrLNI3ZoHi54vGIO2TBCiMzWYWSwgV8XQQAoqGo,6198
11
+ sqlspec/loader.py,sha256=qiZE-lQb3wqN1TMJbsZOqEnEg5XpnieifYl4aIKqA2Q,23627
12
+ sqlspec/protocols.py,sha256=jSO2OeZvywqkaIvLRFDkQajJvDlErCICipToUH3Mvoo,12996
13
+ sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ sqlspec/typing.py,sha256=YkHJ2XjXhXsE853G0DTNoScIgI96CfQvPr_5OMFz80A,6391
15
+ sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ sqlspec/adapters/adbc/__init__.py,sha256=CqBaEahvHbQ5NxmBJuuCtZ8v5wuaPgbqSSe9WUhglWY,336
17
+ sqlspec/adapters/adbc/_types.py,sha256=htTZ20qVo6Iod_ooUTLGd0xAL8AUYA4qeOexTaLQG3Q,351
18
+ sqlspec/adapters/adbc/config.py,sha256=2shEiQPxOjJOE2DO6puuJ-c4Q3532g-AZmeFprgCdmE,13925
19
+ sqlspec/adapters/adbc/data_dictionary.py,sha256=8ORXPjffQshQ_PMEz0wlqe8gwbh7hHjySfqKGaIRnUc,11345
20
+ sqlspec/adapters/adbc/driver.py,sha256=XCo6sfoy5VUQw_kBfN2RabQ-vXcyjxwZ3wAoC1v9TDw,29054
21
+ sqlspec/adapters/adbc/type_converter.py,sha256=ROjaTkf2tYfC-jPMWvMMTmomHWlWM6oRWt_uzH8jcyo,5376
22
+ sqlspec/adapters/aiosqlite/__init__.py,sha256=rgooFeHm7IsnC9fOnRQwMvbJdgkTvhnNTYphayVz9q8,869
23
+ sqlspec/adapters/aiosqlite/_types.py,sha256=M8VqaW6iCigfExhdJM2yPAN09Ue2yBoBL59-QXGBObo,355
24
+ sqlspec/adapters/aiosqlite/config.py,sha256=cISgJyutew6lBY8G74w4f8LMSrhDgM_o3EbjxGgK6iY,8258
25
+ sqlspec/adapters/aiosqlite/data_dictionary.py,sha256=JtzEvZCfM1c_s3-JWNtK1adWb9Na4duD_iVKcHlHSwE,4203
26
+ sqlspec/adapters/aiosqlite/driver.py,sha256=WGm9rn1ZtKXHj5EBrOGZ03fkzcugkbJyzHVJ87hFW2Q,9996
27
+ sqlspec/adapters/aiosqlite/pool.py,sha256=cuzkXA2hMMk16aX28aNRaTmLDmqlepka9QhcWsdUA2E,17140
28
+ sqlspec/adapters/asyncmy/__init__.py,sha256=wBgak4MA3ySaGQHUxrnv3HdSVQKKRWf1_DmENL0LkWs,531
29
+ sqlspec/adapters/asyncmy/_types.py,sha256=l3Wod6kEdSu6Z3GoCTuFprl4Sq7cbjWxQntPLlpdUC4,269
30
+ sqlspec/adapters/asyncmy/config.py,sha256=Gtq-G-mgPYX-hRgLTcr7k9jdsWEdTLMK4bAmQWz_yVQ,6864
31
+ sqlspec/adapters/asyncmy/data_dictionary.py,sha256=NaJWlUxDqYy44HFfHTCeahHFlAv46PdyAQ6kI4UY4Uk,4309
32
+ sqlspec/adapters/asyncmy/driver.py,sha256=aDIgrWJFV7i8pz_jaJtMrVyIk89R81sEmvPHw-AL0z8,12785
33
+ sqlspec/adapters/asyncpg/__init__.py,sha256=h3lg3pLBLrS9ABBt5yKFKhGL69RpOlASYSqVCuAuURY,567
34
+ sqlspec/adapters/asyncpg/_types.py,sha256=p65WrqfUl2cx5Md759_aV8m_gHP-PyCzNk48bLhDQkc,425
35
+ sqlspec/adapters/asyncpg/config.py,sha256=cSaaFNqxs_e1ska9nhPdgMvgUZaQ5Ga_g0-pfyzPHf4,9806
36
+ sqlspec/adapters/asyncpg/data_dictionary.py,sha256=fl4o5JmZIVvBQtk9gS3tyws0WitWcqklwX2ExQy0q1g,4923
37
+ sqlspec/adapters/asyncpg/driver.py,sha256=Hx4uOqP9zr-QEYqvOF-TqYyNOQGnXix_ifHPN-0b_z8,12281
38
+ sqlspec/adapters/bigquery/__init__.py,sha256=1nzkWubO4ZObuK27QoeGfS05ed5v02NU4GaXrvqjlw0,504
39
+ sqlspec/adapters/bigquery/_types.py,sha256=gECmbiSmZmnR-xJpmznhnva4SbhhdcYQ09jBdqMAmOs,255
40
+ sqlspec/adapters/bigquery/config.py,sha256=8ZPyrikqg1cgo86j1wveLeAexf6lFpW01RHcMjjG7Yg,9579
41
+ sqlspec/adapters/bigquery/data_dictionary.py,sha256=vfN3hPOKmf8MPlOpJMEKnSCCCW6hT2gzvktuF77j90c,3801
42
+ sqlspec/adapters/bigquery/driver.py,sha256=zQxho3barBQBmRMeacSPzJLLi6vxDlFC8Ah1pQdvgVI,20436
43
+ sqlspec/adapters/bigquery/type_converter.py,sha256=4xj-9DD6DQUnpmg0-OG-NQEDyjgy7T3RLPsZGeB-SnA,2875
44
+ sqlspec/adapters/duckdb/__init__.py,sha256=c5GCYxhTFhvB8fUTt_d-dipaQfM8X5kv4GsU47SwJ6E,693
45
+ sqlspec/adapters/duckdb/_types.py,sha256=vfU52bdg2j8Hm6sbfEXHuRZgCdiKLBMA3GECMFYQq4I,302
46
+ sqlspec/adapters/duckdb/config.py,sha256=6EL9YtZRdeKismeSR4kA8i2xEx4WmeAJnHzBHV9NTvk,10110
47
+ sqlspec/adapters/duckdb/data_dictionary.py,sha256=CDPjD3tx-cE2kT-KRNeBRAuXizCodSBosKE580GjzCk,4224
48
+ sqlspec/adapters/duckdb/driver.py,sha256=HgMDx6516Jm4GmObPsRJZyT1QC6lnZeTn9NIBPTr_-k,12985
49
+ sqlspec/adapters/duckdb/pool.py,sha256=BNVLXtZVsXtCgkCmCfg2PtkJtapDIUo293Aoq0egtkk,8445
50
+ sqlspec/adapters/duckdb/type_converter.py,sha256=ATlwQ4_iwtOGT85JOaqfDTiP8Kf9XOFpMQQLZS3Fp6Y,3007
51
+ sqlspec/adapters/oracledb/__init__.py,sha256=AUsZ8m9tDgNwxv9m4LtkIs9Ib6hOtBrGNm-Ee4HWNq0,843
52
+ sqlspec/adapters/oracledb/_types.py,sha256=7Oe0DmA1ixptQjPMioQF7r2i451zzN2BMut2jTi2c3U,808
53
+ sqlspec/adapters/oracledb/config.py,sha256=0Qap8_05jjjWyW7o92U6O-65rOx7dUZDENy81-Bj_VM,12327
54
+ sqlspec/adapters/oracledb/data_dictionary.py,sha256=pO6DpQ6AMdoijJnPx2gNEA0XLJHfrZqEVcxxiqoKSlg,15861
55
+ sqlspec/adapters/oracledb/driver.py,sha256=XcuSj-Powzv9O9A_AqBSWNPTBhqSpk1FdDJY1Wc2ngY,21902
56
+ sqlspec/adapters/oracledb/migrations.py,sha256=PLv4HVQGcQnA1e69MHp3F5nJkRBAFSz-Emh-It7f4lc,8372
57
+ sqlspec/adapters/oracledb/type_converter.py,sha256=bcegKdRdOHS_L7zzTN_2xp7xWjk0jpdmfKxdnrrLy6k,4295
58
+ sqlspec/adapters/psqlpy/__init__.py,sha256=ABve2Oj-G-fxMO8WRJ0XzxEw2cs5H3INDnmUI99l8gc,526
59
+ sqlspec/adapters/psqlpy/_types.py,sha256=tG4jwQtBB6mCX5KU5x3hAhxsQUQlQEzbCsYhU3IouVc,269
60
+ sqlspec/adapters/psqlpy/config.py,sha256=r0a6kioUl3w3ZzCXaF9YFkPLUW59thHT2Z2Lu9NPmJA,8051
61
+ sqlspec/adapters/psqlpy/data_dictionary.py,sha256=QgQP_vVvDkMHwg3qHGxS4nY_LfO-81KUpRwYW1Ic31U,4895
62
+ sqlspec/adapters/psqlpy/driver.py,sha256=-vTV2v9K4wISU1aCIpILp26sD1JVlw0QtpGA-parOaQ,12789
63
+ sqlspec/adapters/psqlpy/type_converter.py,sha256=uENYoN9sjMXYLllFuemBFcjKyy4JHb6Of9YqXAIZa0I,2476
64
+ sqlspec/adapters/psycopg/__init__.py,sha256=swmTz8xlj6LvB-i78tBSE_T-sez2e6lFJW2cMzNJEVE,862
65
+ sqlspec/adapters/psycopg/_types.py,sha256=UJBKDWgARoSR6UxSy8zcIP7HSHTpXU5moJTsjDj0M4M,563
66
+ sqlspec/adapters/psycopg/config.py,sha256=88pBFbG50NjfairhMkuDB1sABPXKT6JyCiwc4YrqweU,16808
67
+ sqlspec/adapters/psycopg/data_dictionary.py,sha256=tOBzriHxmhiVHV6HitKqcuzunOVPh7lFRFimAH1yaZk,9340
68
+ sqlspec/adapters/psycopg/driver.py,sha256=MHji2mnK3ROowdYzSUvnFzAMySiEpf3rCNogRG9RjaQ,27823
69
+ sqlspec/adapters/sqlite/__init__.py,sha256=hGZX0D6vHJMSah60_hgWHoLmcqKGm1lYcz2r02wc0p0,574
70
+ sqlspec/adapters/sqlite/_types.py,sha256=4Nqolhk8s4mwLw13BwUjuyhAbM9BsKwJCvcmjMWkhaY,246
71
+ sqlspec/adapters/sqlite/config.py,sha256=hBUWzrb8HykfCHgtmV42HY_wqATQJI9fKPXwMI-d4pA,5204
72
+ sqlspec/adapters/sqlite/data_dictionary.py,sha256=vszQPHnyl2W3wdRZP71Xg8Px4y6Jlh-bhIbxqhGdQ3U,4115
73
+ sqlspec/adapters/sqlite/driver.py,sha256=obxa1JqvUjzozpVmcvr4-y5_qnENa39bLfRGuwgbWF8,11891
74
+ sqlspec/adapters/sqlite/pool.py,sha256=9YQfW3vbeuoX_USjLzPTWOj-EnVBjWEKz8bkxpC-NxM,4825
75
+ sqlspec/builder/__init__.py,sha256=iEniDtKnYOhPOgN7OhcvAO5leYdzXQTlFE8XXKWvhzg,1652
76
+ sqlspec/builder/_base.py,sha256=d8vlMq1Zpcs6Qg_98RTklJtbSRpfi9FFVNISxB71HBE,22397
77
+ sqlspec/builder/_column.py,sha256=daEn80H4hRidrBc29RRT-7_jrbCeBSrYRO6xV5HJsxg,14700
78
+ sqlspec/builder/_ddl.py,sha256=4kTkoj73lfRfy_JTf_8G_wk80uZUm3SdcRcN_xcC4Ls,58179
79
+ sqlspec/builder/_delete.py,sha256=icYjrxXIMSWso5TBkd712kmyUZMCWIxdIZHH24nCPAA,2130
80
+ sqlspec/builder/_expression_wrappers.py,sha256=HTl8qAFD4sZNXLD2akkJWGCPse2HWS237mTGE4Cx_7I,1244
81
+ sqlspec/builder/_insert.py,sha256=-wVXSpks8St5w719klfgOVR21kVuIyqzxisC69bK8IE,14446
82
+ sqlspec/builder/_merge.py,sha256=_Qs6YnJa0_6-pb21zk03PxDWsC7DdZnYfGxJfz-P6Ao,1886
83
+ sqlspec/builder/_parsing_utils.py,sha256=XPa8NduthETFREPfm7yxqlQlI8kjhCvApZvpa5ael8I,11965
84
+ sqlspec/builder/_select.py,sha256=SItRNyTmjHhlBZ48c0LHQbXJQtOZ71wXLjiqy-VHbBY,10526
85
+ sqlspec/builder/_update.py,sha256=NjYTisc1PnTcbQTTrjhHjMqf1mHfrasmvHMxdUavP0k,5881
86
+ sqlspec/builder/mixins/__init__.py,sha256=YXhAzKmQbQtne5j26SKWY8PUxwosl0RhlhLoahAdkj0,1885
87
+ sqlspec/builder/mixins/_cte_and_set_ops.py,sha256=YpszwT2QK8XnEiNyF-Ez9HA2uUs6ABR-2ZpbPJzXtMs,10581
88
+ sqlspec/builder/mixins/_delete_operations.py,sha256=8R67e4wKgGK5k-ry4VCV6CPj0f0qJnxZLWa0k-rwY-I,1480
89
+ sqlspec/builder/mixins/_insert_operations.py,sha256=CvkvY3yP07c1N04VQ9baAnwEfHp4kANDBZH_2WhlbFI,10961
90
+ sqlspec/builder/mixins/_join_operations.py,sha256=hCBw47UnywudCam-JzbQjCrANzT50RkAh5ODZ7BCYWE,15051
91
+ sqlspec/builder/mixins/_merge_operations.py,sha256=1MOSyTGNhjApjijwmWYBKwlISo8bn1Z4aqcBeZKtlPs,28742
92
+ sqlspec/builder/mixins/_order_limit_operations.py,sha256=jzu7zFDoudcsv64bcZH_EbjT62T7-Ndt3kig9OO6h24,5279
93
+ sqlspec/builder/mixins/_pivot_operations.py,sha256=WlLlWFvvC6YWjbxQ_Xe4vmnCEP-MLNiPCdTCpB_uh8E,6199
94
+ sqlspec/builder/mixins/_select_operations.py,sha256=V9i4Kan-SYWdP9_FpGbcBKwVAGiy_bjlK2OBsLNwhpU,35974
95
+ sqlspec/builder/mixins/_update_operations.py,sha256=KCxN4Wm2JZTrjt4V7LHxQLHwRTmL1LBJzUaf1lgmP8M,8044
96
+ sqlspec/builder/mixins/_where_clause.py,sha256=CKgy9MIOM7xF8Y4V4_e6KYh-m-KwZCL2UCUE70qit8A,65641
97
+ sqlspec/core/__init__.py,sha256=lpzozMdo37hwDa1t8tPfrViwQ91_9wbPlMHn14CRTSs,5284
98
+ sqlspec/core/cache.py,sha256=zJ9Tjjgg9uYo9njZGcike4eAsJuWjY8RX1mHTLPDRUI,22863
99
+ sqlspec/core/compiler.py,sha256=w1x5GnQqsnxg_N-zhI_v_xSN0h2ALlZLobnZWgBqymI,15099
100
+ sqlspec/core/filters.py,sha256=4k7K6415wQVhj-2XEjhL6jDqcO7JnHuaELSriUQUQdU,30094
101
+ sqlspec/core/hashing.py,sha256=un9t00qxfz_f0eVXMA6aRpigPIgPiCPwD1G3dscJB44,8512
102
+ sqlspec/core/parameters.py,sha256=uOwsiFs7UV0j_JASfUhdOOtLexPYMy2eTn1TtrbR2W4,49907
103
+ sqlspec/core/result.py,sha256=v5ZKVi9J6RiP6Hm5WwJVy1xpSbmJERg0T-fZD7GYRjo,22245
104
+ sqlspec/core/splitter.py,sha256=HIUu9INxAKUzHFqtwcH_VVhDdIBVWBDbV1_mVCHm0U4,31000
105
+ sqlspec/core/statement.py,sha256=iuywN72HnGD6-69EyKwzxYYGPZn3zTF-B8Ii2_MEVus,30145
106
+ sqlspec/core/type_conversion.py,sha256=16e7fyuOC5ep0IV0kPdNoHiNf9RQSxOPohdTHRBRBtk,6026
107
+ sqlspec/driver/__init__.py,sha256=23soAoOYzmjtefZy2l6nDL2t2onjP-599ADBSEzOCrQ,711
108
+ sqlspec/driver/_async.py,sha256=vYsouriNoAwSZGOaujtR0btuWq9jmJXzo1fZy9qANNo,22170
109
+ sqlspec/driver/_common.py,sha256=zsX1n51Y1E5LpOkH0FkA97ISi-z3L_iXttZKL25Y4yM,30068
110
+ sqlspec/driver/_sync.py,sha256=kiqM1fOv763QNyteEaIwJrZAx3ySuWAO0yvIuTTXcTU,21889
111
+ sqlspec/driver/mixins/__init__.py,sha256=gN4pQyJXxNy0xi91dcMJGA7DQ7TbjGjQI24SSpZc6Go,248
112
+ sqlspec/driver/mixins/_result_tools.py,sha256=yIMBQuhjoy-7hbA9Cq8Lpk3Iiztri_aVe9ww8iUi5b0,10668
113
+ sqlspec/driver/mixins/_sql_translator.py,sha256=TACtUUJdx8tJwuq_7g3AR_k0bKokvuJrMEwINyWwdQM,3711
114
+ sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
+ sqlspec/extensions/aiosql/__init__.py,sha256=-9cefc9pYPf9vCgALoB-y1DtmcgRjKe2azfl6RIarAA,414
116
+ sqlspec/extensions/aiosql/adapter.py,sha256=WshAQkpNJQ9zCMcL7EuAc6axl90GwRp3oBZ4XOQoftk,16019
117
+ sqlspec/extensions/litestar/__init__.py,sha256=tOmQ7RHSWOot7p30gk0efxxuP0OCq1opyyZqNmQY7FE,320
118
+ sqlspec/extensions/litestar/_utils.py,sha256=iaicqnnkC5CuDwJKStz0T7lFaYMrgR96SYKZpe71v2g,1950
119
+ sqlspec/extensions/litestar/cli.py,sha256=X4DlAx3Ry-ccOjAQSxe8SMtyJKCFJVLTbENPU_efKuU,1356
120
+ sqlspec/extensions/litestar/config.py,sha256=AXAQsjc_tb88wk31d4v31e_6oOtDKz9DS0NA7wg_3Q8,12414
121
+ sqlspec/extensions/litestar/handlers.py,sha256=DXYO1FUOmG3YE4E7RlxWCPNl8YgbUzVO8pHgwZeuDOw,10625
122
+ sqlspec/extensions/litestar/plugin.py,sha256=4G_r3lna1TClWXnYXJwAYAH52z_t9cbrbLBn83Utmpg,15974
123
+ sqlspec/extensions/litestar/providers.py,sha256=5LRb5JvRV_XZdNOKkdaIy3j5x-dFCcAi1ea1pgwuapI,18882
124
+ sqlspec/migrations/__init__.py,sha256=Q6FIb529_Eeym_eLyVgRRVeT512iBzwTPGv99okf2_Q,1127
125
+ sqlspec/migrations/base.py,sha256=BbvJwgwWE3qm4rKkmZ7xZWRIjOQ4MJNAuygwuhlrW_4,19837
126
+ sqlspec/migrations/commands.py,sha256=_G_vwd9TDbaP7UnbsxmSR3PJiajeJirEQhkvtpopyS8,16559
127
+ sqlspec/migrations/context.py,sha256=wIhQTEEitdKYiL1SS9Ucmy8PbW6aQelofMKavE4he9Y,4985
128
+ sqlspec/migrations/loaders.py,sha256=F0KZhBczLxxuvaG-qY0yOZQUdAfqRAc4h78UzbOwsa4,14049
129
+ sqlspec/migrations/runner.py,sha256=if-__hpdFcciLaL9vcFWWyQIyXvQk6StRJhUnfW-uHE,21900
130
+ sqlspec/migrations/tracker.py,sha256=hfrZGz8M70SfFniw4aXVtHNg4p8EPFm67vthjfUMUys,6843
131
+ sqlspec/migrations/utils.py,sha256=Ft5mS1GFiRPLhfUTfPU4ZnEgOkXDnmEHjeeWwfZDcv4,3737
132
+ sqlspec/storage/__init__.py,sha256=IX7xLuymGdQKOBQL1sNEA-bzZRJGjncUbQbs6ZToDDE,395
133
+ sqlspec/storage/registry.py,sha256=yJZrLDu1vr86C6En3MlzCPOjUNYkvA5Ow-AKrLEDvpI,10754
134
+ sqlspec/storage/backends/__init__.py,sha256=3oSqwEQ_trU2QoxtUTX-5IFeOvo7WGcESY6gIfcmSaE,24
135
+ sqlspec/storage/backends/base.py,sha256=KS2JRZILoH_R_xsfKtYkqQ5a1r5OOBDSE5KbibTmhGY,5730
136
+ sqlspec/storage/backends/fsspec.py,sha256=0-lUKOHj_2bVUSfALDSykwbQ_iP_og9VW02AEFG44xk,13618
137
+ sqlspec/storage/backends/local.py,sha256=vsFnttNesNYjsY_l-KoH6rld51L3E6mxeODtMJawFPQ,12793
138
+ sqlspec/storage/backends/obstore.py,sha256=4RUZAMCF16h1IQ4dEib-0j8TLnhPf0Jhy2lmRJSe7Kw,20512
139
+ sqlspec/utils/__init__.py,sha256=cNFX26-bLyZTyTfujUitfDkUy1CeG_d-EIr8kZ0z4W8,474
140
+ sqlspec/utils/config_resolver.py,sha256=5sjo1OHZmxCoZ9Y0HqxrvihOp7KJWgOPQT9ERIjNR5g,5519
141
+ sqlspec/utils/correlation.py,sha256=2jvkAY3nkU3UxNU_9pbBR6cz3A1Q1cGG9IaWSSOIb1Q,4195
142
+ sqlspec/utils/data_transformation.py,sha256=U37zyxR4f5PxsxKdC7QzcMyJxfqpsXUxgH_ch5l3PbY,3951
143
+ sqlspec/utils/deprecation.py,sha256=iy7xzws6Kx0oQpX94smyZzTY6ijdODrdSEFFEXZfp5o,3980
144
+ sqlspec/utils/fixtures.py,sha256=qnPAdkV91dyKOqslm_TH5UZ8mx4koQMwriE5YPn3PgI,9425
145
+ sqlspec/utils/logging.py,sha256=zAM7rHJ-KsmAj1yjvU9QFoiwf4Q2hKTere2J62FlllI,3664
146
+ sqlspec/utils/module_loader.py,sha256=rO4ht-fUSJ3Us7L_7fb_G9bdMCoUSABGUA0pc3ouh9Y,2995
147
+ sqlspec/utils/serializers.py,sha256=0k1GxOTDwc1ot1_Q_ZATmfy6w610UoIruaViCLMKUTk,1485
148
+ sqlspec/utils/singleton.py,sha256=-j-s6LS0pP_wTEUYIyK2wSdoeIE_tn7O7B-j7_aODRQ,1252
149
+ sqlspec/utils/sync_tools.py,sha256=ONdhmx1Dq0_c6ReRaTlXzz6dVmAwz6CybCvsTUAVu1g,8768
150
+ sqlspec/utils/text.py,sha256=ZqaXCVuUbdj_110pdTYjmAxfV3ZtR7J6EixuNazQLFY,3333
151
+ sqlspec/utils/type_guards.py,sha256=0KCosuWZXWExUDJTHPSAP0KxXOokX3eraTjTxURUAJ0,33762
152
+ sqlspec-0.26.0.dist-info/METADATA,sha256=bDec6jwSH3rUs4N0RX4WJH6cEBw1KwXPq0NZIBGwcHA,23548
153
+ sqlspec-0.26.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
154
+ sqlspec-0.26.0.dist-info/entry_points.txt,sha256=G-ZqY1Nuuw3Iys7nXw23f6ILenk_Lt47VdK2mhJCWHg,53
155
+ sqlspec-0.26.0.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
156
+ sqlspec-0.26.0.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
157
+ sqlspec-0.26.0.dist-info/RECORD,,
@@ -1,139 +0,0 @@
1
- sqlspec/__init__.py,sha256=JkL9cp1h19tz1rCl-3WAep6kbZs8JLxNlb1SrQl8PWc,2114
2
- sqlspec/__main__.py,sha256=lXBKZMOXA1uY735Rnsb-GS7aXy0nt22tYmd2X9FcxrY,253
3
- sqlspec/__metadata__.py,sha256=IUw6MCTy1oeUJ1jAVYbuJLkOWbiAWorZ5W-E-SAD9N4,395
4
- sqlspec/_serialization.py,sha256=6U5-smk2h2yl0i6am2prtOLJTdu4NJQdcLlSfSUMaUQ,2590
5
- sqlspec/_sql.py,sha256=bU-8kTUJ9qP2xtm28fcVKAWA7zPZjjgYq3DvNQPs63Q,46354
6
- sqlspec/_typing.py,sha256=jv-7QHGLrJLfnP86bR-Xcmj3PDoddNZEKDz_vYRBiAU,22684
7
- sqlspec/base.py,sha256=koDh1AecwCAkntSqSda6J_cpMOLonXiV6hh3GCCXf_s,25459
8
- sqlspec/cli.py,sha256=Fe5Wbnrb_fkE9qm4gbBEXx3d0Q7VR-S-1t76ouAx2mg,20120
9
- sqlspec/config.py,sha256=PQKKLXst_uMvqvTSQib6qMZfJd-g3Kqqlp7XLn9kA8A,21640
10
- sqlspec/exceptions.py,sha256=zBnzQOfYAgqX04GoaC9Io6ardzinldkEuZ3YtR5vr9U,6071
11
- sqlspec/loader.py,sha256=4Gl4LcdVwEB6-4F-KiCnlI3nzyG3LVOFvRMAQNC64qE,23748
12
- sqlspec/protocols.py,sha256=jSO2OeZvywqkaIvLRFDkQajJvDlErCICipToUH3Mvoo,12996
13
- sqlspec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- sqlspec/typing.py,sha256=yj8D8O-pkfUVZDfVHEgQaB95-5alwgQbp_sqNJOVhvQ,6301
15
- sqlspec/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- sqlspec/adapters/adbc/__init__.py,sha256=CqBaEahvHbQ5NxmBJuuCtZ8v5wuaPgbqSSe9WUhglWY,336
17
- sqlspec/adapters/adbc/_types.py,sha256=htTZ20qVo6Iod_ooUTLGd0xAL8AUYA4qeOexTaLQG3Q,351
18
- sqlspec/adapters/adbc/config.py,sha256=gekx9tzOA5vpcMWqczX5B5xKMbXCEnyYWavrrYll7j0,13583
19
- sqlspec/adapters/adbc/driver.py,sha256=mbkWuxQdXraEH6nNJcjd4HOdCnNW7VWcYMtS7JVmKBo,24085
20
- sqlspec/adapters/aiosqlite/__init__.py,sha256=rgooFeHm7IsnC9fOnRQwMvbJdgkTvhnNTYphayVz9q8,869
21
- sqlspec/adapters/aiosqlite/_types.py,sha256=M8VqaW6iCigfExhdJM2yPAN09Ue2yBoBL59-QXGBObo,355
22
- sqlspec/adapters/aiosqlite/config.py,sha256=MmCl_0Be89OijlcY1EUgA87A1NNtF1CHjl6p_R6Dfks,8112
23
- sqlspec/adapters/aiosqlite/driver.py,sha256=pqrrRNmKKeEPX8871TzLwdehFB6-6ULwpM2Ke9Tsl-o,9458
24
- sqlspec/adapters/aiosqlite/pool.py,sha256=cuzkXA2hMMk16aX28aNRaTmLDmqlepka9QhcWsdUA2E,17140
25
- sqlspec/adapters/asyncmy/__init__.py,sha256=wBgak4MA3ySaGQHUxrnv3HdSVQKKRWf1_DmENL0LkWs,531
26
- sqlspec/adapters/asyncmy/_types.py,sha256=WbwREzJkLYmqd4c7A7cu04WaD5g7-n35ZETHZvbP1Z8,250
27
- sqlspec/adapters/asyncmy/config.py,sha256=DHk-MTkBcGPPmYI4RMJbUWWKbcu1ZaoG_8LS0aZR0P8,6603
28
- sqlspec/adapters/asyncmy/driver.py,sha256=M7CSA1NL7ZIRmOCZ3Qra6g8TXb6hptuTMXzblnEj3mA,11545
29
- sqlspec/adapters/asyncpg/__init__.py,sha256=h3lg3pLBLrS9ABBt5yKFKhGL69RpOlASYSqVCuAuURY,567
30
- sqlspec/adapters/asyncpg/_types.py,sha256=p65WrqfUl2cx5Md759_aV8m_gHP-PyCzNk48bLhDQkc,425
31
- sqlspec/adapters/asyncpg/config.py,sha256=LKBO_5LP3SJjR1blp7JBq6QyfaZ_H1IeiLzCGtxsxs8,9661
32
- sqlspec/adapters/asyncpg/driver.py,sha256=IsYZ9fTWNdN2EIcHtedL3Y5zCH2-sgtcJLA0aCc-CAw,11641
33
- sqlspec/adapters/bigquery/__init__.py,sha256=1nzkWubO4ZObuK27QoeGfS05ed5v02NU4GaXrvqjlw0,504
34
- sqlspec/adapters/bigquery/_types.py,sha256=gECmbiSmZmnR-xJpmznhnva4SbhhdcYQ09jBdqMAmOs,255
35
- sqlspec/adapters/bigquery/config.py,sha256=Dp0LKg9p88n4C4WQMaf9_A7YicIJT9DgcCXci46NTFk,9434
36
- sqlspec/adapters/bigquery/driver.py,sha256=ymcG3k_EJ_dmhx6lYWB4MOgF5ng2Utux-DWy3TMkl4Q,19725
37
- sqlspec/adapters/duckdb/__init__.py,sha256=c5GCYxhTFhvB8fUTt_d-dipaQfM8X5kv4GsU47SwJ6E,693
38
- sqlspec/adapters/duckdb/_types.py,sha256=4p5nuD1yNs0fmQ5sGxKFx2ru6jUCPrpsYgqfh-uZHM8,270
39
- sqlspec/adapters/duckdb/config.py,sha256=7CWXpKWX1NrzO1sORVFfD3TzdVxj62MbujnsBBCGSHQ,10037
40
- sqlspec/adapters/duckdb/driver.py,sha256=3SBFf7kgqrFcMWGunkVqw8_qDZKC34BcImwqxhgRLfA,11967
41
- sqlspec/adapters/duckdb/pool.py,sha256=2P4iAhJQ070wA_0O_ZXNfOCiXFxaW7zeyoL05A7izL4,8413
42
- sqlspec/adapters/oracledb/__init__.py,sha256=AUsZ8m9tDgNwxv9m4LtkIs9Ib6hOtBrGNm-Ee4HWNq0,843
43
- sqlspec/adapters/oracledb/_types.py,sha256=7Oe0DmA1ixptQjPMioQF7r2i451zzN2BMut2jTi2c3U,808
44
- sqlspec/adapters/oracledb/config.py,sha256=xdVObosNsGVhtuiWRfMQ9_78pO25vCOUIy_ktM8sYWc,12037
45
- sqlspec/adapters/oracledb/driver.py,sha256=CSMo5w4lMZbhPj6BPZtjSXRZmLzJedbnT-x4OJ3tqhU,19360
46
- sqlspec/adapters/oracledb/migrations.py,sha256=FwjkMBbzEQRkvZdfvpPUyPiWHCP6A_IVg6_6RIYSXYA,9136
47
- sqlspec/adapters/psqlpy/__init__.py,sha256=ABve2Oj-G-fxMO8WRJ0XzxEw2cs5H3INDnmUI99l8gc,526
48
- sqlspec/adapters/psqlpy/_types.py,sha256=tG4jwQtBB6mCX5KU5x3hAhxsQUQlQEzbCsYhU3IouVc,269
49
- sqlspec/adapters/psqlpy/config.py,sha256=ZDZKscjDViyID78SNfOeY9IZZFYQD__hJoYLFBm4TCo,7908
50
- sqlspec/adapters/psqlpy/driver.py,sha256=nSjJ-2md9TctnDALA13WkfJSofXZTs6gz6unn1iN3iE,16985
51
- sqlspec/adapters/psycopg/__init__.py,sha256=swmTz8xlj6LvB-i78tBSE_T-sez2e6lFJW2cMzNJEVE,862
52
- sqlspec/adapters/psycopg/_types.py,sha256=UJBKDWgARoSR6UxSy8zcIP7HSHTpXU5moJTsjDj0M4M,563
53
- sqlspec/adapters/psycopg/config.py,sha256=PP6iwIKvINzOXZE4b99auCgR6eEfzSX-sFyHcBMb-xg,16558
54
- sqlspec/adapters/psycopg/driver.py,sha256=GDzH3cJlIRVOQequqAGPKKh2IET_p0X3ai6WTn_WYZU,26525
55
- sqlspec/adapters/sqlite/__init__.py,sha256=hGZX0D6vHJMSah60_hgWHoLmcqKGm1lYcz2r02wc0p0,574
56
- sqlspec/adapters/sqlite/_types.py,sha256=4Nqolhk8s4mwLw13BwUjuyhAbM9BsKwJCvcmjMWkhaY,246
57
- sqlspec/adapters/sqlite/config.py,sha256=zXKipKuTPjFSUgdc5tiHAZF5hW33jvrrElNJAQhpOQM,5069
58
- sqlspec/adapters/sqlite/driver.py,sha256=DABBt0cttdTlQdkqxwgV66AMMNp543K4_qanslTrHWI,11341
59
- sqlspec/adapters/sqlite/pool.py,sha256=bKIrf3hgach6bMyFQORCdqnpN-sTfMagB3l61uPCGJI,4435
60
- sqlspec/builder/__init__.py,sha256=iEniDtKnYOhPOgN7OhcvAO5leYdzXQTlFE8XXKWvhzg,1652
61
- sqlspec/builder/_base.py,sha256=ATEEnP-CII17C-7oWdYSeTlWp0vPUmdxiU___9V4FqQ,20139
62
- sqlspec/builder/_column.py,sha256=HyDaui_qMuqID7SySL_Z7RKFSSbXGgngbkoCR9V2tcY,13245
63
- sqlspec/builder/_ddl.py,sha256=XyFaz6RQy9l4oOIsFXbFHNelmrHZuZGqz929cwvUxLQ,56492
64
- sqlspec/builder/_delete.py,sha256=icYjrxXIMSWso5TBkd712kmyUZMCWIxdIZHH24nCPAA,2130
65
- sqlspec/builder/_expression_wrappers.py,sha256=HTl8qAFD4sZNXLD2akkJWGCPse2HWS237mTGE4Cx_7I,1244
66
- sqlspec/builder/_insert.py,sha256=ND5g1s0CYQ_HNYyWwVh1FKmq0R8to8a6UIf5MO6O6oE,16187
67
- sqlspec/builder/_merge.py,sha256=_Qs6YnJa0_6-pb21zk03PxDWsC7DdZnYfGxJfz-P6Ao,1886
68
- sqlspec/builder/_parsing_utils.py,sha256=q_smaMGDgfn-rn166-1iCBQsJhe8-c_Xszi9PxyW9A0,8169
69
- sqlspec/builder/_select.py,sha256=aAPZs1iY7n3NH2ihg0m29pqNr80MW6l5dDbvIXfgGEk,5709
70
- sqlspec/builder/_update.py,sha256=oVgDVps8XXAXVJXLFyz3ydIjYONTh35Xkk3bWCCPgoQ,5882
71
- sqlspec/builder/mixins/__init__.py,sha256=YXhAzKmQbQtne5j26SKWY8PUxwosl0RhlhLoahAdkj0,1885
72
- sqlspec/builder/mixins/_cte_and_set_ops.py,sha256=vDFeTZ97fXQEi8eRgQ_jGuzUacg_BnUlC341TVyW1TI,10140
73
- sqlspec/builder/mixins/_delete_operations.py,sha256=LCzXoNtPUVgJ5KxhKoQj-METq51g5aDqoEmDmB66e08,1271
74
- sqlspec/builder/mixins/_insert_operations.py,sha256=ipU1Hhue6MRFfbouDDXyONGC9-jmW7LYuo4HuMtioJs,10437
75
- sqlspec/builder/mixins/_join_operations.py,sha256=1CN1E6TwtFng4ftKmIYN0MAJNZLkWISGB2UY1E1tivw,16036
76
- sqlspec/builder/mixins/_merge_operations.py,sha256=v2JZbyOZyT5mS0cJo82ckjE9eR2LqoAS-YO2NJWK2a4,24297
77
- sqlspec/builder/mixins/_order_limit_operations.py,sha256=i5QXZ_1aCzAhv3VG4Tp08kW8vYqEHU04TRoZPZgS2KA,5573
78
- sqlspec/builder/mixins/_pivot_operations.py,sha256=s3b2zSOL0zEXEGXo1lBm5MuqXWl15qMww_krsmFqj3I,6163
79
- sqlspec/builder/mixins/_select_operations.py,sha256=GysHSEoO55JSzkqZVuRFVvIP0URN1kYq0NoE-5Alye8,35338
80
- sqlspec/builder/mixins/_update_operations.py,sha256=izXw0ZeQQeMS0wQRNniEBKIlEaNIking89uAcLSbYLk,8752
81
- sqlspec/builder/mixins/_where_clause.py,sha256=sinIoL4MCs5ppbvKYzqI9yC_5JqPXL2kRJX9sXwazsA,66072
82
- sqlspec/core/__init__.py,sha256=4pD6ymg_sZxh9QyAmsk3oNyvUWPoQj9qktg0uNJVp6k,5264
83
- sqlspec/core/cache.py,sha256=835tHhe3fan9_h_Y9CJ-4aAl8K-0cNMwfQzcxMzjlqQ,24837
84
- sqlspec/core/compiler.py,sha256=VYY9lPXs-iD6agQvPzAy6sAhw-WsHjJ7pGC2Olljs_s,12562
85
- sqlspec/core/filters.py,sha256=oVUqUYpK6872GrKME0KjwuJ_78RYPwBAJA4PRJgykhQ,30734
86
- sqlspec/core/hashing.py,sha256=s8aY6xY0fOwYNIWYgUqmfkALt3BBK1s5Eq30fcnscL8,8529
87
- sqlspec/core/parameters.py,sha256=VK54GH0tJZ07j_1dFCURlaB6FbXAQ8B_mmK8bftDWJk,49123
88
- sqlspec/core/result.py,sha256=v5ZKVi9J6RiP6Hm5WwJVy1xpSbmJERg0T-fZD7GYRjo,22245
89
- sqlspec/core/splitter.py,sha256=HIUu9INxAKUzHFqtwcH_VVhDdIBVWBDbV1_mVCHm0U4,31000
90
- sqlspec/core/statement.py,sha256=gTCnAgHQBeXwKzXXRLe_raso2Hf485wd-gocHWwb8co,28262
91
- sqlspec/driver/__init__.py,sha256=QVpDRQGd1GreIP199en6qDbq-cZJcEF5go68DINagUk,569
92
- sqlspec/driver/_async.py,sha256=aS5AwY5IYqnVT8ldDLDwz2AMDN94CI9hfsOz-1k-Nus,18992
93
- sqlspec/driver/_common.py,sha256=Fi5NCy5_OVlRKDzUpGsLJn3zDmrsVSsXggMRndIMM1E,23879
94
- sqlspec/driver/_sync.py,sha256=wCBV9QfAH8BPjrrVCQc2eM90ai5-FYbKDd81L5sZMS0,18767
95
- sqlspec/driver/mixins/__init__.py,sha256=gN4pQyJXxNy0xi91dcMJGA7DQ7TbjGjQI24SSpZc6Go,248
96
- sqlspec/driver/mixins/_result_tools.py,sha256=0LquMpoLBJrqkxaAPU4Wvn2JElyqdwRAnRlwGTX-D7w,8603
97
- sqlspec/driver/mixins/_sql_translator.py,sha256=TACtUUJdx8tJwuq_7g3AR_k0bKokvuJrMEwINyWwdQM,3711
98
- sqlspec/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- sqlspec/extensions/aiosql/__init__.py,sha256=-9cefc9pYPf9vCgALoB-y1DtmcgRjKe2azfl6RIarAA,414
100
- sqlspec/extensions/aiosql/adapter.py,sha256=WshAQkpNJQ9zCMcL7EuAc6axl90GwRp3oBZ4XOQoftk,16019
101
- sqlspec/extensions/litestar/__init__.py,sha256=tOmQ7RHSWOot7p30gk0efxxuP0OCq1opyyZqNmQY7FE,320
102
- sqlspec/extensions/litestar/_utils.py,sha256=iaicqnnkC5CuDwJKStz0T7lFaYMrgR96SYKZpe71v2g,1950
103
- sqlspec/extensions/litestar/cli.py,sha256=X4DlAx3Ry-ccOjAQSxe8SMtyJKCFJVLTbENPU_efKuU,1356
104
- sqlspec/extensions/litestar/config.py,sha256=AXAQsjc_tb88wk31d4v31e_6oOtDKz9DS0NA7wg_3Q8,12414
105
- sqlspec/extensions/litestar/handlers.py,sha256=DXYO1FUOmG3YE4E7RlxWCPNl8YgbUzVO8pHgwZeuDOw,10625
106
- sqlspec/extensions/litestar/plugin.py,sha256=4G_r3lna1TClWXnYXJwAYAH52z_t9cbrbLBn83Utmpg,15974
107
- sqlspec/extensions/litestar/providers.py,sha256=5LRb5JvRV_XZdNOKkdaIy3j5x-dFCcAi1ea1pgwuapI,18882
108
- sqlspec/migrations/__init__.py,sha256=RiDi_HkUIgXtu_33QnRdvYNqcCn-euHUiWwTiPr5IGc,1055
109
- sqlspec/migrations/base.py,sha256=vIzQzUtQrNKDec6XUeRHcCBuWU1KNtRCFpOvVxsp3sQ,13093
110
- sqlspec/migrations/commands.py,sha256=-De-1RnqjI-BwgOuFvULkJYZccPtmxPPAQTCLlU2TvM,19122
111
- sqlspec/migrations/loaders.py,sha256=wildbpkyHrE--HXspChPOajSHSBUrfG0e6xQ2buze_4,13016
112
- sqlspec/migrations/runner.py,sha256=y6fyZi02n8MseKR8XFWXUEOOYQNG_w_DikHVxH9p20M,10730
113
- sqlspec/migrations/tracker.py,sha256=hfrZGz8M70SfFniw4aXVtHNg4p8EPFm67vthjfUMUys,6843
114
- sqlspec/migrations/utils.py,sha256=Ft5mS1GFiRPLhfUTfPU4ZnEgOkXDnmEHjeeWwfZDcv4,3737
115
- sqlspec/storage/__init__.py,sha256=IX7xLuymGdQKOBQL1sNEA-bzZRJGjncUbQbs6ZToDDE,395
116
- sqlspec/storage/registry.py,sha256=yJZrLDu1vr86C6En3MlzCPOjUNYkvA5Ow-AKrLEDvpI,10754
117
- sqlspec/storage/backends/__init__.py,sha256=3oSqwEQ_trU2QoxtUTX-5IFeOvo7WGcESY6gIfcmSaE,24
118
- sqlspec/storage/backends/base.py,sha256=KS2JRZILoH_R_xsfKtYkqQ5a1r5OOBDSE5KbibTmhGY,5730
119
- sqlspec/storage/backends/fsspec.py,sha256=5X3QhoaAddzMqkeTHs8M5RINj3mrHcnaIVWb8VhC4lQ,13582
120
- sqlspec/storage/backends/local.py,sha256=vsFnttNesNYjsY_l-KoH6rld51L3E6mxeODtMJawFPQ,12793
121
- sqlspec/storage/backends/obstore.py,sha256=4RUZAMCF16h1IQ4dEib-0j8TLnhPf0Jhy2lmRJSe7Kw,20512
122
- sqlspec/utils/__init__.py,sha256=cNFX26-bLyZTyTfujUitfDkUy1CeG_d-EIr8kZ0z4W8,474
123
- sqlspec/utils/correlation.py,sha256=2jvkAY3nkU3UxNU_9pbBR6cz3A1Q1cGG9IaWSSOIb1Q,4195
124
- sqlspec/utils/data_transformation.py,sha256=U37zyxR4f5PxsxKdC7QzcMyJxfqpsXUxgH_ch5l3PbY,3951
125
- sqlspec/utils/deprecation.py,sha256=iy7xzws6Kx0oQpX94smyZzTY6ijdODrdSEFFEXZfp5o,3980
126
- sqlspec/utils/fixtures.py,sha256=qnPAdkV91dyKOqslm_TH5UZ8mx4koQMwriE5YPn3PgI,9425
127
- sqlspec/utils/logging.py,sha256=zAM7rHJ-KsmAj1yjvU9QFoiwf4Q2hKTere2J62FlllI,3664
128
- sqlspec/utils/module_loader.py,sha256=rO4ht-fUSJ3Us7L_7fb_G9bdMCoUSABGUA0pc3ouh9Y,2995
129
- sqlspec/utils/serializers.py,sha256=GXsTkJbWAhRS7xDMk6WBouZwPeG4sI_brLdMBlIetNg,318
130
- sqlspec/utils/singleton.py,sha256=-j-s6LS0pP_wTEUYIyK2wSdoeIE_tn7O7B-j7_aODRQ,1252
131
- sqlspec/utils/sync_tools.py,sha256=ONdhmx1Dq0_c6ReRaTlXzz6dVmAwz6CybCvsTUAVu1g,8768
132
- sqlspec/utils/text.py,sha256=ZqaXCVuUbdj_110pdTYjmAxfV3ZtR7J6EixuNazQLFY,3333
133
- sqlspec/utils/type_guards.py,sha256=0KCosuWZXWExUDJTHPSAP0KxXOokX3eraTjTxURUAJ0,33762
134
- sqlspec-0.24.1.dist-info/METADATA,sha256=CYcuJNIdsaFqPv4k3TxUOY1WU2bmCa7MARWFGh1ptx0,23548
135
- sqlspec-0.24.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
136
- sqlspec-0.24.1.dist-info/entry_points.txt,sha256=G-ZqY1Nuuw3Iys7nXw23f6ILenk_Lt47VdK2mhJCWHg,53
137
- sqlspec-0.24.1.dist-info/licenses/LICENSE,sha256=MdujfZ6l5HuLz4mElxlu049itenOR3gnhN1_Nd3nVcM,1078
138
- sqlspec-0.24.1.dist-info/licenses/NOTICE,sha256=Lyir8ozXWov7CyYS4huVaOCNrtgL17P-bNV-5daLntQ,1634
139
- sqlspec-0.24.1.dist-info/RECORD,,