sqlspec 0.13.0__tar.gz โ†’ 0.38.0__tar.gz

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.
Files changed (1317) hide show
  1. sqlspec-0.38.0/.gitignore +63 -0
  2. sqlspec-0.38.0/.pre-commit-config.yaml +53 -0
  3. sqlspec-0.38.0/CONTRIBUTING.rst +78 -0
  4. sqlspec-0.38.0/Makefile +318 -0
  5. sqlspec-0.38.0/PKG-INFO +205 -0
  6. sqlspec-0.38.0/README.md +109 -0
  7. sqlspec-0.38.0/pyproject.toml +570 -0
  8. sqlspec-0.38.0/sqlspec/__init__.py +140 -0
  9. sqlspec-0.38.0/sqlspec/__main__.py +12 -0
  10. sqlspec-0.38.0/sqlspec/__metadata__.py +14 -0
  11. sqlspec-0.38.0/sqlspec/_serialization.py +315 -0
  12. sqlspec-0.38.0/sqlspec/_typing.py +700 -0
  13. sqlspec-0.38.0/sqlspec/adapters/adbc/__init__.py +5 -0
  14. sqlspec-0.38.0/sqlspec/adapters/adbc/_typing.py +82 -0
  15. sqlspec-0.38.0/sqlspec/adapters/adbc/adk/__init__.py +5 -0
  16. sqlspec-0.38.0/sqlspec/adapters/adbc/adk/store.py +1273 -0
  17. sqlspec-0.38.0/sqlspec/adapters/adbc/config.py +295 -0
  18. sqlspec-0.38.0/sqlspec/adapters/adbc/core.py +800 -0
  19. sqlspec-0.38.0/sqlspec/adapters/adbc/data_dictionary.py +334 -0
  20. sqlspec-0.38.0/sqlspec/adapters/adbc/driver.py +543 -0
  21. sqlspec-0.38.0/sqlspec/adapters/adbc/events/__init__.py +5 -0
  22. sqlspec-0.38.0/sqlspec/adapters/adbc/events/store.py +285 -0
  23. sqlspec-0.38.0/sqlspec/adapters/adbc/litestar/__init__.py +5 -0
  24. sqlspec-0.38.0/sqlspec/adapters/adbc/litestar/store.py +502 -0
  25. sqlspec-0.38.0/sqlspec/adapters/adbc/type_converter.py +140 -0
  26. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/__init__.py +25 -0
  27. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/_typing.py +82 -0
  28. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/adk/__init__.py +5 -0
  29. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/adk/store.py +818 -0
  30. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/config.py +334 -0
  31. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/core.py +315 -0
  32. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/data_dictionary.py +208 -0
  33. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/driver.py +319 -0
  34. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/events/__init__.py +5 -0
  35. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/events/store.py +20 -0
  36. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/litestar/__init__.py +5 -0
  37. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/litestar/store.py +279 -0
  38. sqlspec-0.38.0/sqlspec/adapters/aiosqlite/pool.py +618 -0
  39. sqlspec-0.38.0/sqlspec/adapters/asyncmy/__init__.py +21 -0
  40. sqlspec-0.38.0/sqlspec/adapters/asyncmy/_typing.py +87 -0
  41. sqlspec-0.38.0/sqlspec/adapters/asyncmy/adk/__init__.py +5 -0
  42. sqlspec-0.38.0/sqlspec/adapters/asyncmy/adk/store.py +703 -0
  43. sqlspec-0.38.0/sqlspec/adapters/asyncmy/config.py +300 -0
  44. sqlspec-0.38.0/sqlspec/adapters/asyncmy/core.py +414 -0
  45. sqlspec-0.38.0/sqlspec/adapters/asyncmy/data_dictionary.py +124 -0
  46. sqlspec-0.38.0/sqlspec/adapters/asyncmy/driver.py +389 -0
  47. sqlspec-0.38.0/sqlspec/adapters/asyncmy/events/__init__.py +5 -0
  48. sqlspec-0.38.0/sqlspec/adapters/asyncmy/events/store.py +104 -0
  49. sqlspec-0.38.0/sqlspec/adapters/asyncmy/litestar/__init__.py +5 -0
  50. sqlspec-0.38.0/sqlspec/adapters/asyncmy/litestar/store.py +296 -0
  51. sqlspec-0.38.0/sqlspec/adapters/asyncpg/__init__.py +19 -0
  52. sqlspec-0.38.0/sqlspec/adapters/asyncpg/_typing.py +88 -0
  53. sqlspec-0.38.0/sqlspec/adapters/asyncpg/adk/__init__.py +5 -0
  54. sqlspec-0.38.0/sqlspec/adapters/asyncpg/adk/store.py +748 -0
  55. sqlspec-0.38.0/sqlspec/adapters/asyncpg/config.py +567 -0
  56. sqlspec-0.38.0/sqlspec/adapters/asyncpg/core.py +387 -0
  57. sqlspec-0.38.0/sqlspec/adapters/asyncpg/data_dictionary.py +162 -0
  58. sqlspec-0.38.0/sqlspec/adapters/asyncpg/driver.py +487 -0
  59. sqlspec-0.38.0/sqlspec/adapters/asyncpg/events/__init__.py +6 -0
  60. sqlspec-0.38.0/sqlspec/adapters/asyncpg/events/backend.py +286 -0
  61. sqlspec-0.38.0/sqlspec/adapters/asyncpg/events/store.py +40 -0
  62. sqlspec-0.38.0/sqlspec/adapters/asyncpg/litestar/__init__.py +5 -0
  63. sqlspec-0.38.0/sqlspec/adapters/asyncpg/litestar/store.py +251 -0
  64. sqlspec-0.38.0/sqlspec/adapters/bigquery/__init__.py +14 -0
  65. sqlspec-0.38.0/sqlspec/adapters/bigquery/_typing.py +86 -0
  66. sqlspec-0.38.0/sqlspec/adapters/bigquery/adk/__init__.py +5 -0
  67. sqlspec-0.38.0/sqlspec/adapters/bigquery/adk/store.py +827 -0
  68. sqlspec-0.38.0/sqlspec/adapters/bigquery/config.py +353 -0
  69. sqlspec-0.38.0/sqlspec/adapters/bigquery/core.py +735 -0
  70. sqlspec-0.38.0/sqlspec/adapters/bigquery/data_dictionary.py +128 -0
  71. sqlspec-0.38.0/sqlspec/adapters/bigquery/driver.py +558 -0
  72. sqlspec-0.38.0/sqlspec/adapters/bigquery/events/__init__.py +5 -0
  73. sqlspec-0.38.0/sqlspec/adapters/bigquery/events/store.py +139 -0
  74. sqlspec-0.38.0/sqlspec/adapters/bigquery/litestar/__init__.py +5 -0
  75. sqlspec-0.38.0/sqlspec/adapters/bigquery/litestar/store.py +325 -0
  76. sqlspec-0.38.0/sqlspec/adapters/bigquery/type_converter.py +107 -0
  77. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/__init__.py +24 -0
  78. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/_typing.py +72 -0
  79. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/adk/__init__.py +3 -0
  80. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/adk/store.py +410 -0
  81. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/config.py +236 -0
  82. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/core.py +55 -0
  83. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/data_dictionary.py +107 -0
  84. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/driver.py +144 -0
  85. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/events/__init__.py +3 -0
  86. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/events/store.py +20 -0
  87. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/litestar/__init__.py +3 -0
  88. sqlspec-0.38.0/sqlspec/adapters/cockroach_asyncpg/litestar/store.py +142 -0
  89. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/__init__.py +38 -0
  90. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/_typing.py +129 -0
  91. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/adk/__init__.py +13 -0
  92. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/adk/store.py +868 -0
  93. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/config.py +480 -0
  94. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/core.py +63 -0
  95. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/data_dictionary.py +215 -0
  96. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/driver.py +284 -0
  97. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/events/__init__.py +6 -0
  98. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/events/store.py +34 -0
  99. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/litestar/__init__.py +3 -0
  100. sqlspec-0.38.0/sqlspec/adapters/cockroach_psycopg/litestar/store.py +325 -0
  101. sqlspec-0.38.0/sqlspec/adapters/duckdb/__init__.py +25 -0
  102. sqlspec-0.38.0/sqlspec/adapters/duckdb/_typing.py +81 -0
  103. sqlspec-0.38.0/sqlspec/adapters/duckdb/adk/__init__.py +14 -0
  104. sqlspec-0.38.0/sqlspec/adapters/duckdb/adk/store.py +850 -0
  105. sqlspec-0.38.0/sqlspec/adapters/duckdb/config.py +463 -0
  106. sqlspec-0.38.0/sqlspec/adapters/duckdb/core.py +285 -0
  107. sqlspec-0.38.0/sqlspec/adapters/duckdb/data_dictionary.py +140 -0
  108. sqlspec-0.38.0/sqlspec/adapters/duckdb/driver.py +440 -0
  109. sqlspec-0.38.0/sqlspec/adapters/duckdb/events/__init__.py +5 -0
  110. sqlspec-0.38.0/sqlspec/adapters/duckdb/events/store.py +57 -0
  111. sqlspec-0.38.0/sqlspec/adapters/duckdb/litestar/__init__.py +5 -0
  112. sqlspec-0.38.0/sqlspec/adapters/duckdb/litestar/store.py +330 -0
  113. sqlspec-0.38.0/sqlspec/adapters/duckdb/pool.py +350 -0
  114. sqlspec-0.38.0/sqlspec/adapters/duckdb/type_converter.py +118 -0
  115. sqlspec-0.38.0/sqlspec/adapters/mock/__init__.py +72 -0
  116. sqlspec-0.38.0/sqlspec/adapters/mock/_typing.py +147 -0
  117. sqlspec-0.38.0/sqlspec/adapters/mock/config.py +483 -0
  118. sqlspec-0.38.0/sqlspec/adapters/mock/core.py +319 -0
  119. sqlspec-0.38.0/sqlspec/adapters/mock/data_dictionary.py +366 -0
  120. sqlspec-0.38.0/sqlspec/adapters/mock/driver.py +733 -0
  121. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/__init__.py +36 -0
  122. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/_typing.py +141 -0
  123. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/adk/__init__.py +15 -0
  124. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/adk/store.py +1060 -0
  125. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/config.py +392 -0
  126. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/core.py +357 -0
  127. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/data_dictionary.py +235 -0
  128. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/driver.py +495 -0
  129. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/events/__init__.py +8 -0
  130. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/events/store.py +98 -0
  131. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/litestar/__init__.py +5 -0
  132. sqlspec-0.38.0/sqlspec/adapters/mysqlconnector/litestar/store.py +426 -0
  133. sqlspec-0.38.0/sqlspec/adapters/oracledb/__init__.py +60 -0
  134. sqlspec-0.38.0/sqlspec/adapters/oracledb/_numpy_handlers.py +141 -0
  135. sqlspec-0.38.0/sqlspec/adapters/oracledb/_typing.py +182 -0
  136. sqlspec-0.38.0/sqlspec/adapters/oracledb/_uuid_handlers.py +166 -0
  137. sqlspec-0.38.0/sqlspec/adapters/oracledb/adk/__init__.py +10 -0
  138. sqlspec-0.38.0/sqlspec/adapters/oracledb/adk/store.py +2369 -0
  139. sqlspec-0.38.0/sqlspec/adapters/oracledb/config.py +546 -0
  140. sqlspec-0.38.0/sqlspec/adapters/oracledb/core.py +560 -0
  141. sqlspec-0.38.0/sqlspec/adapters/oracledb/data_dictionary.py +536 -0
  142. sqlspec-0.38.0/sqlspec/adapters/oracledb/driver.py +1241 -0
  143. sqlspec-0.38.0/sqlspec/adapters/oracledb/events/__init__.py +16 -0
  144. sqlspec-0.38.0/sqlspec/adapters/oracledb/events/backend.py +347 -0
  145. sqlspec-0.38.0/sqlspec/adapters/oracledb/events/store.py +420 -0
  146. sqlspec-0.38.0/sqlspec/adapters/oracledb/litestar/__init__.py +5 -0
  147. sqlspec-0.38.0/sqlspec/adapters/oracledb/litestar/store.py +781 -0
  148. sqlspec-0.38.0/sqlspec/adapters/oracledb/migrations.py +535 -0
  149. sqlspec-0.38.0/sqlspec/adapters/oracledb/type_converter.py +211 -0
  150. sqlspec-0.38.0/sqlspec/adapters/psqlpy/__init__.py +17 -0
  151. sqlspec-0.38.0/sqlspec/adapters/psqlpy/_typing.py +79 -0
  152. sqlspec-0.38.0/sqlspec/adapters/psqlpy/adk/__init__.py +5 -0
  153. sqlspec-0.38.0/sqlspec/adapters/psqlpy/adk/store.py +766 -0
  154. sqlspec-0.38.0/sqlspec/adapters/psqlpy/config.py +302 -0
  155. sqlspec-0.38.0/sqlspec/adapters/psqlpy/core.py +509 -0
  156. sqlspec-0.38.0/sqlspec/adapters/psqlpy/data_dictionary.py +126 -0
  157. sqlspec-0.38.0/sqlspec/adapters/psqlpy/driver.py +444 -0
  158. sqlspec-0.38.0/sqlspec/adapters/psqlpy/events/__init__.py +6 -0
  159. sqlspec-0.38.0/sqlspec/adapters/psqlpy/events/backend.py +310 -0
  160. sqlspec-0.38.0/sqlspec/adapters/psqlpy/events/store.py +20 -0
  161. sqlspec-0.38.0/sqlspec/adapters/psqlpy/litestar/__init__.py +5 -0
  162. sqlspec-0.38.0/sqlspec/adapters/psqlpy/litestar/store.py +270 -0
  163. sqlspec-0.38.0/sqlspec/adapters/psqlpy/type_converter.py +113 -0
  164. sqlspec-0.38.0/sqlspec/adapters/psycopg/__init__.py +32 -0
  165. sqlspec-0.38.0/sqlspec/adapters/psycopg/_typing.py +164 -0
  166. sqlspec-0.38.0/sqlspec/adapters/psycopg/adk/__init__.py +10 -0
  167. sqlspec-0.38.0/sqlspec/adapters/psycopg/adk/store.py +1387 -0
  168. sqlspec-0.38.0/sqlspec/adapters/psycopg/config.py +572 -0
  169. sqlspec-0.38.0/sqlspec/adapters/psycopg/core.py +486 -0
  170. sqlspec-0.38.0/sqlspec/adapters/psycopg/data_dictionary.py +289 -0
  171. sqlspec-0.38.0/sqlspec/adapters/psycopg/driver.py +1005 -0
  172. sqlspec-0.38.0/sqlspec/adapters/psycopg/events/__init__.py +20 -0
  173. sqlspec-0.38.0/sqlspec/adapters/psycopg/events/backend.py +458 -0
  174. sqlspec-0.38.0/sqlspec/adapters/psycopg/events/store.py +42 -0
  175. sqlspec-0.38.0/sqlspec/adapters/psycopg/litestar/__init__.py +5 -0
  176. sqlspec-0.38.0/sqlspec/adapters/psycopg/litestar/store.py +552 -0
  177. sqlspec-0.38.0/sqlspec/adapters/psycopg/type_converter.py +93 -0
  178. sqlspec-0.38.0/sqlspec/adapters/pymysql/__init__.py +21 -0
  179. sqlspec-0.38.0/sqlspec/adapters/pymysql/_typing.py +71 -0
  180. sqlspec-0.38.0/sqlspec/adapters/pymysql/adk/__init__.py +5 -0
  181. sqlspec-0.38.0/sqlspec/adapters/pymysql/adk/store.py +540 -0
  182. sqlspec-0.38.0/sqlspec/adapters/pymysql/config.py +195 -0
  183. sqlspec-0.38.0/sqlspec/adapters/pymysql/core.py +353 -0
  184. sqlspec-0.38.0/sqlspec/adapters/pymysql/data_dictionary.py +122 -0
  185. sqlspec-0.38.0/sqlspec/adapters/pymysql/driver.py +265 -0
  186. sqlspec-0.38.0/sqlspec/adapters/pymysql/events/__init__.py +5 -0
  187. sqlspec-0.38.0/sqlspec/adapters/pymysql/events/store.py +50 -0
  188. sqlspec-0.38.0/sqlspec/adapters/pymysql/litestar/__init__.py +5 -0
  189. sqlspec-0.38.0/sqlspec/adapters/pymysql/litestar/store.py +232 -0
  190. sqlspec-0.38.0/sqlspec/adapters/pymysql/pool.py +164 -0
  191. sqlspec-0.38.0/sqlspec/adapters/spanner/__init__.py +40 -0
  192. sqlspec-0.38.0/sqlspec/adapters/spanner/_typing.py +86 -0
  193. sqlspec-0.38.0/sqlspec/adapters/spanner/adk/__init__.py +5 -0
  194. sqlspec-0.38.0/sqlspec/adapters/spanner/adk/store.py +732 -0
  195. sqlspec-0.38.0/sqlspec/adapters/spanner/config.py +350 -0
  196. sqlspec-0.38.0/sqlspec/adapters/spanner/core.py +216 -0
  197. sqlspec-0.38.0/sqlspec/adapters/spanner/data_dictionary.py +120 -0
  198. sqlspec-0.38.0/sqlspec/adapters/spanner/dialect/__init__.py +6 -0
  199. sqlspec-0.38.0/sqlspec/adapters/spanner/dialect/_spangres.py +57 -0
  200. sqlspec-0.38.0/sqlspec/adapters/spanner/dialect/_spanner.py +130 -0
  201. sqlspec-0.38.0/sqlspec/adapters/spanner/driver.py +373 -0
  202. sqlspec-0.38.0/sqlspec/adapters/spanner/events/__init__.py +5 -0
  203. sqlspec-0.38.0/sqlspec/adapters/spanner/events/store.py +187 -0
  204. sqlspec-0.38.0/sqlspec/adapters/spanner/litestar/__init__.py +5 -0
  205. sqlspec-0.38.0/sqlspec/adapters/spanner/litestar/store.py +291 -0
  206. sqlspec-0.38.0/sqlspec/adapters/spanner/type_converter.py +331 -0
  207. sqlspec-0.38.0/sqlspec/adapters/sqlite/__init__.py +19 -0
  208. sqlspec-0.38.0/sqlspec/adapters/sqlite/_typing.py +80 -0
  209. sqlspec-0.38.0/sqlspec/adapters/sqlite/adk/__init__.py +5 -0
  210. sqlspec-0.38.0/sqlspec/adapters/sqlite/adk/store.py +958 -0
  211. sqlspec-0.38.0/sqlspec/adapters/sqlite/config.py +280 -0
  212. sqlspec-0.38.0/sqlspec/adapters/sqlite/core.py +355 -0
  213. sqlspec-0.38.0/sqlspec/adapters/sqlite/data_dictionary.py +202 -0
  214. sqlspec-0.38.0/sqlspec/adapters/sqlite/driver.py +365 -0
  215. sqlspec-0.38.0/sqlspec/adapters/sqlite/events/__init__.py +5 -0
  216. sqlspec-0.38.0/sqlspec/adapters/sqlite/events/store.py +20 -0
  217. sqlspec-0.38.0/sqlspec/adapters/sqlite/litestar/__init__.py +5 -0
  218. sqlspec-0.38.0/sqlspec/adapters/sqlite/litestar/store.py +316 -0
  219. sqlspec-0.38.0/sqlspec/adapters/sqlite/pool.py +229 -0
  220. sqlspec-0.38.0/sqlspec/adapters/sqlite/type_converter.py +114 -0
  221. sqlspec-0.38.0/sqlspec/base.py +747 -0
  222. sqlspec-0.38.0/sqlspec/builder/__init__.py +181 -0
  223. sqlspec-0.38.0/sqlspec/builder/_base.py +1022 -0
  224. sqlspec-0.38.0/sqlspec/builder/_column.py +521 -0
  225. sqlspec-0.38.0/sqlspec/builder/_ddl.py +1691 -0
  226. sqlspec-0.38.0/sqlspec/builder/_delete.py +95 -0
  227. sqlspec-0.38.0/sqlspec/builder/_dml.py +365 -0
  228. sqlspec-0.38.0/sqlspec/builder/_explain.py +579 -0
  229. sqlspec-0.38.0/sqlspec/builder/_expression_wrappers.py +46 -0
  230. sqlspec-0.38.0/sqlspec/builder/_factory.py +1955 -0
  231. sqlspec-0.38.0/sqlspec/builder/_insert.py +328 -0
  232. sqlspec-0.38.0/sqlspec/builder/_join.py +499 -0
  233. sqlspec-0.38.0/sqlspec/builder/_merge.py +821 -0
  234. sqlspec-0.38.0/sqlspec/builder/_parsing_utils.py +297 -0
  235. sqlspec-0.38.0/sqlspec/builder/_select.py +1672 -0
  236. sqlspec-0.38.0/sqlspec/builder/_temporal.py +139 -0
  237. sqlspec-0.38.0/sqlspec/builder/_update.py +173 -0
  238. sqlspec-0.38.0/sqlspec/builder/_vector_expressions.py +267 -0
  239. sqlspec-0.38.0/sqlspec/cli.py +911 -0
  240. sqlspec-0.38.0/sqlspec/config.py +1755 -0
  241. sqlspec-0.38.0/sqlspec/core/__init__.py +374 -0
  242. sqlspec-0.38.0/sqlspec/core/_correlation.py +176 -0
  243. sqlspec-0.38.0/sqlspec/core/cache.py +1094 -0
  244. sqlspec-0.38.0/sqlspec/core/compiler.py +962 -0
  245. sqlspec-0.38.0/sqlspec/core/explain.py +275 -0
  246. sqlspec-0.38.0/sqlspec/core/filters.py +952 -0
  247. sqlspec-0.38.0/sqlspec/core/hashing.py +262 -0
  248. sqlspec-0.38.0/sqlspec/core/metrics.py +83 -0
  249. sqlspec-0.38.0/sqlspec/core/parameters/__init__.py +71 -0
  250. sqlspec-0.38.0/sqlspec/core/parameters/_alignment.py +270 -0
  251. sqlspec-0.38.0/sqlspec/core/parameters/_converter.py +543 -0
  252. sqlspec-0.38.0/sqlspec/core/parameters/_processor.py +505 -0
  253. sqlspec-0.38.0/sqlspec/core/parameters/_registry.py +206 -0
  254. sqlspec-0.38.0/sqlspec/core/parameters/_transformers.py +292 -0
  255. sqlspec-0.38.0/sqlspec/core/parameters/_types.py +499 -0
  256. sqlspec-0.38.0/sqlspec/core/parameters/_validator.py +180 -0
  257. sqlspec-0.38.0/sqlspec/core/pipeline.py +319 -0
  258. sqlspec-0.38.0/sqlspec/core/query_modifiers.py +510 -0
  259. sqlspec-0.38.0/sqlspec/core/result/__init__.py +23 -0
  260. sqlspec-0.38.0/sqlspec/core/result/_base.py +1121 -0
  261. sqlspec-0.38.0/sqlspec/core/result/_io.py +28 -0
  262. sqlspec-0.38.0/sqlspec/core/splitter.py +966 -0
  263. sqlspec-0.38.0/sqlspec/core/stack.py +163 -0
  264. sqlspec-0.38.0/sqlspec/core/statement.py +1529 -0
  265. sqlspec-0.38.0/sqlspec/core/type_converter.py +339 -0
  266. sqlspec-0.38.0/sqlspec/data_dictionary/__init__.py +22 -0
  267. sqlspec-0.38.0/sqlspec/data_dictionary/_loader.py +123 -0
  268. sqlspec-0.38.0/sqlspec/data_dictionary/_registry.py +74 -0
  269. sqlspec-0.38.0/sqlspec/data_dictionary/_types.py +121 -0
  270. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/__init__.py +21 -0
  271. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/bigquery.py +49 -0
  272. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/cockroachdb.py +43 -0
  273. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/duckdb.py +47 -0
  274. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/mysql.py +42 -0
  275. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/oracle.py +34 -0
  276. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/postgres.py +46 -0
  277. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/spanner.py +37 -0
  278. sqlspec-0.38.0/sqlspec/data_dictionary/dialects/sqlite.py +42 -0
  279. sqlspec-0.38.0/sqlspec/data_dictionary/sql/bigquery/columns.sql +23 -0
  280. sqlspec-0.38.0/sqlspec/data_dictionary/sql/bigquery/foreign_keys.sql +34 -0
  281. sqlspec-0.38.0/sqlspec/data_dictionary/sql/bigquery/indexes.sql +19 -0
  282. sqlspec-0.38.0/sqlspec/data_dictionary/sql/bigquery/tables.sql +33 -0
  283. sqlspec-0.38.0/sqlspec/data_dictionary/sql/bigquery/version.sql +3 -0
  284. sqlspec-0.38.0/sqlspec/data_dictionary/sql/cockroachdb/columns.sql +34 -0
  285. sqlspec-0.38.0/sqlspec/data_dictionary/sql/cockroachdb/foreign_keys.sql +40 -0
  286. sqlspec-0.38.0/sqlspec/data_dictionary/sql/cockroachdb/indexes.sql +32 -0
  287. sqlspec-0.38.0/sqlspec/data_dictionary/sql/cockroachdb/tables.sql +44 -0
  288. sqlspec-0.38.0/sqlspec/data_dictionary/sql/cockroachdb/version.sql +3 -0
  289. sqlspec-0.38.0/sqlspec/data_dictionary/sql/duckdb/columns.sql +23 -0
  290. sqlspec-0.38.0/sqlspec/data_dictionary/sql/duckdb/foreign_keys.sql +36 -0
  291. sqlspec-0.38.0/sqlspec/data_dictionary/sql/duckdb/indexes.sql +19 -0
  292. sqlspec-0.38.0/sqlspec/data_dictionary/sql/duckdb/tables.sql +38 -0
  293. sqlspec-0.38.0/sqlspec/data_dictionary/sql/duckdb/version.sql +3 -0
  294. sqlspec-0.38.0/sqlspec/data_dictionary/sql/mysql/columns.sql +23 -0
  295. sqlspec-0.38.0/sqlspec/data_dictionary/sql/mysql/foreign_keys.sql +28 -0
  296. sqlspec-0.38.0/sqlspec/data_dictionary/sql/mysql/indexes.sql +26 -0
  297. sqlspec-0.38.0/sqlspec/data_dictionary/sql/mysql/tables.sql +33 -0
  298. sqlspec-0.38.0/sqlspec/data_dictionary/sql/mysql/version.sql +3 -0
  299. sqlspec-0.38.0/sqlspec/data_dictionary/sql/oracle/columns.sql +23 -0
  300. sqlspec-0.38.0/sqlspec/data_dictionary/sql/oracle/foreign_keys.sql +48 -0
  301. sqlspec-0.38.0/sqlspec/data_dictionary/sql/oracle/indexes.sql +44 -0
  302. sqlspec-0.38.0/sqlspec/data_dictionary/sql/oracle/tables.sql +25 -0
  303. sqlspec-0.38.0/sqlspec/data_dictionary/sql/oracle/version.sql +20 -0
  304. sqlspec-0.38.0/sqlspec/data_dictionary/sql/postgres/columns.sql +34 -0
  305. sqlspec-0.38.0/sqlspec/data_dictionary/sql/postgres/foreign_keys.sql +40 -0
  306. sqlspec-0.38.0/sqlspec/data_dictionary/sql/postgres/indexes.sql +56 -0
  307. sqlspec-0.38.0/sqlspec/data_dictionary/sql/postgres/tables.sql +44 -0
  308. sqlspec-0.38.0/sqlspec/data_dictionary/sql/postgres/version.sql +3 -0
  309. sqlspec-0.38.0/sqlspec/data_dictionary/sql/spanner/columns.sql +23 -0
  310. sqlspec-0.38.0/sqlspec/data_dictionary/sql/spanner/foreign_keys.sql +70 -0
  311. sqlspec-0.38.0/sqlspec/data_dictionary/sql/spanner/indexes.sql +30 -0
  312. sqlspec-0.38.0/sqlspec/data_dictionary/sql/spanner/tables.sql +9 -0
  313. sqlspec-0.38.0/sqlspec/data_dictionary/sql/spanner/version.sql +3 -0
  314. sqlspec-0.38.0/sqlspec/data_dictionary/sql/sqlite/columns.sql +23 -0
  315. sqlspec-0.38.0/sqlspec/data_dictionary/sql/sqlite/foreign_keys.sql +22 -0
  316. sqlspec-0.38.0/sqlspec/data_dictionary/sql/sqlite/indexes.sql +7 -0
  317. sqlspec-0.38.0/sqlspec/data_dictionary/sql/sqlite/tables.sql +28 -0
  318. sqlspec-0.38.0/sqlspec/data_dictionary/sql/sqlite/version.sql +3 -0
  319. sqlspec-0.38.0/sqlspec/driver/__init__.py +32 -0
  320. sqlspec-0.38.0/sqlspec/driver/_async.py +1981 -0
  321. sqlspec-0.38.0/sqlspec/driver/_common.py +1632 -0
  322. sqlspec-0.38.0/sqlspec/driver/_sql_helpers.py +148 -0
  323. sqlspec-0.38.0/sqlspec/driver/_storage_helpers.py +144 -0
  324. sqlspec-0.38.0/sqlspec/driver/_sync.py +1952 -0
  325. sqlspec-0.38.0/sqlspec/exceptions.py +449 -0
  326. sqlspec-0.38.0/sqlspec/extensions/adk/__init__.py +70 -0
  327. sqlspec-0.38.0/sqlspec/extensions/adk/_types.py +51 -0
  328. sqlspec-0.38.0/sqlspec/extensions/adk/converters.py +172 -0
  329. sqlspec-0.38.0/sqlspec/extensions/adk/memory/__init__.py +69 -0
  330. sqlspec-0.38.0/sqlspec/extensions/adk/memory/_types.py +30 -0
  331. sqlspec-0.38.0/sqlspec/extensions/adk/memory/converters.py +149 -0
  332. sqlspec-0.38.0/sqlspec/extensions/adk/memory/service.py +217 -0
  333. sqlspec-0.38.0/sqlspec/extensions/adk/memory/store.py +569 -0
  334. sqlspec-0.38.0/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +246 -0
  335. sqlspec-0.38.0/sqlspec/extensions/adk/service.py +225 -0
  336. sqlspec-0.38.0/sqlspec/extensions/adk/store.py +567 -0
  337. sqlspec-0.38.0/sqlspec/extensions/events/__init__.py +51 -0
  338. sqlspec-0.38.0/sqlspec/extensions/events/_channel.py +703 -0
  339. sqlspec-0.38.0/sqlspec/extensions/events/_hints.py +45 -0
  340. sqlspec-0.38.0/sqlspec/extensions/events/_models.py +23 -0
  341. sqlspec-0.38.0/sqlspec/extensions/events/_payload.py +69 -0
  342. sqlspec-0.38.0/sqlspec/extensions/events/_protocols.py +134 -0
  343. sqlspec-0.38.0/sqlspec/extensions/events/_queue.py +461 -0
  344. sqlspec-0.38.0/sqlspec/extensions/events/_store.py +209 -0
  345. sqlspec-0.38.0/sqlspec/extensions/events/migrations/0001_create_event_queue.py +59 -0
  346. sqlspec-0.38.0/sqlspec/extensions/events/migrations/__init__.py +3 -0
  347. sqlspec-0.38.0/sqlspec/extensions/fastapi/__init__.py +19 -0
  348. sqlspec-0.38.0/sqlspec/extensions/fastapi/extension.py +351 -0
  349. sqlspec-0.38.0/sqlspec/extensions/fastapi/providers.py +607 -0
  350. sqlspec-0.38.0/sqlspec/extensions/flask/__init__.py +37 -0
  351. sqlspec-0.38.0/sqlspec/extensions/flask/_state.py +76 -0
  352. sqlspec-0.38.0/sqlspec/extensions/flask/_utils.py +71 -0
  353. sqlspec-0.38.0/sqlspec/extensions/flask/extension.py +519 -0
  354. sqlspec-0.38.0/sqlspec/extensions/litestar/__init__.py +28 -0
  355. sqlspec-0.38.0/sqlspec/extensions/litestar/_utils.py +52 -0
  356. sqlspec-0.38.0/sqlspec/extensions/litestar/channels.py +165 -0
  357. sqlspec-0.38.0/sqlspec/extensions/litestar/cli.py +102 -0
  358. sqlspec-0.38.0/sqlspec/extensions/litestar/config.py +90 -0
  359. sqlspec-0.38.0/sqlspec/extensions/litestar/handlers.py +316 -0
  360. sqlspec-0.38.0/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +137 -0
  361. sqlspec-0.38.0/sqlspec/extensions/litestar/migrations/__init__.py +3 -0
  362. sqlspec-0.38.0/sqlspec/extensions/litestar/plugin.py +671 -0
  363. sqlspec-0.38.0/sqlspec/extensions/litestar/providers.py +526 -0
  364. sqlspec-0.38.0/sqlspec/extensions/litestar/store.py +296 -0
  365. sqlspec-0.38.0/sqlspec/extensions/otel/__init__.py +58 -0
  366. sqlspec-0.38.0/sqlspec/extensions/prometheus/__init__.py +113 -0
  367. sqlspec-0.38.0/sqlspec/extensions/starlette/__init__.py +19 -0
  368. sqlspec-0.38.0/sqlspec/extensions/starlette/_state.py +30 -0
  369. sqlspec-0.38.0/sqlspec/extensions/starlette/_utils.py +96 -0
  370. sqlspec-0.38.0/sqlspec/extensions/starlette/extension.py +346 -0
  371. sqlspec-0.38.0/sqlspec/extensions/starlette/middleware.py +235 -0
  372. sqlspec-0.38.0/sqlspec/loader.py +702 -0
  373. sqlspec-0.38.0/sqlspec/migrations/__init__.py +36 -0
  374. sqlspec-0.38.0/sqlspec/migrations/base.py +731 -0
  375. sqlspec-0.38.0/sqlspec/migrations/commands.py +1232 -0
  376. sqlspec-0.38.0/sqlspec/migrations/context.py +157 -0
  377. sqlspec-0.38.0/sqlspec/migrations/fix.py +204 -0
  378. sqlspec-0.38.0/sqlspec/migrations/loaders.py +443 -0
  379. sqlspec-0.38.0/sqlspec/migrations/runner.py +1172 -0
  380. sqlspec-0.38.0/sqlspec/migrations/templates.py +234 -0
  381. sqlspec-0.38.0/sqlspec/migrations/tracker.py +611 -0
  382. sqlspec-0.38.0/sqlspec/migrations/utils.py +256 -0
  383. sqlspec-0.38.0/sqlspec/migrations/validation.py +207 -0
  384. sqlspec-0.38.0/sqlspec/migrations/version.py +446 -0
  385. sqlspec-0.38.0/sqlspec/observability/__init__.py +57 -0
  386. sqlspec-0.38.0/sqlspec/observability/_common.py +77 -0
  387. sqlspec-0.38.0/sqlspec/observability/_config.py +348 -0
  388. sqlspec-0.38.0/sqlspec/observability/_diagnostics.py +74 -0
  389. sqlspec-0.38.0/sqlspec/observability/_dispatcher.py +152 -0
  390. sqlspec-0.38.0/sqlspec/observability/_formatters/__init__.py +13 -0
  391. sqlspec-0.38.0/sqlspec/observability/_formatters/_aws.py +102 -0
  392. sqlspec-0.38.0/sqlspec/observability/_formatters/_azure.py +96 -0
  393. sqlspec-0.38.0/sqlspec/observability/_formatters/_base.py +57 -0
  394. sqlspec-0.38.0/sqlspec/observability/_formatters/_gcp.py +131 -0
  395. sqlspec-0.38.0/sqlspec/observability/_formatting.py +58 -0
  396. sqlspec-0.38.0/sqlspec/observability/_observer.py +363 -0
  397. sqlspec-0.38.0/sqlspec/observability/_runtime.py +420 -0
  398. sqlspec-0.38.0/sqlspec/observability/_sampling.py +188 -0
  399. sqlspec-0.38.0/sqlspec/observability/_spans.py +161 -0
  400. sqlspec-0.38.0/sqlspec/protocols.py +948 -0
  401. sqlspec-0.38.0/sqlspec/storage/__init__.py +48 -0
  402. sqlspec-0.38.0/sqlspec/storage/_utils.py +104 -0
  403. sqlspec-0.38.0/sqlspec/storage/backends/__init__.py +1 -0
  404. sqlspec-0.38.0/sqlspec/storage/backends/base.py +253 -0
  405. sqlspec-0.38.0/sqlspec/storage/backends/fsspec.py +529 -0
  406. sqlspec-0.38.0/sqlspec/storage/backends/local.py +441 -0
  407. sqlspec-0.38.0/sqlspec/storage/backends/obstore.py +916 -0
  408. sqlspec-0.38.0/sqlspec/storage/errors.py +104 -0
  409. sqlspec-0.38.0/sqlspec/storage/pipeline.py +582 -0
  410. sqlspec-0.38.0/sqlspec/storage/registry.py +301 -0
  411. sqlspec-0.38.0/sqlspec/typing.py +395 -0
  412. sqlspec-0.38.0/sqlspec/utils/__init__.py +7 -0
  413. sqlspec-0.38.0/sqlspec/utils/arrow_helpers.py +318 -0
  414. sqlspec-0.38.0/sqlspec/utils/config_tools.py +314 -0
  415. sqlspec-0.38.0/sqlspec/utils/correlation.py +134 -0
  416. sqlspec-0.38.0/sqlspec/utils/deprecation.py +190 -0
  417. sqlspec-0.38.0/sqlspec/utils/fixtures.py +258 -0
  418. sqlspec-0.38.0/sqlspec/utils/logging.py +251 -0
  419. sqlspec-0.38.0/sqlspec/utils/module_loader.py +306 -0
  420. sqlspec-0.38.0/sqlspec/utils/portal.py +375 -0
  421. sqlspec-0.38.0/sqlspec/utils/schema.py +986 -0
  422. sqlspec-0.38.0/sqlspec/utils/serializers.py +408 -0
  423. sqlspec-0.38.0/sqlspec/utils/singleton.py +41 -0
  424. sqlspec-0.38.0/sqlspec/utils/sync_tools.py +311 -0
  425. sqlspec-0.38.0/sqlspec/utils/text.py +108 -0
  426. sqlspec-0.38.0/sqlspec/utils/type_converters.py +128 -0
  427. sqlspec-0.38.0/sqlspec/utils/type_guards.py +1391 -0
  428. sqlspec-0.38.0/sqlspec/utils/uuids.py +225 -0
  429. sqlspec-0.38.0/tests/__init__.py +1 -0
  430. sqlspec-0.38.0/tests/conftest.py +120 -0
  431. sqlspec-0.38.0/tests/fixtures/asset_maintenance.sql +12 -0
  432. sqlspec-0.38.0/tests/fixtures/example_usage.py +60 -0
  433. sqlspec-0.38.0/tests/fixtures/oracle.ddl.sql +207 -0
  434. sqlspec-0.38.0/tests/fixtures/sql_utils.py +92 -0
  435. sqlspec-0.38.0/tests/integration/__init__.py +1 -0
  436. sqlspec-0.38.0/tests/integration/adapters/__init__.py +1 -0
  437. sqlspec-0.38.0/tests/integration/adapters/_events_helpers.py +34 -0
  438. sqlspec-0.38.0/tests/integration/adapters/_storage_bridge_helpers.py +28 -0
  439. sqlspec-0.38.0/tests/integration/adapters/adbc/__init__.py +1 -0
  440. sqlspec-0.38.0/tests/integration/adapters/adbc/conftest.py +177 -0
  441. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/__init__.py +1 -0
  442. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/__init__.py +1 -0
  443. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_dialect_integration.py +229 -0
  444. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_dialect_support.py +198 -0
  445. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_edge_cases.py +269 -0
  446. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_event_operations.py +320 -0
  447. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_memory_store.py +92 -0
  448. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_owner_id_column.py +145 -0
  449. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/adk/test_session_operations.py +184 -0
  450. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/litestar/__init__.py +1 -0
  451. sqlspec-0.38.0/tests/integration/adapters/adbc/extensions/litestar/test_store.py +258 -0
  452. sqlspec-0.38.0/tests/integration/adapters/adbc/test_adbc_backends.py +269 -0
  453. sqlspec-0.38.0/tests/integration/adapters/adbc/test_adbc_connection.py +201 -0
  454. sqlspec-0.38.0/tests/integration/adapters/adbc/test_adbc_driver.py +487 -0
  455. sqlspec-0.38.0/tests/integration/adapters/adbc/test_adbc_edge_cases.py +506 -0
  456. sqlspec-0.38.0/tests/integration/adapters/adbc/test_adbc_results.py +376 -0
  457. sqlspec-0.38.0/tests/integration/adapters/adbc/test_arrow_duckdb.py +211 -0
  458. sqlspec-0.38.0/tests/integration/adapters/adbc/test_arrow_features.py +403 -0
  459. sqlspec-0.38.0/tests/integration/adapters/adbc/test_data_dictionary.py +142 -0
  460. sqlspec-0.38.0/tests/integration/adapters/adbc/test_exceptions.py +128 -0
  461. sqlspec-0.38.0/tests/integration/adapters/adbc/test_explain.py +146 -0
  462. sqlspec-0.38.0/tests/integration/adapters/adbc/test_migrations.py +293 -0
  463. sqlspec-0.38.0/tests/integration/adapters/adbc/test_parameter_styles.py +652 -0
  464. sqlspec-0.38.0/tests/integration/adapters/adbc/test_storage_bridge.py +61 -0
  465. sqlspec-0.38.0/tests/integration/adapters/adbc/test_vector_functions.py +325 -0
  466. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/conftest.py +90 -0
  467. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/__init__.py +1 -0
  468. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/adk/test_memory_store.py +99 -0
  469. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/events/test_queue_backend.py +234 -0
  470. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/litestar/__init__.py +1 -0
  471. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/litestar/test_numpy_serialization.py +254 -0
  472. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/litestar/test_store.py +234 -0
  473. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_arrow.py +233 -0
  474. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_connection.py +286 -0
  475. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_data_dictionary.py +75 -0
  476. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_driver.py +564 -0
  477. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_exceptions.py +125 -0
  478. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_explain.py +109 -0
  479. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_migrations.py +334 -0
  480. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_parameter_styles.py +379 -0
  481. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_pooling.py +190 -0
  482. sqlspec-0.38.0/tests/integration/adapters/aiosqlite/test_storage_bridge.py +44 -0
  483. sqlspec-0.38.0/tests/integration/adapters/asyncmy/conftest.py +88 -0
  484. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/__init__.py +1 -0
  485. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/adk/__init__.py +1 -0
  486. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/adk/conftest.py +118 -0
  487. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/adk/test_store.py +332 -0
  488. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/events/test_queue_backend.py +147 -0
  489. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/litestar/__init__.py +1 -0
  490. sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/litestar/test_store.py +252 -0
  491. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_arrow.py +203 -0
  492. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_config.py +220 -0
  493. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_driver.py +510 -0
  494. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_exceptions.py +137 -0
  495. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_explain.py +138 -0
  496. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_features.py +284 -0
  497. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_migrations.py +405 -0
  498. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_parameter_styles.py +696 -0
  499. sqlspec-0.38.0/tests/integration/adapters/asyncmy/test_storage_bridge.py +61 -0
  500. sqlspec-0.38.0/tests/integration/adapters/asyncpg/conftest.py +41 -0
  501. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/__init__.py +1 -0
  502. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/adk/__init__.py +1 -0
  503. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/adk/conftest.py +69 -0
  504. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/adk/test_owner_id_column.py +411 -0
  505. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/adk/test_session_operations.py +134 -0
  506. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/events/test_listen_notify.py +172 -0
  507. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/events/test_queue_backend.py +38 -0
  508. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/litestar/__init__.py +1 -0
  509. sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/litestar/test_store.py +237 -0
  510. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_arrow.py +204 -0
  511. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_cloud_connectors.py +205 -0
  512. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_data_dictionary.py +167 -0
  513. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_driver.py +906 -0
  514. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_exceptions.py +119 -0
  515. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_execute_many.py +271 -0
  516. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_explain.py +119 -0
  517. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_merge.py +251 -0
  518. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_merge_bulk.py +280 -0
  519. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_migrations.py +648 -0
  520. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_parameter_styles.py +621 -0
  521. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_schema_migration.py +323 -0
  522. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_storage_bridge.py +69 -0
  523. sqlspec-0.38.0/tests/integration/adapters/asyncpg/test_vector_functions.py +287 -0
  524. sqlspec-0.38.0/tests/integration/adapters/bigquery/__init__.py +1 -0
  525. sqlspec-0.38.0/tests/integration/adapters/bigquery/conftest.py +75 -0
  526. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_arrow.py +223 -0
  527. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_config.py +147 -0
  528. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_driver.py +540 -0
  529. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_exceptions.py +93 -0
  530. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_explain.py +102 -0
  531. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_features.py +64 -0
  532. sqlspec-0.38.0/tests/integration/adapters/bigquery/test_vector_functions.py +217 -0
  533. sqlspec-0.38.0/tests/integration/adapters/cockroach_asyncpg/__init__.py +1 -0
  534. sqlspec-0.38.0/tests/integration/adapters/cockroach_asyncpg/conftest.py +38 -0
  535. sqlspec-0.38.0/tests/integration/adapters/cockroach_asyncpg/test_driver.py +47 -0
  536. sqlspec-0.38.0/tests/integration/adapters/cockroach_psycopg/__init__.py +1 -0
  537. sqlspec-0.38.0/tests/integration/adapters/cockroach_psycopg/conftest.py +59 -0
  538. sqlspec-0.38.0/tests/integration/adapters/cockroach_psycopg/test_driver.py +85 -0
  539. sqlspec-0.38.0/tests/integration/adapters/duckdb/__init__.py +5 -0
  540. sqlspec-0.38.0/tests/integration/adapters/duckdb/conftest.py +26 -0
  541. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/__init__.py +1 -0
  542. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/adk/test_memory_store.py +92 -0
  543. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/adk/test_store.py +692 -0
  544. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/events/test_queue_backend.py +35 -0
  545. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/litestar/__init__.py +1 -0
  546. sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/litestar/test_store.py +273 -0
  547. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_arrow.py +193 -0
  548. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_connection.py +394 -0
  549. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_driver.py +651 -0
  550. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_driver_features.py +156 -0
  551. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_exceptions.py +128 -0
  552. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_execute_many.py +294 -0
  553. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_explain.py +160 -0
  554. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_migrations.py +284 -0
  555. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_mixed_parameter_styles.py +151 -0
  556. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_parameter_styles.py +887 -0
  557. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_pooling.py +128 -0
  558. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_storage_bridge.py +69 -0
  559. sqlspec-0.38.0/tests/integration/adapters/duckdb/test_vector_functions.py +289 -0
  560. sqlspec-0.38.0/tests/integration/adapters/duckdb/utils.py +39 -0
  561. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/__init__.py +1 -0
  562. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/conftest.py +175 -0
  563. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/__init__.py +1 -0
  564. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/adk/__init__.py +1 -0
  565. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/adk/conftest.py +100 -0
  566. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/adk/test_store.py +353 -0
  567. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/events/__init__.py +1 -0
  568. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/events/test_queue_backend.py +141 -0
  569. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/litestar/__init__.py +1 -0
  570. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/extensions/litestar/test_store.py +106 -0
  571. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/test_config.py +165 -0
  572. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/test_driver_async.py +259 -0
  573. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/test_driver_sync.py +179 -0
  574. sqlspec-0.38.0/tests/integration/adapters/mysqlconnector/test_exceptions.py +138 -0
  575. sqlspec-0.38.0/tests/integration/adapters/oracledb/__init__.py +5 -0
  576. sqlspec-0.38.0/tests/integration/adapters/oracledb/conftest.py +60 -0
  577. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/adk/__init__.py +1 -0
  578. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/adk/test_inmemory.py +416 -0
  579. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/adk/test_oracle_specific.py +496 -0
  580. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/events/test_oracle_aq.py +111 -0
  581. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/events/test_queue_backend.py +166 -0
  582. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/litestar/test_inmemory.py +282 -0
  583. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/litestar/test_store_async.py +248 -0
  584. sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/litestar/test_store_sync.py +248 -0
  585. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_arrow.py +258 -0
  586. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_driver_async.py +529 -0
  587. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_driver_sync.py +521 -0
  588. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_exceptions.py +142 -0
  589. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_execute_many.py +323 -0
  590. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_explain.py +132 -0
  591. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_features.py +361 -0
  592. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_merge.py +360 -0
  593. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_merge_bulk.py +312 -0
  594. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_migrations.py +927 -0
  595. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_msgspec_clob.py +525 -0
  596. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_numpy_vectors.py +378 -0
  597. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_parameter_styles.py +818 -0
  598. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_stack.py +142 -0
  599. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_uuid_binary.py +354 -0
  600. sqlspec-0.38.0/tests/integration/adapters/oracledb/test_vector_functions.py +240 -0
  601. sqlspec-0.38.0/tests/integration/adapters/psqlpy/__init__.py +1 -0
  602. sqlspec-0.38.0/tests/integration/adapters/psqlpy/conftest.py +57 -0
  603. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/__init__.py +1 -0
  604. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/adk/__init__.py +1 -0
  605. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/adk/test_owner_id_column.py +125 -0
  606. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/events/test_listen_notify.py +102 -0
  607. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/events/test_queue_backend.py +50 -0
  608. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/litestar/__init__.py +1 -0
  609. sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/litestar/test_store.py +237 -0
  610. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_arrow.py +194 -0
  611. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_driver.py +661 -0
  612. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_exceptions.py +118 -0
  613. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_explain.py +110 -0
  614. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_features.py +221 -0
  615. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_merge_bulk.py +280 -0
  616. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_migrations.py +372 -0
  617. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_parameter_styles.py +661 -0
  618. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_storage_bridge.py +63 -0
  619. sqlspec-0.38.0/tests/integration/adapters/psqlpy/test_vector_functions.py +240 -0
  620. sqlspec-0.38.0/tests/integration/adapters/psycopg/__init__.py +3 -0
  621. sqlspec-0.38.0/tests/integration/adapters/psycopg/conftest.py +53 -0
  622. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/adk/test_owner_id_column.py +180 -0
  623. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/events/__init__.py +0 -0
  624. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/events/test_listen_notify.py +158 -0
  625. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/events/test_queue_backend.py +88 -0
  626. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/litestar/__init__.py +0 -0
  627. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/litestar/test_store_async.py +237 -0
  628. sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/litestar/test_store_sync.py +267 -0
  629. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_arrow.py +194 -0
  630. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_async_copy.py +203 -0
  631. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_driver.py +755 -0
  632. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_exceptions.py +161 -0
  633. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_execute_many.py +324 -0
  634. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_explain.py +181 -0
  635. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_merge_bulk.py +282 -0
  636. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_migrations.py +743 -0
  637. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_parameter_styles.py +1032 -0
  638. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_storage_bridge.py +151 -0
  639. sqlspec-0.38.0/tests/integration/adapters/psycopg/test_vector_functions.py +241 -0
  640. sqlspec-0.38.0/tests/integration/adapters/pymysql/__init__.py +1 -0
  641. sqlspec-0.38.0/tests/integration/adapters/pymysql/conftest.py +82 -0
  642. sqlspec-0.38.0/tests/integration/adapters/pymysql/extensions/__init__.py +1 -0
  643. sqlspec-0.38.0/tests/integration/adapters/pymysql/extensions/events/__init__.py +1 -0
  644. sqlspec-0.38.0/tests/integration/adapters/pymysql/extensions/events/test_queue_backend.py +52 -0
  645. sqlspec-0.38.0/tests/integration/adapters/pymysql/extensions/litestar/__init__.py +1 -0
  646. sqlspec-0.38.0/tests/integration/adapters/pymysql/extensions/litestar/test_store.py +65 -0
  647. sqlspec-0.38.0/tests/integration/adapters/pymysql/test_config.py +80 -0
  648. sqlspec-0.38.0/tests/integration/adapters/pymysql/test_driver.py +203 -0
  649. sqlspec-0.38.0/tests/integration/adapters/pymysql/test_exceptions.py +115 -0
  650. sqlspec-0.38.0/tests/integration/adapters/spanner/__init__.py +0 -0
  651. sqlspec-0.38.0/tests/integration/adapters/spanner/conftest.py +180 -0
  652. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/__init__.py +1 -0
  653. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/adk/__init__.py +0 -0
  654. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/adk/conftest.py +36 -0
  655. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/adk/test_adk_store.py +75 -0
  656. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/events/__init__.py +0 -0
  657. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/events/conftest.py +53 -0
  658. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/events/test_queue_backend.py +97 -0
  659. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/litestar/__init__.py +0 -0
  660. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/litestar/conftest.py +39 -0
  661. sqlspec-0.38.0/tests/integration/adapters/spanner/extensions/litestar/test_store.py +44 -0
  662. sqlspec-0.38.0/tests/integration/adapters/spanner/test_arrow.py +133 -0
  663. sqlspec-0.38.0/tests/integration/adapters/spanner/test_bytes_direct.py +76 -0
  664. sqlspec-0.38.0/tests/integration/adapters/spanner/test_crud_operations.py +199 -0
  665. sqlspec-0.38.0/tests/integration/adapters/spanner/test_driver.py +352 -0
  666. sqlspec-0.38.0/tests/integration/adapters/spanner/test_exceptions.py +118 -0
  667. sqlspec-0.38.0/tests/integration/adapters/spanner/test_execute_many.py +224 -0
  668. sqlspec-0.38.0/tests/integration/adapters/spanner/test_explain.py +92 -0
  669. sqlspec-0.38.0/tests/integration/adapters/spanner/test_parameter_styles.py +261 -0
  670. sqlspec-0.38.0/tests/integration/adapters/spanner/test_spangres_driver.py +65 -0
  671. sqlspec-0.38.0/tests/integration/adapters/spanner/test_spangres_parameter_styles.py +64 -0
  672. sqlspec-0.38.0/tests/integration/adapters/sqlite/__init__.py +1 -0
  673. sqlspec-0.38.0/tests/integration/adapters/sqlite/conftest.py +130 -0
  674. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/__init__.py +1 -0
  675. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/adk/__init__.py +1 -0
  676. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/adk/test_memory_store.py +93 -0
  677. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/adk/test_owner_id_column.py +386 -0
  678. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/events/__init__.py +0 -0
  679. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/events/test_queue_backend.py +182 -0
  680. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/litestar/__init__.py +1 -0
  681. sqlspec-0.38.0/tests/integration/adapters/sqlite/extensions/litestar/test_store.py +253 -0
  682. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_arrow.py +156 -0
  683. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_data_dictionary.py +95 -0
  684. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_driver.py +580 -0
  685. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_driver_features.py +113 -0
  686. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_exceptions.py +112 -0
  687. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_explain.py +147 -0
  688. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_migrations.py +492 -0
  689. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_parameter_styles.py +417 -0
  690. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_pooling.py +279 -0
  691. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_query_mixin.py +214 -0
  692. sqlspec-0.38.0/tests/integration/adapters/sqlite/test_storage_bridge.py +45 -0
  693. sqlspec-0.38.0/tests/integration/cli/__init__.py +0 -0
  694. sqlspec-0.38.0/tests/integration/cli/test_config_discovery.py +577 -0
  695. sqlspec-0.38.0/tests/integration/cli/test_sync_adapter.py +290 -0
  696. sqlspec-0.38.0/tests/integration/config/__init__.py +0 -0
  697. sqlspec-0.38.0/tests/integration/config/conftest.py +18 -0
  698. sqlspec-0.38.0/tests/integration/config/test_connection_injection.py +347 -0
  699. sqlspec-0.38.0/tests/integration/conftest.py +27 -0
  700. sqlspec-0.38.0/tests/integration/core/__init__.py +0 -0
  701. sqlspec-0.38.0/tests/integration/core/test_stack_edge_cases.py +185 -0
  702. sqlspec-0.38.0/tests/integration/dishka/__init__.py +1 -0
  703. sqlspec-0.38.0/tests/integration/dishka/conftest.py +115 -0
  704. sqlspec-0.38.0/tests/integration/dishka/test_integration.py +472 -0
  705. sqlspec-0.38.0/tests/integration/extensions/__init__.py +1 -0
  706. sqlspec-0.38.0/tests/integration/extensions/fastapi/__init__.py +0 -0
  707. sqlspec-0.38.0/tests/integration/extensions/fastapi/test_filters_integration.py +395 -0
  708. sqlspec-0.38.0/tests/integration/extensions/fastapi/test_integration.py +284 -0
  709. sqlspec-0.38.0/tests/integration/extensions/flask/__init__.py +0 -0
  710. sqlspec-0.38.0/tests/integration/extensions/flask/test_disable_di.py +80 -0
  711. sqlspec-0.38.0/tests/integration/extensions/flask/test_integration.py +316 -0
  712. sqlspec-0.38.0/tests/integration/extensions/litestar/__init__.py +0 -0
  713. sqlspec-0.38.0/tests/integration/extensions/litestar/test_channels_backend.py +50 -0
  714. sqlspec-0.38.0/tests/integration/extensions/litestar/test_correlation_middleware.py +101 -0
  715. sqlspec-0.38.0/tests/integration/extensions/litestar/test_disable_di.py +69 -0
  716. sqlspec-0.38.0/tests/integration/extensions/litestar/test_logging_format.py +46 -0
  717. sqlspec-0.38.0/tests/integration/extensions/litestar/test_offset_pagination_serialization.py +37 -0
  718. sqlspec-0.38.0/tests/integration/extensions/prometheus/__init__.py +0 -0
  719. sqlspec-0.38.0/tests/integration/extensions/prometheus/test_integration.py +205 -0
  720. sqlspec-0.38.0/tests/integration/extensions/starlette/__init__.py +0 -0
  721. sqlspec-0.38.0/tests/integration/extensions/starlette/test_disable_di.py +70 -0
  722. sqlspec-0.38.0/tests/integration/extensions/starlette/test_integration.py +225 -0
  723. sqlspec-0.38.0/tests/integration/loader/__init__.py +5 -0
  724. sqlspec-0.38.0/tests/integration/loader/test_file_system.py +756 -0
  725. sqlspec-0.38.0/tests/integration/migrations/__init__.py +5 -0
  726. sqlspec-0.38.0/tests/integration/migrations/test_async_migrations.py +291 -0
  727. sqlspec-0.38.0/tests/integration/migrations/test_auto_sync.py +333 -0
  728. sqlspec-0.38.0/tests/integration/migrations/test_fix_checksum_stability.py +203 -0
  729. sqlspec-0.38.0/tests/integration/migrations/test_fix_file_operations.py +376 -0
  730. sqlspec-0.38.0/tests/integration/migrations/test_fix_idempotency_workflow.py +353 -0
  731. sqlspec-0.38.0/tests/integration/migrations/test_migrations_logging_format.py +38 -0
  732. sqlspec-0.38.0/tests/integration/migrations/test_schema_migration.py +311 -0
  733. sqlspec-0.38.0/tests/integration/migrations/test_upgrade_downgrade_versions.py +411 -0
  734. sqlspec-0.38.0/tests/integration/observability/__init__.py +0 -0
  735. sqlspec-0.38.0/tests/integration/observability/test_logging_format.py +78 -0
  736. sqlspec-0.38.0/tests/integration/storage/test_integration.py +931 -0
  737. sqlspec-0.38.0/tests/integration/storage/test_signing.py +254 -0
  738. sqlspec-0.38.0/tests/integration/storage/test_streaming.py +49 -0
  739. sqlspec-0.38.0/tests/unit/__init__.py +1 -0
  740. sqlspec-0.38.0/tests/unit/adapters/__init__.py +3 -0
  741. sqlspec-0.38.0/tests/unit/adapters/conftest.py +590 -0
  742. sqlspec-0.38.0/tests/unit/adapters/test_adapter_implementations.py +431 -0
  743. sqlspec-0.38.0/tests/unit/adapters/test_adbc/__init__.py +0 -0
  744. sqlspec-0.38.0/tests/unit/adapters/test_adbc/test_adbc_config_normalization.py +205 -0
  745. sqlspec-0.38.0/tests/unit/adapters/test_adbc/test_adbc_serialization.py +120 -0
  746. sqlspec-0.38.0/tests/unit/adapters/test_async_adapters.py +568 -0
  747. sqlspec-0.38.0/tests/unit/adapters/test_asyncmy/__init__.py +0 -0
  748. sqlspec-0.38.0/tests/unit/adapters/test_asyncmy/test_config.py +36 -0
  749. sqlspec-0.38.0/tests/unit/adapters/test_asyncpg/__init__.py +1 -0
  750. sqlspec-0.38.0/tests/unit/adapters/test_asyncpg/test_cloud_connectors.py +546 -0
  751. sqlspec-0.38.0/tests/unit/adapters/test_asyncpg/test_config.py +36 -0
  752. sqlspec-0.38.0/tests/unit/adapters/test_asyncpg/test_type_handlers.py +66 -0
  753. sqlspec-0.38.0/tests/unit/adapters/test_bigquery/test_config.py +28 -0
  754. sqlspec-0.38.0/tests/unit/adapters/test_bigquery/test_execute_many.py +74 -0
  755. sqlspec-0.38.0/tests/unit/adapters/test_bigquery/test_parameters.py +13 -0
  756. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_asyncpg/__init__.py +1 -0
  757. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_asyncpg/test_config.py +125 -0
  758. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_asyncpg/test_core.py +169 -0
  759. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_psycopg/__init__.py +1 -0
  760. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_psycopg/test_config.py +214 -0
  761. sqlspec-0.38.0/tests/unit/adapters/test_cockroach_psycopg/test_core.py +169 -0
  762. sqlspec-0.38.0/tests/unit/adapters/test_duckdb/__init__.py +1 -0
  763. sqlspec-0.38.0/tests/unit/adapters/test_duckdb/test_config.py +28 -0
  764. sqlspec-0.38.0/tests/unit/adapters/test_duckdb/test_extension_flags.py +42 -0
  765. sqlspec-0.38.0/tests/unit/adapters/test_duckdb/test_type_converter.py +82 -0
  766. sqlspec-0.38.0/tests/unit/adapters/test_extension_config.py +214 -0
  767. sqlspec-0.38.0/tests/unit/adapters/test_mock/__init__.py +1 -0
  768. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_config.py +152 -0
  769. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_core.py +349 -0
  770. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_cursor_and_exceptions.py +256 -0
  771. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_data_dictionary.py +319 -0
  772. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_dialect_transpilation.py +224 -0
  773. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_driver.py +233 -0
  774. sqlspec-0.38.0/tests/unit/adapters/test_mock/test_edge_cases.py +389 -0
  775. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/__init__.py +0 -0
  776. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_data_dictionary_oracledb.py +157 -0
  777. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_numpy_handlers.py +228 -0
  778. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_oracle_adk_store.py +49 -0
  779. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_pipeline_helpers.py +137 -0
  780. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_type_converter_vectors.py +192 -0
  781. sqlspec-0.38.0/tests/unit/adapters/test_oracledb/test_uuid_handlers.py +240 -0
  782. sqlspec-0.38.0/tests/unit/adapters/test_pool_logging.py +203 -0
  783. sqlspec-0.38.0/tests/unit/adapters/test_psqlpy/__init__.py +0 -0
  784. sqlspec-0.38.0/tests/unit/adapters/test_psqlpy/test_config.py +28 -0
  785. sqlspec-0.38.0/tests/unit/adapters/test_psycopg/__init__.py +1 -0
  786. sqlspec-0.38.0/tests/unit/adapters/test_psycopg/test_config.py +58 -0
  787. sqlspec-0.38.0/tests/unit/adapters/test_psycopg/test_type_handlers.py +102 -0
  788. sqlspec-0.38.0/tests/unit/adapters/test_spanner/__init__.py +1 -0
  789. sqlspec-0.38.0/tests/unit/adapters/test_spanner/conftest.py +3 -0
  790. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_config.py +210 -0
  791. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_dialect.py +801 -0
  792. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_driver.py +79 -0
  793. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_events_store.py +202 -0
  794. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_litestar_store.py +124 -0
  795. sqlspec-0.38.0/tests/unit/adapters/test_spanner/test_type_converter.py +30 -0
  796. sqlspec-0.38.0/tests/unit/adapters/test_sqlite/__init__.py +0 -0
  797. sqlspec-0.38.0/tests/unit/adapters/test_sqlite/test_type_handlers.py +44 -0
  798. sqlspec-0.38.0/tests/unit/adapters/test_sync_adapters.py +488 -0
  799. sqlspec-0.38.0/tests/unit/base/__init__.py +1 -0
  800. sqlspec-0.38.0/tests/unit/base/test_config_instances.py +487 -0
  801. sqlspec-0.38.0/tests/unit/base/test_sql_integration.py +301 -0
  802. sqlspec-0.38.0/tests/unit/base/test_sqlspec_class.py +603 -0
  803. sqlspec-0.38.0/tests/unit/builder/__init__.py +1 -0
  804. sqlspec-0.38.0/tests/unit/builder/test_cte_parameter_collisions.py +244 -0
  805. sqlspec-0.38.0/tests/unit/builder/test_dialect_override.py +156 -0
  806. sqlspec-0.38.0/tests/unit/builder/test_explain.py +1528 -0
  807. sqlspec-0.38.0/tests/unit/builder/test_insert_builder.py +321 -0
  808. sqlspec-0.38.0/tests/unit/builder/test_lateral_joins.py +272 -0
  809. sqlspec-0.38.0/tests/unit/builder/test_merge.py +720 -0
  810. sqlspec-0.38.0/tests/unit/builder/test_merge_dialect_validation.py +231 -0
  811. sqlspec-0.38.0/tests/unit/builder/test_merge_property_shorthand.py +183 -0
  812. sqlspec-0.38.0/tests/unit/builder/test_parameter_naming.py +481 -0
  813. sqlspec-0.38.0/tests/unit/builder/test_parsing_utils.py +186 -0
  814. sqlspec-0.38.0/tests/unit/builder/test_select_builder.py +62 -0
  815. sqlspec-0.38.0/tests/unit/builder/test_select_locking.py +240 -0
  816. sqlspec-0.38.0/tests/unit/builder/test_sql_factory.py +2062 -0
  817. sqlspec-0.38.0/tests/unit/builder/test_temporal.py +122 -0
  818. sqlspec-0.38.0/tests/unit/builder/test_to_sql.py +384 -0
  819. sqlspec-0.38.0/tests/unit/builder/test_upsert_factory.py +272 -0
  820. sqlspec-0.38.0/tests/unit/builder/test_vector_functions.py +570 -0
  821. sqlspec-0.38.0/tests/unit/builder/test_where_or_operations.py +560 -0
  822. sqlspec-0.38.0/tests/unit/cli/__init__.py +0 -0
  823. sqlspec-0.38.0/tests/unit/cli/test_config_loading.py +153 -0
  824. sqlspec-0.38.0/tests/unit/cli/test_migration_commands.py +770 -0
  825. sqlspec-0.38.0/tests/unit/cli/test_shell_completion.py +59 -0
  826. sqlspec-0.38.0/tests/unit/config/__init__.py +0 -0
  827. sqlspec-0.38.0/tests/unit/config/test_connection_config_edge_cases.py +426 -0
  828. sqlspec-0.38.0/tests/unit/config/test_connection_config_parameters.py +544 -0
  829. sqlspec-0.38.0/tests/unit/config/test_discovery.py +265 -0
  830. sqlspec-0.38.0/tests/unit/config/test_migration_methods.py +507 -0
  831. sqlspec-0.38.0/tests/unit/config/test_observability_extensions.py +66 -0
  832. sqlspec-0.38.0/tests/unit/config/test_resolver.py +258 -0
  833. sqlspec-0.38.0/tests/unit/config/test_storage_capabilities.py +109 -0
  834. sqlspec-0.38.0/tests/unit/conftest.py +1119 -0
  835. sqlspec-0.38.0/tests/unit/core/__init__.py +0 -0
  836. sqlspec-0.38.0/tests/unit/core/test_cache.py +844 -0
  837. sqlspec-0.38.0/tests/unit/core/test_compiler.py +970 -0
  838. sqlspec-0.38.0/tests/unit/core/test_correlation.py +189 -0
  839. sqlspec-0.38.0/tests/unit/core/test_data_dictionary.py +87 -0
  840. sqlspec-0.38.0/tests/unit/core/test_filters.py +509 -0
  841. sqlspec-0.38.0/tests/unit/core/test_hashing.py +535 -0
  842. sqlspec-0.38.0/tests/unit/core/test_parameter_regex_performance.py +200 -0
  843. sqlspec-0.38.0/tests/unit/core/test_parameters.py +1887 -0
  844. sqlspec-0.38.0/tests/unit/core/test_query_modifiers.py +675 -0
  845. sqlspec-0.38.0/tests/unit/core/test_result.py +605 -0
  846. sqlspec-0.38.0/tests/unit/core/test_sql_modifiers.py +483 -0
  847. sqlspec-0.38.0/tests/unit/core/test_stack.py +135 -0
  848. sqlspec-0.38.0/tests/unit/core/test_statement.py +1240 -0
  849. sqlspec-0.38.0/tests/unit/core/test_type_conversion.py +322 -0
  850. sqlspec-0.38.0/tests/unit/dialects/__init__.py +0 -0
  851. sqlspec-0.38.0/tests/unit/dialects/test_spangres.py +32 -0
  852. sqlspec-0.38.0/tests/unit/dialects/test_spanner.py +113 -0
  853. sqlspec-0.38.0/tests/unit/driver/__init__.py +0 -0
  854. sqlspec-0.38.0/tests/unit/driver/test_count_query.py +643 -0
  855. sqlspec-0.38.0/tests/unit/driver/test_data_dictionary.py +364 -0
  856. sqlspec-0.38.0/tests/unit/driver/test_fetch_aliases.py +531 -0
  857. sqlspec-0.38.0/tests/unit/driver/test_force_select.py +93 -0
  858. sqlspec-0.38.0/tests/unit/driver/test_result_tools.py +415 -0
  859. sqlspec-0.38.0/tests/unit/driver/test_stack_base.py +128 -0
  860. sqlspec-0.38.0/tests/unit/exceptions/__init__.py +1 -0
  861. sqlspec-0.38.0/tests/unit/exceptions/test_exceptions.py +158 -0
  862. sqlspec-0.38.0/tests/unit/extensions/__init__.py +1 -0
  863. sqlspec-0.38.0/tests/unit/extensions/conftest.py +5 -0
  864. sqlspec-0.38.0/tests/unit/extensions/test_adk/__init__.py +0 -0
  865. sqlspec-0.38.0/tests/unit/extensions/test_adk/test_memory_converters.py +69 -0
  866. sqlspec-0.38.0/tests/unit/extensions/test_events/__init__.py +0 -0
  867. sqlspec-0.38.0/tests/unit/extensions/test_events/test_adapter_stores.py +1099 -0
  868. sqlspec-0.38.0/tests/unit/extensions/test_events/test_backend_factories.py +541 -0
  869. sqlspec-0.38.0/tests/unit/extensions/test_events/test_channel.py +237 -0
  870. sqlspec-0.38.0/tests/unit/extensions/test_events/test_channel_extended.py +253 -0
  871. sqlspec-0.38.0/tests/unit/extensions/test_events/test_events_config.py +157 -0
  872. sqlspec-0.38.0/tests/unit/extensions/test_events/test_hints.py +103 -0
  873. sqlspec-0.38.0/tests/unit/extensions/test_events/test_models.py +181 -0
  874. sqlspec-0.38.0/tests/unit/extensions/test_events/test_queue.py +277 -0
  875. sqlspec-0.38.0/tests/unit/extensions/test_events/test_store.py +108 -0
  876. sqlspec-0.38.0/tests/unit/extensions/test_events/test_store_hooks.py +701 -0
  877. sqlspec-0.38.0/tests/unit/extensions/test_fastapi/__init__.py +1 -0
  878. sqlspec-0.38.0/tests/unit/extensions/test_fastapi/test_extension.py +95 -0
  879. sqlspec-0.38.0/tests/unit/extensions/test_fastapi/test_providers.py +328 -0
  880. sqlspec-0.38.0/tests/unit/extensions/test_flask/__init__.py +1 -0
  881. sqlspec-0.38.0/tests/unit/extensions/test_flask/test_correlation.py +265 -0
  882. sqlspec-0.38.0/tests/unit/extensions/test_flask/test_extension.py +100 -0
  883. sqlspec-0.38.0/tests/unit/extensions/test_flask/test_state.py +169 -0
  884. sqlspec-0.38.0/tests/unit/extensions/test_litestar/__init__.py +1 -0
  885. sqlspec-0.38.0/tests/unit/extensions/test_litestar/test_correlation_middleware.py +30 -0
  886. sqlspec-0.38.0/tests/unit/extensions/test_litestar/test_handlers.py +301 -0
  887. sqlspec-0.38.0/tests/unit/extensions/test_otel/__init__.py +0 -0
  888. sqlspec-0.38.0/tests/unit/extensions/test_otel/test_enable_tracing.py +25 -0
  889. sqlspec-0.38.0/tests/unit/extensions/test_prometheus/__init__.py +0 -0
  890. sqlspec-0.38.0/tests/unit/extensions/test_prometheus/test_enable_metrics.py +41 -0
  891. sqlspec-0.38.0/tests/unit/extensions/test_prometheus/test_metrics.py +351 -0
  892. sqlspec-0.38.0/tests/unit/extensions/test_starlette/__init__.py +1 -0
  893. sqlspec-0.38.0/tests/unit/extensions/test_starlette/test_config_state.py +68 -0
  894. sqlspec-0.38.0/tests/unit/extensions/test_starlette/test_correlation_middleware.py +281 -0
  895. sqlspec-0.38.0/tests/unit/extensions/test_starlette/test_extension.py +74 -0
  896. sqlspec-0.38.0/tests/unit/extensions/test_starlette/test_utils.py +147 -0
  897. sqlspec-0.38.0/tests/unit/loader/__init__.py +4 -0
  898. sqlspec-0.38.0/tests/unit/loader/test_cache_integration.py +628 -0
  899. sqlspec-0.38.0/tests/unit/loader/test_correlation_preserved.py +19 -0
  900. sqlspec-0.38.0/tests/unit/loader/test_fixtures_directory_loading.py +646 -0
  901. sqlspec-0.38.0/tests/unit/loader/test_loading_patterns.py +780 -0
  902. sqlspec-0.38.0/tests/unit/loader/test_sql_file_loader.py +1007 -0
  903. sqlspec-0.38.0/tests/unit/migrations/__init__.py +8 -0
  904. sqlspec-0.38.0/tests/unit/migrations/test_checksum_canonicalization.py +345 -0
  905. sqlspec-0.38.0/tests/unit/migrations/test_extension_discovery.py +80 -0
  906. sqlspec-0.38.0/tests/unit/migrations/test_fix_regex_precision.py +368 -0
  907. sqlspec-0.38.0/tests/unit/migrations/test_migration.py +702 -0
  908. sqlspec-0.38.0/tests/unit/migrations/test_migration_commands.py +382 -0
  909. sqlspec-0.38.0/tests/unit/migrations/test_migration_context.py +200 -0
  910. sqlspec-0.38.0/tests/unit/migrations/test_migration_execution.py +627 -0
  911. sqlspec-0.38.0/tests/unit/migrations/test_migration_runner.py +874 -0
  912. sqlspec-0.38.0/tests/unit/migrations/test_tracker_idempotency.py +317 -0
  913. sqlspec-0.38.0/tests/unit/migrations/test_utils.py +385 -0
  914. sqlspec-0.38.0/tests/unit/migrations/test_validation.py +206 -0
  915. sqlspec-0.38.0/tests/unit/migrations/test_version.py +326 -0
  916. sqlspec-0.38.0/tests/unit/migrations/test_version_conversion.py +303 -0
  917. sqlspec-0.38.0/tests/unit/migrations/test_version_parsing_edge_cases.py +236 -0
  918. sqlspec-0.38.0/tests/unit/observability/__init__.py +0 -0
  919. sqlspec-0.38.0/tests/unit/observability/test_formatters.py +290 -0
  920. sqlspec-0.38.0/tests/unit/observability/test_observability_core.py +608 -0
  921. sqlspec-0.38.0/tests/unit/observability/test_observability_logging.py +327 -0
  922. sqlspec-0.38.0/tests/unit/observability/test_observability_sampling.py +347 -0
  923. sqlspec-0.38.0/tests/unit/observability/test_sampling.py +204 -0
  924. sqlspec-0.38.0/tests/unit/storage/test_bridge.py +373 -0
  925. sqlspec-0.38.0/tests/unit/storage/test_errors.py +32 -0
  926. sqlspec-0.38.0/tests/unit/storage/test_fsspec_backend.py +481 -0
  927. sqlspec-0.38.0/tests/unit/storage/test_local_store.py +446 -0
  928. sqlspec-0.38.0/tests/unit/storage/test_obstore_backend.py +470 -0
  929. sqlspec-0.38.0/tests/unit/storage/test_signing.py +407 -0
  930. sqlspec-0.38.0/tests/unit/storage/test_storage_registry.py +248 -0
  931. sqlspec-0.38.0/tests/unit/storage/test_storage_utils.py +75 -0
  932. sqlspec-0.38.0/tests/unit/utils/__init__.py +1 -0
  933. sqlspec-0.38.0/tests/unit/utils/test_arrow_helpers.py +145 -0
  934. sqlspec-0.38.0/tests/unit/utils/test_correlation.py +466 -0
  935. sqlspec-0.38.0/tests/unit/utils/test_data_transformation.py +343 -0
  936. sqlspec-0.38.0/tests/unit/utils/test_dependencies.py +302 -0
  937. sqlspec-0.38.0/tests/unit/utils/test_deprecation.py +153 -0
  938. sqlspec-0.38.0/tests/unit/utils/test_fixtures.py +498 -0
  939. sqlspec-0.38.0/tests/unit/utils/test_logging.py +705 -0
  940. sqlspec-0.38.0/tests/unit/utils/test_portal.py +399 -0
  941. sqlspec-0.38.0/tests/unit/utils/test_serialization.py +558 -0
  942. sqlspec-0.38.0/tests/unit/utils/test_serializers.py +668 -0
  943. sqlspec-0.38.0/tests/unit/utils/test_sync_tools.py +453 -0
  944. sqlspec-0.38.0/tests/unit/utils/test_text.py +255 -0
  945. sqlspec-0.38.0/tests/unit/utils/test_to_value_type.py +764 -0
  946. sqlspec-0.38.0/tests/unit/utils/test_type_guards.py +1103 -0
  947. sqlspec-0.38.0/tests/unit/utils/test_uuids.py +501 -0
  948. sqlspec-0.38.0/tools/__init__.py +0 -0
  949. sqlspec-0.38.0/tools/build_docs.py +35 -0
  950. sqlspec-0.38.0/tools/fix_documentation.py +227 -0
  951. sqlspec-0.38.0/tools/local-infra.sh +686 -0
  952. sqlspec-0.38.0/tools/run_pre_commit.py +57 -0
  953. sqlspec-0.38.0/tools/sphinx_ext/changelog.py +156 -0
  954. sqlspec-0.38.0/tools/sphinx_ext/missing_references.py +331 -0
  955. sqlspec-0.38.0/tools/sphinx_ext/playground.py +38 -0
  956. sqlspec-0.38.0/tools/sphinx_ext/playground_template.html +691 -0
  957. sqlspec-0.38.0/uv.lock +8142 -0
  958. sqlspec-0.13.0/.gitignore +0 -52
  959. sqlspec-0.13.0/.pre-commit-config.yaml +0 -52
  960. sqlspec-0.13.0/CONTRIBUTING.rst +0 -71
  961. sqlspec-0.13.0/Makefile +0 -220
  962. sqlspec-0.13.0/NOTICE +0 -29
  963. sqlspec-0.13.0/PKG-INFO +0 -360
  964. sqlspec-0.13.0/README.md +0 -276
  965. sqlspec-0.13.0/pyproject.toml +0 -439
  966. sqlspec-0.13.0/sqlspec/__init__.py +0 -29
  967. sqlspec-0.13.0/sqlspec/__metadata__.py +0 -16
  968. sqlspec-0.13.0/sqlspec/_serialization.py +0 -78
  969. sqlspec-0.13.0/sqlspec/_sql.py +0 -988
  970. sqlspec-0.13.0/sqlspec/_typing.py +0 -544
  971. sqlspec-0.13.0/sqlspec/adapters/adbc/__init__.py +0 -4
  972. sqlspec-0.13.0/sqlspec/adapters/adbc/config.py +0 -530
  973. sqlspec-0.13.0/sqlspec/adapters/adbc/driver.py +0 -390
  974. sqlspec-0.13.0/sqlspec/adapters/aiosqlite/__init__.py +0 -4
  975. sqlspec-0.13.0/sqlspec/adapters/aiosqlite/config.py +0 -188
  976. sqlspec-0.13.0/sqlspec/adapters/aiosqlite/driver.py +0 -269
  977. sqlspec-0.13.0/sqlspec/adapters/asyncmy/__init__.py +0 -4
  978. sqlspec-0.13.0/sqlspec/adapters/asyncmy/config.py +0 -285
  979. sqlspec-0.13.0/sqlspec/adapters/asyncmy/driver.py +0 -232
  980. sqlspec-0.13.0/sqlspec/adapters/asyncpg/__init__.py +0 -6
  981. sqlspec-0.13.0/sqlspec/adapters/asyncpg/config.py +0 -370
  982. sqlspec-0.13.0/sqlspec/adapters/asyncpg/driver.py +0 -419
  983. sqlspec-0.13.0/sqlspec/adapters/bigquery/__init__.py +0 -4
  984. sqlspec-0.13.0/sqlspec/adapters/bigquery/config.py +0 -406
  985. sqlspec-0.13.0/sqlspec/adapters/bigquery/driver.py +0 -718
  986. sqlspec-0.13.0/sqlspec/adapters/duckdb/__init__.py +0 -11
  987. sqlspec-0.13.0/sqlspec/adapters/duckdb/config.py +0 -487
  988. sqlspec-0.13.0/sqlspec/adapters/duckdb/driver.py +0 -419
  989. sqlspec-0.13.0/sqlspec/adapters/oracledb/__init__.py +0 -18
  990. sqlspec-0.13.0/sqlspec/adapters/oracledb/config.py +0 -626
  991. sqlspec-0.13.0/sqlspec/adapters/oracledb/driver.py +0 -564
  992. sqlspec-0.13.0/sqlspec/adapters/psqlpy/__init__.py +0 -6
  993. sqlspec-0.13.0/sqlspec/adapters/psqlpy/config.py +0 -415
  994. sqlspec-0.13.0/sqlspec/adapters/psqlpy/driver.py +0 -239
  995. sqlspec-0.13.0/sqlspec/adapters/psycopg/__init__.py +0 -18
  996. sqlspec-0.13.0/sqlspec/adapters/psycopg/config.py +0 -729
  997. sqlspec-0.13.0/sqlspec/adapters/psycopg/driver.py +0 -917
  998. sqlspec-0.13.0/sqlspec/adapters/sqlite/__init__.py +0 -4
  999. sqlspec-0.13.0/sqlspec/adapters/sqlite/config.py +0 -174
  1000. sqlspec-0.13.0/sqlspec/adapters/sqlite/driver.py +0 -309
  1001. sqlspec-0.13.0/sqlspec/base.py +0 -475
  1002. sqlspec-0.13.0/sqlspec/config.py +0 -350
  1003. sqlspec-0.13.0/sqlspec/driver/__init__.py +0 -22
  1004. sqlspec-0.13.0/sqlspec/driver/_async.py +0 -243
  1005. sqlspec-0.13.0/sqlspec/driver/_common.py +0 -373
  1006. sqlspec-0.13.0/sqlspec/driver/_sync.py +0 -237
  1007. sqlspec-0.13.0/sqlspec/driver/connection.py +0 -207
  1008. sqlspec-0.13.0/sqlspec/driver/mixins/__init__.py +0 -17
  1009. sqlspec-0.13.0/sqlspec/driver/mixins/_csv_writer.py +0 -91
  1010. sqlspec-0.13.0/sqlspec/driver/mixins/_pipeline.py +0 -512
  1011. sqlspec-0.13.0/sqlspec/driver/mixins/_result_utils.py +0 -140
  1012. sqlspec-0.13.0/sqlspec/driver/mixins/_sql_translator.py +0 -35
  1013. sqlspec-0.13.0/sqlspec/driver/mixins/_storage.py +0 -926
  1014. sqlspec-0.13.0/sqlspec/driver/mixins/_type_coercion.py +0 -130
  1015. sqlspec-0.13.0/sqlspec/driver/parameters.py +0 -138
  1016. sqlspec-0.13.0/sqlspec/exceptions.py +0 -440
  1017. sqlspec-0.13.0/sqlspec/extensions/aiosql/__init__.py +0 -10
  1018. sqlspec-0.13.0/sqlspec/extensions/aiosql/adapter.py +0 -464
  1019. sqlspec-0.13.0/sqlspec/extensions/litestar/__init__.py +0 -5
  1020. sqlspec-0.13.0/sqlspec/extensions/litestar/_utils.py +0 -52
  1021. sqlspec-0.13.0/sqlspec/extensions/litestar/config.py +0 -93
  1022. sqlspec-0.13.0/sqlspec/extensions/litestar/handlers.py +0 -271
  1023. sqlspec-0.13.0/sqlspec/extensions/litestar/plugin.py +0 -140
  1024. sqlspec-0.13.0/sqlspec/extensions/litestar/providers.py +0 -489
  1025. sqlspec-0.13.0/sqlspec/loader.py +0 -441
  1026. sqlspec-0.13.0/sqlspec/protocols.py +0 -542
  1027. sqlspec-0.13.0/sqlspec/service/__init__.py +0 -4
  1028. sqlspec-0.13.0/sqlspec/service/_util.py +0 -147
  1029. sqlspec-0.13.0/sqlspec/service/base.py +0 -1131
  1030. sqlspec-0.13.0/sqlspec/service/pagination.py +0 -26
  1031. sqlspec-0.13.0/sqlspec/statement/__init__.py +0 -21
  1032. sqlspec-0.13.0/sqlspec/statement/builder/__init__.py +0 -64
  1033. sqlspec-0.13.0/sqlspec/statement/builder/_ddl_utils.py +0 -109
  1034. sqlspec-0.13.0/sqlspec/statement/builder/_parsing_utils.py +0 -141
  1035. sqlspec-0.13.0/sqlspec/statement/builder/base.py +0 -375
  1036. sqlspec-0.13.0/sqlspec/statement/builder/column.py +0 -283
  1037. sqlspec-0.13.0/sqlspec/statement/builder/ddl.py +0 -1416
  1038. sqlspec-0.13.0/sqlspec/statement/builder/delete.py +0 -96
  1039. sqlspec-0.13.0/sqlspec/statement/builder/insert.py +0 -288
  1040. sqlspec-0.13.0/sqlspec/statement/builder/merge.py +0 -95
  1041. sqlspec-0.13.0/sqlspec/statement/builder/mixins/__init__.py +0 -65
  1042. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_aggregate_functions.py +0 -250
  1043. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_case_builder.py +0 -91
  1044. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_common_table_expr.py +0 -90
  1045. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_delete_from.py +0 -34
  1046. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_from.py +0 -63
  1047. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_group_by.py +0 -118
  1048. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_having.py +0 -35
  1049. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_insert_from_select.py +0 -47
  1050. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_insert_into.py +0 -36
  1051. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_insert_values.py +0 -67
  1052. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_join.py +0 -117
  1053. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_limit_offset.py +0 -53
  1054. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_merge_clauses.py +0 -404
  1055. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_order_by.py +0 -46
  1056. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_pivot.py +0 -79
  1057. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_returning.py +0 -37
  1058. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_select_columns.py +0 -61
  1059. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_set_ops.py +0 -122
  1060. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_unpivot.py +0 -77
  1061. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_update_from.py +0 -55
  1062. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_update_set.py +0 -94
  1063. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_update_table.py +0 -29
  1064. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_where.py +0 -401
  1065. sqlspec-0.13.0/sqlspec/statement/builder/mixins/_window_functions.py +0 -86
  1066. sqlspec-0.13.0/sqlspec/statement/builder/select.py +0 -221
  1067. sqlspec-0.13.0/sqlspec/statement/builder/update.py +0 -192
  1068. sqlspec-0.13.0/sqlspec/statement/filters.py +0 -596
  1069. sqlspec-0.13.0/sqlspec/statement/parameter_manager.py +0 -220
  1070. sqlspec-0.13.0/sqlspec/statement/parameters.py +0 -867
  1071. sqlspec-0.13.0/sqlspec/statement/pipelines/__init__.py +0 -210
  1072. sqlspec-0.13.0/sqlspec/statement/pipelines/analyzers/__init__.py +0 -9
  1073. sqlspec-0.13.0/sqlspec/statement/pipelines/analyzers/_analyzer.py +0 -646
  1074. sqlspec-0.13.0/sqlspec/statement/pipelines/context.py +0 -115
  1075. sqlspec-0.13.0/sqlspec/statement/pipelines/transformers/__init__.py +0 -7
  1076. sqlspec-0.13.0/sqlspec/statement/pipelines/transformers/_expression_simplifier.py +0 -88
  1077. sqlspec-0.13.0/sqlspec/statement/pipelines/transformers/_literal_parameterizer.py +0 -1247
  1078. sqlspec-0.13.0/sqlspec/statement/pipelines/transformers/_remove_comments_and_hints.py +0 -76
  1079. sqlspec-0.13.0/sqlspec/statement/pipelines/validators/__init__.py +0 -23
  1080. sqlspec-0.13.0/sqlspec/statement/pipelines/validators/_dml_safety.py +0 -290
  1081. sqlspec-0.13.0/sqlspec/statement/pipelines/validators/_parameter_style.py +0 -370
  1082. sqlspec-0.13.0/sqlspec/statement/pipelines/validators/_performance.py +0 -718
  1083. sqlspec-0.13.0/sqlspec/statement/pipelines/validators/_security.py +0 -967
  1084. sqlspec-0.13.0/sqlspec/statement/result.py +0 -435
  1085. sqlspec-0.13.0/sqlspec/statement/splitter.py +0 -689
  1086. sqlspec-0.13.0/sqlspec/statement/sql.py +0 -1704
  1087. sqlspec-0.13.0/sqlspec/statement/sql_compiler.py +0 -140
  1088. sqlspec-0.13.0/sqlspec/storage/__init__.py +0 -23
  1089. sqlspec-0.13.0/sqlspec/storage/backends/base.py +0 -166
  1090. sqlspec-0.13.0/sqlspec/storage/backends/fsspec.py +0 -362
  1091. sqlspec-0.13.0/sqlspec/storage/backends/obstore.py +0 -481
  1092. sqlspec-0.13.0/sqlspec/storage/capabilities.py +0 -101
  1093. sqlspec-0.13.0/sqlspec/storage/registry.py +0 -288
  1094. sqlspec-0.13.0/sqlspec/typing.py +0 -278
  1095. sqlspec-0.13.0/sqlspec/utils/__init__.py +0 -3
  1096. sqlspec-0.13.0/sqlspec/utils/cached_property.py +0 -25
  1097. sqlspec-0.13.0/sqlspec/utils/correlation.py +0 -153
  1098. sqlspec-0.13.0/sqlspec/utils/deprecation.py +0 -106
  1099. sqlspec-0.13.0/sqlspec/utils/fixtures.py +0 -58
  1100. sqlspec-0.13.0/sqlspec/utils/logging.py +0 -129
  1101. sqlspec-0.13.0/sqlspec/utils/module_loader.py +0 -94
  1102. sqlspec-0.13.0/sqlspec/utils/serializers.py +0 -4
  1103. sqlspec-0.13.0/sqlspec/utils/singleton.py +0 -33
  1104. sqlspec-0.13.0/sqlspec/utils/sync_tools.py +0 -258
  1105. sqlspec-0.13.0/sqlspec/utils/text.py +0 -135
  1106. sqlspec-0.13.0/sqlspec/utils/type_guards.py +0 -892
  1107. sqlspec-0.13.0/tests/conftest.py +0 -37
  1108. sqlspec-0.13.0/tests/fixtures/example_usage.py +0 -82
  1109. sqlspec-0.13.0/tests/fixtures/oracle.ddl.sql +0 -206
  1110. sqlspec-0.13.0/tests/fixtures/sql_utils.py +0 -92
  1111. sqlspec-0.13.0/tests/integration/__init__.py +0 -3
  1112. sqlspec-0.13.0/tests/integration/test_adapters/__init__.py +0 -1
  1113. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/__init__.py +0 -5
  1114. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/conftest.py +0 -35
  1115. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_arrow_functionality.py +0 -199
  1116. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_bigquery_driver.py +0 -289
  1117. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_connection.py +0 -85
  1118. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_data_types.py +0 -273
  1119. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_driver.py +0 -954
  1120. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_duckdb_driver.py +0 -371
  1121. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_execute_many.py +0 -195
  1122. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_execute_script.py +0 -254
  1123. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_parameter_styles.py +0 -186
  1124. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_postgres_driver.py +0 -1170
  1125. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_returning.py +0 -128
  1126. sqlspec-0.13.0/tests/integration/test_adapters/test_adbc/test_sqlite_driver.py +0 -491
  1127. sqlspec-0.13.0/tests/integration/test_adapters/test_aiosqlite/test_driver.py +0 -503
  1128. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncmy/test_config.py +0 -154
  1129. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/conftest.py +0 -50
  1130. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/test_arrow_functionality.py +0 -200
  1131. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/test_connection.py +0 -41
  1132. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/test_driver.py +0 -683
  1133. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/test_execute_many.py +0 -320
  1134. sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg/test_parameter_styles.py +0 -410
  1135. sqlspec-0.13.0/tests/integration/test_adapters/test_bigquery/conftest.py +0 -31
  1136. sqlspec-0.13.0/tests/integration/test_adapters/test_bigquery/test_arrow_functionality.py +0 -353
  1137. sqlspec-0.13.0/tests/integration/test_adapters/test_bigquery/test_connection.py +0 -17
  1138. sqlspec-0.13.0/tests/integration/test_adapters/test_bigquery/test_driver.py +0 -542
  1139. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/__init__.py +0 -5
  1140. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_arrow_functionality.py +0 -440
  1141. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_connection.py +0 -252
  1142. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_driver.py +0 -735
  1143. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_execute_many.py +0 -315
  1144. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_mixed_parameter_styles.py +0 -145
  1145. sqlspec-0.13.0/tests/integration/test_adapters/test_duckdb/test_parameter_styles.py +0 -510
  1146. sqlspec-0.13.0/tests/integration/test_adapters/test_oracledb/__init__.py +0 -5
  1147. sqlspec-0.13.0/tests/integration/test_adapters/test_oracledb/test_connection.py +0 -104
  1148. sqlspec-0.13.0/tests/integration/test_adapters/test_oracledb/test_driver_async.py +0 -385
  1149. sqlspec-0.13.0/tests/integration/test_adapters/test_oracledb/test_driver_sync.py +0 -353
  1150. sqlspec-0.13.0/tests/integration/test_adapters/test_psqlpy/test_arrow_functionality.py +0 -421
  1151. sqlspec-0.13.0/tests/integration/test_adapters/test_psqlpy/test_connection.py +0 -72
  1152. sqlspec-0.13.0/tests/integration/test_adapters/test_psqlpy/test_driver.py +0 -499
  1153. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/__init__.py +0 -5
  1154. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/conftest.py +0 -59
  1155. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/test_async_copy.py +0 -183
  1156. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/test_connection.py +0 -90
  1157. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/test_driver.py +0 -677
  1158. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/test_execute_many.py +0 -399
  1159. sqlspec-0.13.0/tests/integration/test_adapters/test_psycopg/test_parameter_styles.py +0 -477
  1160. sqlspec-0.13.0/tests/integration/test_adapters/test_sqlite/__init__.py +0 -1
  1161. sqlspec-0.13.0/tests/integration/test_adapters/test_sqlite/test_driver.py +0 -593
  1162. sqlspec-0.13.0/tests/integration/test_dialect_propagation.py +0 -340
  1163. sqlspec-0.13.0/tests/integration/test_sql_file_loader.py +0 -620
  1164. sqlspec-0.13.0/tests/integration/test_storage/test_driver_storage_integration.py +0 -431
  1165. sqlspec-0.13.0/tests/integration/test_storage/test_end_to_end_workflows.py +0 -558
  1166. sqlspec-0.13.0/tests/integration/test_storage/test_storage_mixins.py +0 -519
  1167. sqlspec-0.13.0/tests/unit/test_adapters/__init__.py +0 -3
  1168. sqlspec-0.13.0/tests/unit/test_adapters/test_adbc/__init__.py +0 -3
  1169. sqlspec-0.13.0/tests/unit/test_adapters/test_adbc/test_config.py +0 -127
  1170. sqlspec-0.13.0/tests/unit/test_adapters/test_adbc/test_driver.py +0 -528
  1171. sqlspec-0.13.0/tests/unit/test_adapters/test_aiosqlite/__init__.py +0 -3
  1172. sqlspec-0.13.0/tests/unit/test_adapters/test_aiosqlite/test_config.py +0 -105
  1173. sqlspec-0.13.0/tests/unit/test_adapters/test_aiosqlite/test_driver.py +0 -198
  1174. sqlspec-0.13.0/tests/unit/test_adapters/test_asyncmy/__init__.py +0 -3
  1175. sqlspec-0.13.0/tests/unit/test_adapters/test_asyncmy/test_driver.py +0 -248
  1176. sqlspec-0.13.0/tests/unit/test_adapters/test_asyncpg/__init__.py +0 -3
  1177. sqlspec-0.13.0/tests/unit/test_adapters/test_asyncpg/test_config.py +0 -586
  1178. sqlspec-0.13.0/tests/unit/test_adapters/test_asyncpg/test_driver.py +0 -483
  1179. sqlspec-0.13.0/tests/unit/test_adapters/test_bigquery/test_config.py +0 -434
  1180. sqlspec-0.13.0/tests/unit/test_adapters/test_bigquery/test_driver.py +0 -618
  1181. sqlspec-0.13.0/tests/unit/test_adapters/test_duckdb/__init__.py +0 -3
  1182. sqlspec-0.13.0/tests/unit/test_adapters/test_duckdb/test_config.py +0 -518
  1183. sqlspec-0.13.0/tests/unit/test_adapters/test_duckdb/test_driver.py +0 -595
  1184. sqlspec-0.13.0/tests/unit/test_adapters/test_oracledb/__init__.py +0 -3
  1185. sqlspec-0.13.0/tests/unit/test_adapters/test_oracledb/test_config.py +0 -145
  1186. sqlspec-0.13.0/tests/unit/test_adapters/test_oracledb/test_driver.py +0 -128
  1187. sqlspec-0.13.0/tests/unit/test_adapters/test_psqlpy/__init__.py +0 -3
  1188. sqlspec-0.13.0/tests/unit/test_adapters/test_psqlpy/test_config.py +0 -151
  1189. sqlspec-0.13.0/tests/unit/test_adapters/test_psqlpy/test_driver.py +0 -104
  1190. sqlspec-0.13.0/tests/unit/test_adapters/test_psycopg/__init__.py +0 -3
  1191. sqlspec-0.13.0/tests/unit/test_adapters/test_psycopg/test_config.py +0 -740
  1192. sqlspec-0.13.0/tests/unit/test_adapters/test_psycopg/test_driver.py +0 -684
  1193. sqlspec-0.13.0/tests/unit/test_adapters/test_sqlite/__init__.py +0 -3
  1194. sqlspec-0.13.0/tests/unit/test_adapters/test_sqlite/test_config.py +0 -341
  1195. sqlspec-0.13.0/tests/unit/test_adapters/test_sqlite/test_driver.py +0 -445
  1196. sqlspec-0.13.0/tests/unit/test_base.py +0 -554
  1197. sqlspec-0.13.0/tests/unit/test_config.py +0 -523
  1198. sqlspec-0.13.0/tests/unit/test_config_dialect.py +0 -407
  1199. sqlspec-0.13.0/tests/unit/test_driver.py +0 -817
  1200. sqlspec-0.13.0/tests/unit/test_exceptions.py +0 -862
  1201. sqlspec-0.13.0/tests/unit/test_extensions/test_aiosql/test_adapter.py +0 -409
  1202. sqlspec-0.13.0/tests/unit/test_loader.py +0 -495
  1203. sqlspec-0.13.0/tests/unit/test_statement/test_base.py +0 -510
  1204. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_base.py +0 -793
  1205. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_builder_mixins.py +0 -1002
  1206. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_column.py +0 -302
  1207. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_delete.py +0 -318
  1208. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_dynamic_columns.py +0 -220
  1209. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_insert.py +0 -477
  1210. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_merge.py +0 -577
  1211. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_select.py +0 -672
  1212. sqlspec-0.13.0/tests/unit/test_statement/test_builder/test_update.py +0 -525
  1213. sqlspec-0.13.0/tests/unit/test_statement/test_config.py +0 -515
  1214. sqlspec-0.13.0/tests/unit/test_statement/test_filters.py +0 -512
  1215. sqlspec-0.13.0/tests/unit/test_statement/test_mixins.py +0 -364
  1216. sqlspec-0.13.0/tests/unit/test_statement/test_oracle_numeric_parameters.py +0 -337
  1217. sqlspec-0.13.0/tests/unit/test_statement/test_parameter_normalization.py +0 -122
  1218. sqlspec-0.13.0/tests/unit/test_statement/test_parameter_preservation.py +0 -139
  1219. sqlspec-0.13.0/tests/unit/test_statement/test_parameters.py +0 -513
  1220. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_analyzer.py +0 -566
  1221. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_analyzer_subquery_detection.py +0 -374
  1222. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_expression_simplifier.py +0 -479
  1223. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_literal_parameterizer_duplication.py +0 -104
  1224. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_transformers_literal_parameterizer.py +0 -651
  1225. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_transformers_literal_parameterizer_cte.py +0 -216
  1226. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_transformers_remove_comments.py +0 -550
  1227. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_validators_dml_safety.py +0 -496
  1228. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_validators_parameter_style.py +0 -440
  1229. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_validators_performance.py +0 -580
  1230. sqlspec-0.13.0/tests/unit/test_statement/test_pipelines/test_validators_security.py +0 -608
  1231. sqlspec-0.13.0/tests/unit/test_statement/test_result.py +0 -547
  1232. sqlspec-0.13.0/tests/unit/test_statement/test_splitter.py +0 -450
  1233. sqlspec-0.13.0/tests/unit/test_statement/test_sql.py +0 -425
  1234. sqlspec-0.13.0/tests/unit/test_statement/test_sql_as_many.py +0 -102
  1235. sqlspec-0.13.0/tests/unit/test_statement/test_sql_translator_mixin.py +0 -290
  1236. sqlspec-0.13.0/tests/unit/test_statement/test_sqlfactory.py +0 -95
  1237. sqlspec-0.13.0/tests/unit/test_statement/test_storage.py +0 -235
  1238. sqlspec-0.13.0/tests/unit/test_statement/test_transformers/test_expression_simplifier_parameter_tracking.py +0 -129
  1239. sqlspec-0.13.0/tests/unit/test_storage/__init__.py +0 -1
  1240. sqlspec-0.13.0/tests/unit/test_storage/test_backends/test_fsspec_backend.py +0 -763
  1241. sqlspec-0.13.0/tests/unit/test_storage/test_backends/test_obstore_backend.py +0 -1164
  1242. sqlspec-0.13.0/tests/unit/test_storage/test_base.py +0 -431
  1243. sqlspec-0.13.0/tests/unit/test_storage/test_registry.py +0 -413
  1244. sqlspec-0.13.0/tests/unit/test_typing.py +0 -271
  1245. sqlspec-0.13.0/tests/unit/test_utils/test_deprecation.py +0 -365
  1246. sqlspec-0.13.0/tests/unit/test_utils/test_fixtures.py +0 -305
  1247. sqlspec-0.13.0/tests/unit/test_utils/test_module_loader.py +0 -359
  1248. sqlspec-0.13.0/tests/unit/test_utils/test_singleton.py +0 -324
  1249. sqlspec-0.13.0/tests/unit/test_utils/test_sync_tools.py +0 -474
  1250. sqlspec-0.13.0/tests/unit/test_utils/test_text.py +0 -315
  1251. sqlspec-0.13.0/tools/build_docs.py +0 -93
  1252. sqlspec-0.13.0/tools/sphinx_ext/changelog.py +0 -156
  1253. sqlspec-0.13.0/tools/sphinx_ext/missing_references.py +0 -127
  1254. sqlspec-0.13.0/uv.lock +0 -5197
  1255. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/LICENSE +0 -0
  1256. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/sqlspec/adapters/__init__.py +0 -0
  1257. /sqlspec-0.13.0/sqlspec/extensions/__init__.py โ†’ /sqlspec-0.38.0/sqlspec/data_dictionary/sql/.gitkeep +0 -0
  1258. {sqlspec-0.13.0/sqlspec/storage/backends โ†’ sqlspec-0.38.0/sqlspec/extensions}/__init__.py +0 -0
  1259. {sqlspec-0.13.0/tests โ†’ sqlspec-0.38.0/sqlspec/extensions/adk/migrations}/__init__.py +0 -0
  1260. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/sqlspec/py.typed +0 -0
  1261. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/__init__.py +0 -0
  1262. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/ddls-mysql-collection.sql +0 -0
  1263. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/ddls-postgres-collection.sql +0 -0
  1264. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/init.sql +0 -0
  1265. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-config.sql +0 -0
  1266. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-data_types.sql +0 -0
  1267. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-database_details.sql +0 -0
  1268. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-engines.sql +0 -0
  1269. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-hostname.sql +0 -0
  1270. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-plugins.sql +0 -0
  1271. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-process_list.sql +0 -0
  1272. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
  1273. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
  1274. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-table_details.sql +0 -0
  1275. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/collection-users.sql +0 -0
  1276. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/mysql/init.sql +0 -0
  1277. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-applications.sql +0 -0
  1278. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
  1279. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
  1280. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
  1281. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
  1282. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-data_types.sql +0 -0
  1283. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-database_details.sql +0 -0
  1284. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-extensions.sql +0 -0
  1285. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-index_details.sql +0 -0
  1286. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
  1287. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-privileges.sql +0 -0
  1288. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
  1289. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
  1290. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
  1291. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
  1292. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-settings.sql +0 -0
  1293. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-source_details.sql +0 -0
  1294. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/collection-table_details.sql +0 -0
  1295. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
  1296. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/postgres/init.sql +0 -0
  1297. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tests/fixtures/readiness-check.sql +0 -0
  1298. {sqlspec-0.13.0/tests/integration/test_adapters/test_aiosqlite โ†’ sqlspec-0.38.0/tests/integration/adapters/aiosqlite}/__init__.py +0 -0
  1299. {sqlspec-0.13.0/tests/integration/test_adapters/test_bigquery โ†’ sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/adk}/__init__.py +0 -0
  1300. {sqlspec-0.13.0/tests/integration/test_adapters/test_psqlpy โ†’ sqlspec-0.38.0/tests/integration/adapters/aiosqlite/extensions/events}/__init__.py +0 -0
  1301. {sqlspec-0.13.0/tests/integration/test_adapters/test_asyncmy โ†’ sqlspec-0.38.0/tests/integration/adapters/asyncmy}/__init__.py +0 -0
  1302. {sqlspec-0.13.0/tests/integration/test_extensions โ†’ sqlspec-0.38.0/tests/integration/adapters/asyncmy/extensions/events}/__init__.py +0 -0
  1303. {sqlspec-0.13.0/tests/integration/test_adapters/test_asyncpg โ†’ sqlspec-0.38.0/tests/integration/adapters/asyncpg}/__init__.py +0 -0
  1304. {sqlspec-0.13.0/tests/integration/test_extensions/test_aiosql โ†’ sqlspec-0.38.0/tests/integration/adapters/asyncpg/extensions/events}/__init__.py +0 -0
  1305. {sqlspec-0.13.0/tests/integration/test_extensions/test_litestar โ†’ sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/adk}/__init__.py +0 -0
  1306. {sqlspec-0.13.0/tests/unit โ†’ sqlspec-0.38.0/tests/integration/adapters/duckdb/extensions/events}/__init__.py +0 -0
  1307. {sqlspec-0.13.0/tests/unit/test_extensions โ†’ sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions}/__init__.py +0 -0
  1308. {sqlspec-0.13.0/tests/unit/test_statement โ†’ sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/events}/__init__.py +0 -0
  1309. {sqlspec-0.13.0/tests/unit/test_statement/test_builder โ†’ sqlspec-0.38.0/tests/integration/adapters/oracledb/extensions/litestar}/__init__.py +0 -0
  1310. {sqlspec-0.13.0/tests/unit/test_statement/test_pipelines โ†’ sqlspec-0.38.0/tests/integration/adapters/psqlpy/extensions/events}/__init__.py +0 -0
  1311. {sqlspec-0.13.0/tests/unit/test_utils โ†’ sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions}/__init__.py +0 -0
  1312. {sqlspec-0.13.0/tools โ†’ sqlspec-0.38.0/tests/integration/adapters/psycopg/extensions/adk}/__init__.py +0 -0
  1313. {sqlspec-0.13.0/tests/integration/test_storage โ†’ sqlspec-0.38.0/tests/integration/storage}/__init__.py +0 -0
  1314. {sqlspec-0.13.0/tests/unit/test_adapters โ†’ sqlspec-0.38.0/tests/unit/adapters}/test_bigquery/__init__.py +0 -0
  1315. {sqlspec-0.13.0/tests/unit/test_storage/test_backends โ†’ sqlspec-0.38.0/tests/unit/storage}/__init__.py +0 -0
  1316. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tools/pypi_readme.py +0 -0
  1317. {sqlspec-0.13.0 โ†’ sqlspec-0.38.0}/tools/sphinx_ext/__init__.py +0 -0
@@ -0,0 +1,63 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # folders
7
+ .auto_pytabs_cache/
8
+ .hypothesis/
9
+ .mypy_cache/
10
+ .pytest_cache/
11
+ .venv/
12
+ *.egg-info/
13
+ build/
14
+ dist/
15
+ results/
16
+ site/
17
+ target/
18
+ .idea/
19
+ .vscode/
20
+ .cursor/
21
+ .zed/
22
+ .cache
23
+ .coverage*
24
+ # files
25
+ **/*.so
26
+ **/*.sqlite
27
+ **/*.sqlite*
28
+ *.iml
29
+ .coverage
30
+ .dmypy.json
31
+ .python-version
32
+ .ruff_cache
33
+ /docs/_build/
34
+ docs/autoapi/
35
+ coverage.*
36
+ setup.py
37
+ tmp/
38
+ *.log
39
+ .tmp
40
+ .tmp_mypyc
41
+ TODO*
42
+ .env
43
+ tools/*.json
44
+ benchmarks/
45
+ .benchmark
46
+ *.db
47
+ *.db-journal
48
+ *.db-wal
49
+ *.db-shm
50
+ *.duckdb
51
+ .crush
52
+ CRUSH.md
53
+ CLAUDE.md
54
+ AGENTS.md
55
+ docs-build
56
+ .envs/
57
+ .claude/*
58
+ .gh-cache
59
+ .gemini/
60
+ specs/
61
+ .playwright-mcp
62
+ .geminiignore
63
+ uv.toml
@@ -0,0 +1,53 @@
1
+ default_language_version:
2
+ python: "3"
3
+ repos:
4
+ - repo: https://github.com/compilerla/conventional-pre-commit
5
+ rev: v4.3.0
6
+ hooks:
7
+ - id: conventional-pre-commit
8
+ stages: [commit-msg]
9
+ - repo: https://github.com/pre-commit/pre-commit-hooks
10
+ rev: v6.0.0
11
+ hooks:
12
+ - id: check-ast
13
+ - id: check-case-conflict
14
+ - id: check-toml
15
+ - id: debug-statements
16
+ - id: end-of-file-fixer
17
+ - id: mixed-line-ending
18
+ - id: trailing-whitespace
19
+ - repo: https://github.com/charliermarsh/ruff-pre-commit
20
+ rev: "v0.14.13"
21
+ hooks:
22
+ - id: ruff
23
+ args: ["--fix"]
24
+ - id: ruff-format
25
+ - repo: https://github.com/codespell-project/codespell
26
+ rev: v2.4.1
27
+ hooks:
28
+ - id: codespell
29
+ additional_dependencies:
30
+ - tomli
31
+ - repo: https://github.com/python-formate/flake8-dunder-all
32
+ rev: v0.5.0
33
+ hooks:
34
+ - id: ensure-dunder-all
35
+ exclude: "test*|tools"
36
+ args: ["--use-tuple"]
37
+ - repo: https://github.com/ariebovenberg/slotscheck
38
+ rev: v0.19.1
39
+ hooks:
40
+ - id: slotscheck
41
+ exclude: "docs|.github"
42
+ - repo: https://github.com/sphinx-contrib/sphinx-lint
43
+ rev: "v1.0.2"
44
+ hooks:
45
+ - id: sphinx-lint
46
+ args: ["--jobs", "1"]
47
+ - repo: local
48
+ hooks:
49
+ - id: pypi-readme
50
+ name: pypi-readme
51
+ language: python
52
+ entry: python tools/pypi_readme.py
53
+ types: [markdown]
@@ -0,0 +1,78 @@
1
+ Contribution guide
2
+ ==================
3
+
4
+ Setting up the environment
5
+ --------------------------
6
+
7
+ 1. Run ``make install-uv`` to install `uv <https://docs.astral.sh/uv/>`_ if not already installed
8
+ 1. Run ``make install`` to install all dependencies and pre-commit hooks
9
+
10
+
11
+ Code contributions
12
+ ------------------
13
+
14
+ Workflow
15
+ ++++++++
16
+
17
+ 1. `Fork <https://github.com/litestar-org/sqlspec/fork>`_ the `sqlspec repository <https://github.com/litestar-org/sqlspec>`_
18
+ 2. Clone your fork locally with git
19
+ 3. `Set up the environment <#setting-up-the-environment>`_
20
+ 4. Make your changes
21
+ 5. Run ``make lint`` to run linters and formatters. This step is optional and will be executed
22
+ automatically by git before you make a commit, but you may want to run it manually in order to apply fixes
23
+ 6. Commit your changes to git
24
+ 7. Push the changes to your fork
25
+ 8. Open a `pull request <https://docs.github.com/en/pull-requests>`_. Give the pull request a descriptive title
26
+ indicating what it changes. If it has a corresponding open issue, the issue number should be included in the title as
27
+ well. For example a pull request that fixes issue ``bug: Increased stack size making it impossible to find needle #100``
28
+ could be titled ``fix(#100): Make needles easier to find by applying fire to haystack``
29
+
30
+ .. tip:: Pull requests and commits all need to follow the
31
+ `Conventional Commit format <https://www.conventionalcommits.org>`_
32
+
33
+ Guidelines for writing code
34
+ ----------------------------
35
+
36
+ - All code should be fully `typed <https://peps.python.org/pep-0484/>`_. This is enforced via
37
+ `mypy <https://mypy.readthedocs.io/en/stable/>`_.
38
+ - All code should be tested. This is enforced via `pytest <https://docs.pytest.org/en/stable/>`_.
39
+ - All code should be properly formatted. This is enforced via `black <https://black.readthedocs.io/en/stable/>`_ and `Ruff <https://docs.astral.sh/ruff/>`_.
40
+
41
+ Logging
42
+ ++++++++
43
+
44
+ - Logger names must follow the ``sqlspec.<module>`` hierarchy.
45
+ - Always obtain loggers via ``sqlspec.utils.logging.get_logger`` to ensure filters are attached.
46
+ - Use static event names in structured logs and include context fields instead of dynamic message strings.
47
+
48
+ Writing and running tests
49
+ +++++++++++++++++++++++++
50
+
51
+ .. todo:: Write this section
52
+
53
+ Project documentation
54
+ ---------------------
55
+
56
+ The documentation is located in the ``/docs`` directory and is `ReST <https://docutils.sourceforge.io/rst.html>`_ and
57
+ `Sphinx <https://www.sphinx-doc.org/en/master/>`_. If you're unfamiliar with any of those,
58
+ `ReStructuredText primer <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_ and
59
+ `Sphinx quickstart <https://www.sphinx-doc.org/en/master/usage/quickstart.html>`_ are recommended reads.
60
+
61
+ Running the docs locally
62
+ ++++++++++++++++++++++++
63
+
64
+ You can serve the documentation with ``make docs-serve``, or build them with ``make docs``.
65
+
66
+ Creating a new release
67
+ ----------------------
68
+
69
+ 1. Increment the version in `pyproject.toml <https://github.com/litestar-org/sqlspec/blob/main/pyproject.toml>`_.
70
+ .. note:: The version should follow `semantic versioning <https://semver.org/>`_ and `PEP 440 <https://peps.python.org/pep-0440/>`_.
71
+ 2. `Draft a new release <https://github.com/litestar-org/sqlspec/releases/new>`_ on GitHub
72
+
73
+ * Use ``vMAJOR.MINOR.PATCH`` (e.g. ``v1.2.3``) as both the tag and release title
74
+ * Fill in the release description. You can use the "Generate release notes" function to get a draft for this
75
+ 3. Commit your changes and push to ``main``
76
+ 4. Publish the release
77
+ 5. Go to `Actions <https://github.com/litestar-org/sqlspec/actions>`_ and approve the release workflow
78
+ 6. Check that the workflow runs successfully
@@ -0,0 +1,318 @@
1
+ SHELL := /bin/bash
2
+
3
+ # =============================================================================
4
+ # Configuration and Environment Variables
5
+ # =============================================================================
6
+
7
+ .DEFAULT_GOAL := help
8
+ .ONESHELL:
9
+ .EXPORT_ALL_VARIABLES:
10
+ MAKEFLAGS += --no-print-directory
11
+
12
+ # -----------------------------------------------------------------------------
13
+ # Display Formatting and Colors
14
+ # -----------------------------------------------------------------------------
15
+ BLUE := $(shell printf "\033[1;34m")
16
+ GREEN := $(shell printf "\033[1;32m")
17
+ RED := $(shell printf "\033[1;31m")
18
+ YELLOW := $(shell printf "\033[1;33m")
19
+ NC := $(shell printf "\033[0m")
20
+ INFO := $(shell printf "$(BLUE)โ„น$(NC)")
21
+ OK := $(shell printf "$(GREEN)โœ“$(NC)")
22
+ WARN := $(shell printf "$(YELLOW)โš $(NC)")
23
+ ERROR := $(shell printf "$(RED)โœ–$(NC)")
24
+
25
+ # =============================================================================
26
+ # Help and Documentation
27
+ # =============================================================================
28
+
29
+ .PHONY: help
30
+ help: ## Display this help text for Makefile
31
+ @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
32
+
33
+ # =============================================================================
34
+ # Installation and Environment Setup
35
+ # =============================================================================
36
+
37
+ .PHONY: install-uv
38
+ install-uv: ## Install latest version of uv
39
+ @echo "${INFO} Installing uv..."
40
+ @curl -LsSf https://astral.sh/uv/install.sh | sh >/dev/null 2>&1
41
+ @echo "${OK} UV installed successfully"
42
+
43
+ .PHONY: install
44
+ install: destroy clean ## Install the project, dependencies, and pre-commit
45
+ @echo "${INFO} Starting fresh installation..."
46
+ @uv python pin 3.10 >/dev/null 2>&1
47
+ @uv venv >/dev/null 2>&1
48
+ @uv sync --all-extras --dev
49
+ @echo "${OK} Installation complete! ๐ŸŽ‰"
50
+
51
+ .PHONY: install-compiled
52
+ install-compiled: destroy clean ## Install with mypyc compilation for performance
53
+ @echo "${INFO} Starting fresh installation with mypyc compilation..."
54
+ @uv python pin 3.10 >/dev/null 2>&1
55
+ @uv venv >/dev/null 2>&1
56
+ @echo "${INFO} Installing in editable mode with mypyc compilation..."
57
+ @HATCH_BUILD_HOOKS_ENABLE=1 uv pip install -e .
58
+ @uv sync --all-extras --dev
59
+ @echo "${OK} Performance installation complete! ๐Ÿš€"
60
+ @echo "${INFO} Verifying compilation..."
61
+ @find sqlspec -name "*.so" | wc -l | xargs -I {} echo "${OK} Compiled {} modules"
62
+
63
+ .PHONY: destroy
64
+ destroy: ## Destroy the virtual environment
65
+ @echo "${INFO} Destroying virtual environment... ๐Ÿ—‘๏ธ"
66
+ @uv run pre-commit clean >/dev/null 2>&1
67
+ @rm -rf .venv
68
+ @echo "${OK} Virtual environment destroyed ๐Ÿ—‘๏ธ"
69
+
70
+ # =============================================================================
71
+ # Dependency Management
72
+ # =============================================================================
73
+
74
+ .PHONY: upgrade
75
+ upgrade: ## Upgrade all dependencies to latest stable versions
76
+ @echo "${INFO} Updating all dependencies... ๐Ÿ”„"
77
+ @uv lock --upgrade
78
+ @echo "${OK} Dependencies updated ๐Ÿ”„"
79
+ @uv run pre-commit autoupdate
80
+ @echo "${OK} Updated Pre-commit hooks ๐Ÿ”„"
81
+
82
+ .PHONY: lock
83
+ lock: ## Rebuild lockfiles from scratch
84
+ @echo "${INFO} Rebuilding lockfiles... ๐Ÿ”„"
85
+ @uv lock --upgrade >/dev/null 2>&1
86
+ @echo "${OK} Lockfiles updated"
87
+
88
+ # =============================================================================
89
+ # Build and Release
90
+ # =============================================================================
91
+
92
+ .PHONY: build
93
+ build: ## Build the package
94
+ @echo "${INFO} Building package... ๐Ÿ“ฆ"
95
+ @uv build >/dev/null 2>&1
96
+ @echo "${OK} Package build complete"
97
+
98
+ .PHONY: build-performance
99
+ build-performance: ## Build package with mypyc compilation
100
+ @echo "${INFO} Building package with mypyc compilation... ๐Ÿ“ฆ"
101
+ @HATCH_BUILD_HOOKS_ENABLE=1 uv build >/dev/null 2>&1
102
+ @echo "${OK} Performance package build complete ๐Ÿš€"
103
+
104
+ .PHONY: test-mypyc
105
+ test-mypyc: ## Test mypyc compilation on individual modules
106
+ @echo "${INFO} Testing mypyc compilation... ๐Ÿ”ง"
107
+ @uv run mypyc --check-untyped-defs sqlspec/utils/statement_hashing.py
108
+ @uv run mypyc --check-untyped-defs sqlspec/utils/text.py
109
+ @uv run mypyc --check-untyped-defs sqlspec/utils/sync_tools.py
110
+ @uv run mypyc --check-untyped-defs sqlspec/statement/cache.py
111
+ @echo "${OK} Mypyc compilation tests passed โœจ"
112
+
113
+
114
+ .PHONY: release
115
+ release: ## Bump version and create release tag
116
+ @echo "${INFO} Preparing for release... ๐Ÿ“ฆ"
117
+ @make docs
118
+ @make clean
119
+ @make build
120
+ @uv run bump-my-version bump $(bump)
121
+ @uv lock --upgrade-package sqlspec >/dev/null 2>&1
122
+ @echo "${OK} Release complete ๐ŸŽ‰"
123
+
124
+ .PHONY: pre-release
125
+ pre-release: ## Start a pre-release: make pre-release version=0.33.0-alpha.1
126
+ @if [ -z "$(version)" ]; then \
127
+ echo "${ERROR} Usage: make pre-release version=X.Y.Z-alpha.N"; \
128
+ echo ""; \
129
+ echo "Pre-release workflow:"; \
130
+ echo " 1. Start alpha: make pre-release version=0.33.0-alpha.1"; \
131
+ echo " 2. Next alpha: make pre-release version=0.33.0-alpha.2"; \
132
+ echo " 3. Move to beta: make pre-release version=0.33.0-beta.1"; \
133
+ echo " 4. Move to rc: make pre-release version=0.33.0-rc.1"; \
134
+ echo " 5. Final release: make release bump=patch (from rc) OR bump=minor (from stable)"; \
135
+ exit 1; \
136
+ fi
137
+ @echo "${INFO} Preparing pre-release $(version)... ๐Ÿงช"
138
+ @make clean
139
+ @make build
140
+ @uv run bump-my-version bump --new-version $(version) pre
141
+ @uv lock --upgrade-package sqlspec >/dev/null 2>&1
142
+ @echo "${OK} Pre-release $(version) complete ๐Ÿงช"
143
+ @echo ""
144
+ @echo "${INFO} Next steps:"
145
+ @echo " 1. Push: git push origin HEAD"
146
+ @echo " 2. Create a GitHub pre-release: gh release create v$(version) --prerelease --generate-notes --title 'v$(version)'"
147
+ @echo " 3. This will publish to PyPI with pre-release tags"
148
+
149
+ # =============================================================================
150
+ # Cleaning and Maintenance
151
+ # =============================================================================
152
+
153
+ .PHONY: clean
154
+ clean: ## Cleanup temporary build artifacts
155
+ @echo "${INFO} Cleaning working directory... ๐Ÿงน"
156
+ @rm -rf .pytest_cache .ruff_cache .hypothesis build/ -rf dist/ .eggs/ .coverage coverage.xml coverage.json htmlcov/ .pytest_cache tests/.pytest_cache tests/**/.pytest_cache .mypy_cache .unasyncd_cache/ .auto_pytabs_cache >/dev/null 2>&1
157
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*.egg-info' -exec rm -rf {} + >/dev/null 2>&1
158
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -type f -name '*.egg' -exec rm -f {} + >/dev/null 2>&1
159
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*.pyc' -exec rm -f {} + >/dev/null 2>&1
160
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*.pyo' -exec rm -f {} + >/dev/null 2>&1
161
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*~' -exec rm -f {} + >/dev/null 2>&1
162
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -type d -name '__pycache__' -exec rm -rf {} + >/dev/null 2>&1
163
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '.ipynb_checkpoints' -exec rm -rf {} + >/dev/null 2>&1
164
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*.so' -exec rm -f {} + >/dev/null 2>&1
165
+ @find . \( -path ./.venv -o -path ./.git \) -prune -o -name '*.c' -exec rm -f {} + >/dev/null 2>&1
166
+ @echo "${OK} Working directory cleaned"
167
+ $(MAKE) docs-clean
168
+
169
+ # =============================================================================
170
+ # Testing and Quality Checks
171
+ # =============================================================================
172
+
173
+ .PHONY: test
174
+ test: ## Run the tests
175
+ @echo "${INFO} Running test cases... ๐Ÿงช"
176
+ @uv run pytest -n 2 --dist=loadgroup tests
177
+ @echo "${OK} Tests complete โœจ"
178
+
179
+ .PHONY: test-all
180
+ test-all: tests ## Run all tests
181
+ @echo "${INFO} All tests executed successfully โœจ"
182
+
183
+ .PHONY: coverage
184
+ coverage: ## Run tests with coverage report
185
+ @echo "${INFO} Running tests with coverage... ๐Ÿ“Š"
186
+ @uv run pytest --cov -n 2 --dist=loadgroup --quiet
187
+ @uv run coverage html >/dev/null 2>&1
188
+ @uv run coverage xml >/dev/null 2>&1
189
+ @echo "${OK} Coverage report generated โœจ"
190
+
191
+ # -----------------------------------------------------------------------------
192
+ # Type Checking
193
+ # -----------------------------------------------------------------------------
194
+
195
+ .PHONY: mypy
196
+ mypy: ## Run mypy
197
+ @echo "${INFO} Running mypy... ๐Ÿ”"
198
+ @uv run dmypy run
199
+ @echo "${OK} Mypy checks passed โœจ"
200
+
201
+ .PHONY: pyright
202
+ pyright: ## Run pyright
203
+ @echo "${INFO} Running pyright... ๐Ÿ”"
204
+ @uv run pyright
205
+ @echo "${OK} Pyright checks passed โœจ"
206
+
207
+ .PHONY: type-check
208
+ type-check: mypy pyright ## Run all type checking
209
+
210
+ # -----------------------------------------------------------------------------
211
+ # Linting and Formatting
212
+ # -----------------------------------------------------------------------------
213
+
214
+ .PHONY: pre-commit
215
+ pre-commit: ## Run pre-commit hooks
216
+ @echo "${INFO} Running pre-commit checks... ๐Ÿ”Ž"
217
+ @uv run pre-commit run --color=always --all-files
218
+ @echo "${OK} Pre-commit checks passed โœจ"
219
+
220
+ .PHONY: slotscheck
221
+ slotscheck: ## Run slotscheck
222
+ @echo "${INFO} Running slotscheck... ๐Ÿ”"
223
+ @uv run slotscheck sqlspec/
224
+ @echo "${OK} Slotscheck complete โœจ"
225
+
226
+ .PHONY: fix
227
+ fix: ## Run code formatters
228
+ @echo "${INFO} Running code formatters... ๐Ÿ”ง"
229
+ @uv run ruff check --fix --unsafe-fixes
230
+ @echo "${OK} Code formatting complete โœจ"
231
+
232
+ .PHONY: lint
233
+ lint: fix pre-commit type-check slotscheck ## Run all linting checks
234
+ @echo "${OK} All linting checks passed โœจ"
235
+
236
+ .PHONY: check-all
237
+ check-all: lint test-all coverage ## Run all checks (lint, test, coverage)
238
+ @echo "${OK} All checks passed successfully โœจ"
239
+
240
+ # =============================================================================
241
+ # Documentation
242
+ # =============================================================================
243
+
244
+ .PHONY: docs-clean
245
+ docs-clean: ## Clean documentation build
246
+ @echo "${INFO} Cleaning documentation build assets... ๐Ÿงน"
247
+ @rm -rf docs/_build
248
+ @echo "${OK} Documentation assets cleaned"
249
+
250
+ .PHONY: docs-serve
251
+ docs-serve: docs-clean ## Serve documentation locally
252
+ @echo "${INFO} Starting documentation server... ๐Ÿ“š"
253
+ @uv run sphinx-autobuild docs docs/_build/ -j 1 --watch sqlspec --watch docs --watch tests --watch CONTRIBUTING.rst --port 8002
254
+
255
+ .PHONY: docs
256
+ docs: docs-clean ## Build documentation
257
+ @echo "${INFO} Building documentation... ๐Ÿ“"
258
+ @PYTHONWARNINGS="ignore::FutureWarning" uv run sphinx-build -M html docs docs/_build/ -E -a -j 1 -W --keep-going
259
+ @echo "${OK} Documentation built successfully"
260
+
261
+ .PHONY: docs-linkcheck
262
+ docs-linkcheck: ## Check documentation links
263
+ @echo "${INFO} Checking documentation links... ๐Ÿ”—"
264
+ @uv run sphinx-build -b linkcheck ./docs ./docs/_build -D linkcheck_ignore='http://.*','https://.*'
265
+ @echo "${OK} Link check complete"
266
+
267
+ .PHONY: docs-linkcheck-full
268
+ docs-linkcheck-full: ## Run full documentation link check
269
+ @echo "${INFO} Running full link check... ๐Ÿ”—"
270
+ @uv run sphinx-build -b linkcheck ./docs ./docs/_build -D linkcheck_anchors=0
271
+ @echo "${OK} Full link check complete"
272
+
273
+ # =============================================================================
274
+ # Development Infrastructure
275
+ # =============================================================================
276
+
277
+ .PHONY: infra-up
278
+ infra-up: ## Start development infrastructure (databases, storage)
279
+ @echo "${INFO} Starting development infrastructure..."
280
+ @./tools/local-infra.sh up
281
+ @echo "${OK} Development infrastructure ready โœจ"
282
+
283
+ .PHONY: infra-down
284
+ infra-down: ## Stop development infrastructure
285
+ @echo "${INFO} Stopping development infrastructure..."
286
+ @./tools/local-infra.sh down --quiet
287
+ @echo "${OK} Development infrastructure stopped"
288
+
289
+ .PHONY: infra-status
290
+ infra-status: ## Show development infrastructure status
291
+ @./tools/local-infra.sh status
292
+
293
+ .PHONY: infra-cleanup
294
+ infra-cleanup: ## Clean up development infrastructure
295
+ @echo "${WARN} This will remove all development containers and volumes"
296
+ @./tools/local-infra.sh cleanup
297
+
298
+ .PHONY: infra-postgres
299
+ infra-postgres: ## Start only PostgreSQL
300
+ @echo "${INFO} Starting PostgreSQL..."
301
+ @./tools/local-infra.sh up postgres --quiet
302
+ @echo "${OK} PostgreSQL ready on port 5433"
303
+
304
+ .PHONY: infra-oracle
305
+ infra-oracle: ## Start only Oracle
306
+ @echo "${INFO} Starting Oracle..."
307
+ @./tools/local-infra.sh up oracle --quiet
308
+ @echo "${OK} Oracle ready on port 1522"
309
+
310
+ .PHONY: infra-mysql
311
+ infra-mysql: ## Start only MySQL
312
+ @echo "${INFO} Starting MySQL..."
313
+ @./tools/local-infra.sh up mysql --quiet
314
+ @echo "${OK} MySQL ready on port 3307"
315
+
316
+ # =============================================================================
317
+ # End of Makefile
318
+ # =============================================================================