sqlbuild 0.0.1__tar.gz → 0.2.1__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 (800) hide show
  1. sqlbuild-0.2.1/.github/sqlbuild-logo-rounded.png +0 -0
  2. sqlbuild-0.2.1/.github/sqlbuild-logo.png +0 -0
  3. sqlbuild-0.2.1/.github/workflows/publish.yml +55 -0
  4. sqlbuild-0.2.1/.github/workflows/release-please.yml +20 -0
  5. sqlbuild-0.2.1/.github/workflows/version-guard.yml +47 -0
  6. sqlbuild-0.2.1/.gitignore +56 -0
  7. sqlbuild-0.2.1/.pre-commit-config.yaml +60 -0
  8. sqlbuild-0.2.1/.release-please-manifest.json +3 -0
  9. sqlbuild-0.2.1/CHANGELOG.md +195 -0
  10. sqlbuild-0.2.1/LICENSE +201 -0
  11. sqlbuild-0.2.1/Makefile +99 -0
  12. sqlbuild-0.2.1/PKG-INFO +142 -0
  13. sqlbuild-0.2.1/README.md +123 -0
  14. sqlbuild-0.2.1/examples/waffle_shop/audits/generic/accepted_values.sql +5 -0
  15. sqlbuild-0.2.1/examples/waffle_shop/audits/generic/expression_is_true.sql +5 -0
  16. sqlbuild-0.2.1/examples/waffle_shop/audits/generic/not_null.sql +5 -0
  17. sqlbuild-0.2.1/examples/waffle_shop/audits/generic/unique.sql +6 -0
  18. sqlbuild-0.2.1/examples/waffle_shop/functions/python/is_completed_order_py.py +10 -0
  19. sqlbuild-0.2.1/examples/waffle_shop/functions/sql/customer_orders.sql +21 -0
  20. sqlbuild-0.2.1/examples/waffle_shop/functions/sql/is_completed_order.sql +6 -0
  21. sqlbuild-0.2.1/examples/waffle_shop/macros/currency.py +6 -0
  22. sqlbuild-0.2.1/examples/waffle_shop/macros/datetime.py +7 -0
  23. sqlbuild-0.2.1/examples/waffle_shop/materializations/partition_tracked.py +170 -0
  24. sqlbuild-0.2.1/examples/waffle_shop/models/intermediate/customer_status_snapshot.sql +39 -0
  25. sqlbuild-0.2.1/examples/waffle_shop/models/intermediate/order_status_index.sql +25 -0
  26. sqlbuild-0.2.1/examples/waffle_shop/models/marts/daily_activity_rollup.sql +33 -0
  27. sqlbuild-0.2.1/examples/waffle_shop/models/marts/daily_order_partitioned.sql +34 -0
  28. sqlbuild-0.2.1/examples/waffle_shop/models/marts/daily_revenue.sql +22 -0
  29. sqlbuild-0.2.1/examples/waffle_shop/models/marts/dim_customers.sql +23 -0
  30. sqlbuild-0.2.1/examples/waffle_shop/models/marts/fact_orders.sql +27 -0
  31. sqlbuild-0.2.1/examples/waffle_shop/models/marts/hourly_activity_with_daily_context.sql +34 -0
  32. sqlbuild-0.2.1/examples/waffle_shop/models/marts/hourly_order_activity.sql +32 -0
  33. sqlbuild-0.2.1/examples/waffle_shop/models/staging/stg_customers.sql +17 -0
  34. sqlbuild-0.2.1/examples/waffle_shop/models/staging/stg_orders.sql +23 -0
  35. sqlbuild-0.2.1/examples/waffle_shop/models/staging/stg_payments.sql +18 -0
  36. sqlbuild-0.2.1/examples/waffle_shop/seeds/lookups.yml +12 -0
  37. sqlbuild-0.2.1/examples/waffle_shop/seeds/waffle_types.csv +7 -0
  38. sqlbuild-0.2.1/examples/waffle_shop/sources/raw.yml +42 -0
  39. sqlbuild-0.2.1/examples/waffle_shop/sqlbuild_project.yml +23 -0
  40. sqlbuild-0.2.1/examples/waffle_shop/tests/test_daily_revenue_chain.sql +81 -0
  41. sqlbuild-0.2.1/examples/waffle_shop/tests/test_fact_orders.sql +46 -0
  42. sqlbuild-0.2.1/examples/waffle_shop/tests/test_stg_orders.sql +22 -0
  43. sqlbuild-0.2.1/pyproject.toml +76 -0
  44. sqlbuild-0.2.1/release-please-config.json +12 -0
  45. sqlbuild-0.2.1/scripts/__init__.py +1 -0
  46. sqlbuild-0.2.1/scripts/sqlbuild_diff_summary_prototype.py +322 -0
  47. sqlbuild-0.2.1/scripts/structure/__init__.py +1 -0
  48. sqlbuild-0.2.1/scripts/structure/check_structure_conventions.py +22 -0
  49. sqlbuild-0.2.1/scripts/structure/structure_conventions/__init__.py +1 -0
  50. sqlbuild-0.2.1/scripts/structure/structure_conventions/checker.py +121 -0
  51. sqlbuild-0.2.1/scripts/structure/structure_conventions/constants.py +11 -0
  52. sqlbuild-0.2.1/scripts/structure/structure_conventions/filesystem.py +68 -0
  53. sqlbuild-0.2.1/scripts/structure/structure_conventions/models.py +24 -0
  54. sqlbuild-0.2.1/scripts/structure/structure_conventions/rules.py +1272 -0
  55. sqlbuild-0.2.1/scripts/testing/__init__.py +1 -0
  56. sqlbuild-0.2.1/scripts/testing/check_test_conventions.py +22 -0
  57. sqlbuild-0.2.1/scripts/testing/test_conventions/__init__.py +1 -0
  58. sqlbuild-0.2.1/scripts/testing/test_conventions/ast_utils.py +70 -0
  59. sqlbuild-0.2.1/scripts/testing/test_conventions/checker.py +134 -0
  60. sqlbuild-0.2.1/scripts/testing/test_conventions/constants.py +6 -0
  61. sqlbuild-0.2.1/scripts/testing/test_conventions/filesystem.py +56 -0
  62. sqlbuild-0.2.1/scripts/testing/test_conventions/models.py +42 -0
  63. sqlbuild-0.2.1/scripts/testing/test_conventions/rules.py +767 -0
  64. sqlbuild-0.2.1/scripts/type_annotations/__init__.py +1 -0
  65. sqlbuild-0.2.1/scripts/type_annotations/check_type_annotation_conventions.py +24 -0
  66. sqlbuild-0.2.1/scripts/type_annotations/type_annotation_conventions/__init__.py +1 -0
  67. sqlbuild-0.2.1/scripts/type_annotations/type_annotation_conventions/checker.py +55 -0
  68. sqlbuild-0.2.1/scripts/type_annotations/type_annotation_conventions/filesystem.py +38 -0
  69. sqlbuild-0.2.1/scripts/type_annotations/type_annotation_conventions/models.py +24 -0
  70. sqlbuild-0.2.1/scripts/type_annotations/type_annotation_conventions/rules.py +238 -0
  71. sqlbuild-0.2.1/src/sqlbuild/__init__.py +1 -0
  72. sqlbuild-0.2.1/src/sqlbuild/adapter/__init__.py +1 -0
  73. sqlbuild-0.2.1/src/sqlbuild/adapter/base/__init__.py +1 -0
  74. sqlbuild-0.2.1/src/sqlbuild/adapter/base/base_adapter.py +949 -0
  75. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/__init__.py +1 -0
  76. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/classes/__init__.py +1 -0
  77. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/classes/connection.py +64 -0
  78. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/classes/diff.py +94 -0
  79. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/classes/materialization.py +217 -0
  80. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/classes/schema.py +84 -0
  81. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/constants.py +14 -0
  82. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/models.py +166 -0
  83. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/type_normalization.py +245 -0
  84. sqlbuild-0.2.1/src/sqlbuild/adapter/shared/types.py +57 -0
  85. sqlbuild-0.2.1/src/sqlbuild/adapter/strict/__init__.py +1 -0
  86. sqlbuild-0.2.1/src/sqlbuild/adapter/strict/strict_adapter.py +361 -0
  87. sqlbuild-0.2.1/src/sqlbuild/cli/__init__.py +1 -0
  88. sqlbuild-0.2.1/src/sqlbuild/cli/commands/__init__.py +1 -0
  89. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/__init__.py +1 -0
  90. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/audit.py +119 -0
  91. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/build.py +159 -0
  92. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/clone.py +105 -0
  93. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/compile.py +77 -0
  94. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/diff.py +128 -0
  95. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/entry.py +315 -0
  96. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/clone/__init__.py +1 -0
  97. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/clone/output.py +54 -0
  98. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/clone/validation.py +26 -0
  99. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/compile/__init__.py +1 -0
  100. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/compile/models.py +41 -0
  101. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/compile/target_writer.py +176 -0
  102. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/diff/__init__.py +1 -0
  103. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/diff/output.py +487 -0
  104. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/diff/validation.py +20 -0
  105. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/entry/__init__.py +1 -0
  106. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/entry/models.py +131 -0
  107. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/janitor/output.py +74 -0
  108. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/plan/__init__.py +0 -0
  109. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/plan/formatter.py +537 -0
  110. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/query/__init__.py +1 -0
  111. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/query/output.py +115 -0
  112. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/janitor.py +108 -0
  113. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/plan.py +92 -0
  114. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/query.py +63 -0
  115. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/run.py +159 -0
  116. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/seed.py +98 -0
  117. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/__init__.py +1 -0
  118. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/exceptions.py +5 -0
  119. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/__init__.py +1 -0
  120. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/adapters.py +50 -0
  121. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/colors.py +112 -0
  122. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/connection.py +93 -0
  123. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/connection_progress.py +51 -0
  124. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/json_output.py +165 -0
  125. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/parsers.py +30 -0
  126. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/plan_format.py +5 -0
  127. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/planning_progress.py +20 -0
  128. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/progress.py +643 -0
  129. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/helpers/runtime_target_writer.py +105 -0
  130. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/shared/types.py +21 -0
  131. sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/test.py +102 -0
  132. sqlbuild-0.2.1/src/sqlbuild/compiler/__init__.py +1 -0
  133. sqlbuild-0.2.1/src/sqlbuild/compiler/auditing/__init__.py +1 -0
  134. sqlbuild-0.2.1/src/sqlbuild/compiler/auditing/constants.py +8 -0
  135. sqlbuild-0.2.1/src/sqlbuild/compiler/auditing/main/__init__.py +0 -0
  136. sqlbuild-0.2.1/src/sqlbuild/compiler/auditing/main/render.py +81 -0
  137. sqlbuild-0.2.1/src/sqlbuild/compiler/auditing/types.py +27 -0
  138. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/__init__.py +1 -0
  139. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/constants.py +42 -0
  140. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/exceptions.py +5 -0
  141. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/__init__.py +1 -0
  142. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/assembly.py +439 -0
  143. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/attachment.py +2626 -0
  144. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/deps.py +116 -0
  145. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/macros.py +421 -0
  146. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/model_config_validation.py +311 -0
  147. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/refs.py +156 -0
  148. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/sql_scanning.py +77 -0
  149. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/sql_vars.py +99 -0
  150. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/sqlglot_columns.py +140 -0
  151. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/sqlglot_tests.py +96 -0
  152. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/sqlglot_validation.py +178 -0
  153. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/templating.py +502 -0
  154. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/helpers/tests.py +515 -0
  155. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/main/__init__.py +1 -0
  156. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/main/assemble_project.py +12 -0
  157. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/main/build_compile_inputs.py +145 -0
  158. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/main/effective_config.py +43 -0
  159. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/main/load_macros.py +13 -0
  160. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/models.py +373 -0
  161. sqlbuild-0.2.1/src/sqlbuild/compiler/compile/types.py +52 -0
  162. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/__init__.py +1 -0
  163. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/exceptions.py +37 -0
  164. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/__init__.py +1 -0
  165. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/constants.py +35 -0
  166. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/discovery_validation.py +313 -0
  167. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/filesystem.py +309 -0
  168. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/python_functions.py +109 -0
  169. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/sql_audits.py +155 -0
  170. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/sql_functions.py +30 -0
  171. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/sql_models.py +236 -0
  172. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/sql_tests.py +155 -0
  173. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/yml_primitives.py +148 -0
  174. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/yml_project.py +530 -0
  175. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/yml_schema.py +343 -0
  176. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/helpers/yml_sources.py +203 -0
  177. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/main/__init__.py +0 -0
  178. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/main/discover.py +53 -0
  179. sqlbuild-0.2.1/src/sqlbuild/compiler/discovery/models.py +168 -0
  180. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/__init__.py +1 -0
  181. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/constants.py +29 -0
  182. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/__init__.py +1 -0
  183. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/read.py +94 -0
  184. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/shared/__init__.py +1 -0
  185. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/shared/helpers/__init__.py +1 -0
  186. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/shared/helpers/sql.py +185 -0
  187. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/main/write.py +62 -0
  188. sqlbuild-0.2.1/src/sqlbuild/compiler/fingerprints/models.py +30 -0
  189. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/__init__.py +0 -0
  190. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/constants.py +11 -0
  191. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/__init__.py +0 -0
  192. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/graph_maps.py +52 -0
  193. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/macros.py +34 -0
  194. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/model_nodes.py +95 -0
  195. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/seeds.py +79 -0
  196. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/shared.py +141 -0
  197. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/sources.py +50 -0
  198. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/helpers/tests.py +139 -0
  199. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/main/__init__.py +0 -0
  200. sqlbuild-0.2.1/src/sqlbuild/compiler/manifest/main/build.py +161 -0
  201. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/__init__.py +1 -0
  202. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/__init__.py +1 -0
  203. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/clone.py +75 -0
  204. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/deferred_targets.py +171 -0
  205. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/diff.py +244 -0
  206. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/materializations.py +37 -0
  207. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/target_defaults.py +126 -0
  208. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/helpers/target_validation.py +52 -0
  209. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/__init__.py +1 -0
  210. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/clone.py +33 -0
  211. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/compile.py +160 -0
  212. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/compiled_project.py +48 -0
  213. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/diff.py +43 -0
  214. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/main/project.py +23 -0
  215. sqlbuild-0.2.1/src/sqlbuild/compiler/pipeline/models.py +33 -0
  216. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/__init__.py +1 -0
  217. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/constants.py +7 -0
  218. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/__init__.py +1 -0
  219. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/audit_entry.py +84 -0
  220. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/audit_scheduling.py +228 -0
  221. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/buildability.py +51 -0
  222. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/cascade.py +206 -0
  223. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/__init__.py +1 -0
  224. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/config.py +21 -0
  225. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/detect.py +159 -0
  226. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/policy.py +78 -0
  227. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/query.py +19 -0
  228. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/changes/schema.py +190 -0
  229. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/clone.py +214 -0
  230. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/cursor_type_check.py +242 -0
  231. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/function_fingerprints.py +132 -0
  232. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/graph.py +210 -0
  233. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/plan_entry.py +805 -0
  234. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/__init__.py +0 -0
  235. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/config.py +44 -0
  236. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/constants.py +10 -0
  237. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/cursor.py +167 -0
  238. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/cursor_inputs.py +32 -0
  239. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/refs.py +181 -0
  240. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/resolve.py +222 -0
  241. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/resolve/sources.py +188 -0
  242. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/selectors.py +323 -0
  243. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/sql_test_assembly.py +457 -0
  244. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/sqlglot_sql_test_assembly.py +170 -0
  245. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/strategy.py +408 -0
  246. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/helpers/warehouse_snapshot.py +610 -0
  247. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/main/__init__.py +1 -0
  248. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/main/clone.py +65 -0
  249. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/main/execution.py +417 -0
  250. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/models.py +364 -0
  251. sqlbuild-0.2.1/src/sqlbuild/compiler/planner/types.py +116 -0
  252. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/__init__.py +1 -0
  253. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/constants.py +8 -0
  254. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/helpers/__init__.py +1 -0
  255. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/helpers/hashing.py +56 -0
  256. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/helpers/schema_audits.py +98 -0
  257. sqlbuild-0.2.1/src/sqlbuild/compiler/shared/helpers/sources.py +29 -0
  258. sqlbuild-0.2.1/src/sqlbuild/compiler/testing/__init__.py +1 -0
  259. sqlbuild-0.2.1/src/sqlbuild/diagnostics/__init__.py +1 -0
  260. sqlbuild-0.2.1/src/sqlbuild/diagnostics/main/__init__.py +0 -0
  261. sqlbuild-0.2.1/src/sqlbuild/diagnostics/main/configure.py +47 -0
  262. sqlbuild-0.2.1/src/sqlbuild/diagnostics/shared/__init__.py +1 -0
  263. sqlbuild-0.2.1/src/sqlbuild/diagnostics/shared/constants.py +8 -0
  264. sqlbuild-0.2.1/src/sqlbuild/diagnostics/shared/helpers/__init__.py +1 -0
  265. sqlbuild-0.2.1/src/sqlbuild/diagnostics/shared/helpers/logging.py +146 -0
  266. sqlbuild-0.2.1/src/sqlbuild/executor/__init__.py +1 -0
  267. sqlbuild-0.2.1/src/sqlbuild/executor/auditing/__init__.py +1 -0
  268. sqlbuild-0.2.1/src/sqlbuild/executor/auditing/main/__init__.py +0 -0
  269. sqlbuild-0.2.1/src/sqlbuild/executor/auditing/main/execute.py +74 -0
  270. sqlbuild-0.2.1/src/sqlbuild/executor/auditing/models.py +27 -0
  271. sqlbuild-0.2.1/src/sqlbuild/executor/build/__init__.py +1 -0
  272. sqlbuild-0.2.1/src/sqlbuild/executor/build/constants.py +13 -0
  273. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/__init__.py +0 -0
  274. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/blocking.py +28 -0
  275. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/color.py +64 -0
  276. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/console.py +86 -0
  277. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/end_audits.py +41 -0
  278. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/indexes.py +36 -0
  279. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/output.py +605 -0
  280. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/scheduler.py +729 -0
  281. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/seeds.py +5 -0
  282. sqlbuild-0.2.1/src/sqlbuild/executor/build/helpers/source_audits.py +79 -0
  283. sqlbuild-0.2.1/src/sqlbuild/executor/build/main/__init__.py +0 -0
  284. sqlbuild-0.2.1/src/sqlbuild/executor/build/main/execute.py +187 -0
  285. sqlbuild-0.2.1/src/sqlbuild/executor/build/models.py +87 -0
  286. sqlbuild-0.2.1/src/sqlbuild/executor/build/types.py +12 -0
  287. sqlbuild-0.2.1/src/sqlbuild/executor/clean/__init__.py +1 -0
  288. sqlbuild-0.2.1/src/sqlbuild/executor/clone/__init__.py +1 -0
  289. sqlbuild-0.2.1/src/sqlbuild/executor/clone/helpers/__init__.py +1 -0
  290. sqlbuild-0.2.1/src/sqlbuild/executor/clone/helpers/operations.py +126 -0
  291. sqlbuild-0.2.1/src/sqlbuild/executor/clone/main/__init__.py +0 -0
  292. sqlbuild-0.2.1/src/sqlbuild/executor/clone/main/execute.py +67 -0
  293. sqlbuild-0.2.1/src/sqlbuild/executor/clone/models.py +22 -0
  294. sqlbuild-0.2.1/src/sqlbuild/executor/clone/types.py +19 -0
  295. sqlbuild-0.2.1/src/sqlbuild/executor/custom/__init__.py +0 -0
  296. sqlbuild-0.2.1/src/sqlbuild/executor/custom/models.py +86 -0
  297. sqlbuild-0.2.1/src/sqlbuild/executor/diff/__init__.py +1 -0
  298. sqlbuild-0.2.1/src/sqlbuild/executor/diff/helpers/__init__.py +1 -0
  299. sqlbuild-0.2.1/src/sqlbuild/executor/diff/helpers/bounds.py +75 -0
  300. sqlbuild-0.2.1/src/sqlbuild/executor/diff/helpers/config.py +95 -0
  301. sqlbuild-0.2.1/src/sqlbuild/executor/diff/helpers/selection.py +47 -0
  302. sqlbuild-0.2.1/src/sqlbuild/executor/diff/main/__init__.py +1 -0
  303. sqlbuild-0.2.1/src/sqlbuild/executor/diff/main/execute.py +161 -0
  304. sqlbuild-0.2.1/src/sqlbuild/executor/diff/models.py +33 -0
  305. sqlbuild-0.2.1/src/sqlbuild/executor/functions/__init__.py +1 -0
  306. sqlbuild-0.2.1/src/sqlbuild/executor/functions/main/__init__.py +1 -0
  307. sqlbuild-0.2.1/src/sqlbuild/executor/functions/main/execute.py +152 -0
  308. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/__init__.py +1 -0
  309. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/constants.py +7 -0
  310. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/helpers/__init__.py +0 -0
  311. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/helpers/plan.py +143 -0
  312. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/helpers/tracking.py +49 -0
  313. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/main/__init__.py +0 -0
  314. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/main/execute.py +33 -0
  315. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/main/plan.py +182 -0
  316. sqlbuild-0.2.1/src/sqlbuild/executor/janitor/models.py +87 -0
  317. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/__init__.py +1 -0
  318. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/helpers/__init__.py +0 -0
  319. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/helpers/auditing.py +44 -0
  320. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/helpers/seeding.py +40 -0
  321. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/helpers/settings.py +19 -0
  322. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/helpers/testing.py +196 -0
  323. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/main/__init__.py +0 -0
  324. sqlbuild-0.2.1/src/sqlbuild/executor/pipeline/main/run.py +108 -0
  325. sqlbuild-0.2.1/src/sqlbuild/executor/run/__init__.py +1 -0
  326. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/__init__.py +1 -0
  327. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/cursor_bounds.py +229 -0
  328. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/custom.py +301 -0
  329. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/fingerprinting.py +65 -0
  330. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/hooks.py +49 -0
  331. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/incremental.py +528 -0
  332. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/microbatch.py +785 -0
  333. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/results.py +39 -0
  334. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/type_enforcement.py +78 -0
  335. sqlbuild-0.2.1/src/sqlbuild/executor/run/helpers/view.py +155 -0
  336. sqlbuild-0.2.1/src/sqlbuild/executor/run/main/__init__.py +0 -0
  337. sqlbuild-0.2.1/src/sqlbuild/executor/run/main/execute.py +507 -0
  338. sqlbuild-0.2.1/src/sqlbuild/executor/run/models.py +34 -0
  339. sqlbuild-0.2.1/src/sqlbuild/executor/seed/__init__.py +1 -0
  340. sqlbuild-0.2.1/src/sqlbuild/executor/seed/main/__init__.py +0 -0
  341. sqlbuild-0.2.1/src/sqlbuild/executor/seed/main/execute.py +50 -0
  342. sqlbuild-0.2.1/src/sqlbuild/executor/shared/__init__.py +1 -0
  343. sqlbuild-0.2.1/src/sqlbuild/executor/shared/classes/__init__.py +0 -0
  344. sqlbuild-0.2.1/src/sqlbuild/executor/shared/helpers/__init__.py +0 -0
  345. sqlbuild-0.2.1/src/sqlbuild/executor/shared/types.py +24 -0
  346. sqlbuild-0.2.1/src/sqlbuild/executor/testing/__init__.py +1 -0
  347. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/__init__.py +0 -0
  348. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/comparison_sql.py +61 -0
  349. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/execute.py +126 -0
  350. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/helpers/__init__.py +1 -0
  351. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/helpers/comparison_sql.py +107 -0
  352. sqlbuild-0.2.1/src/sqlbuild/executor/testing/main/sql_length.py +50 -0
  353. sqlbuild-0.2.1/src/sqlbuild/executor/testing/models.py +29 -0
  354. sqlbuild-0.2.1/src/sqlbuild/executor/testing/types.py +11 -0
  355. sqlbuild-0.2.1/src/sqlbuild/functions.py +17 -0
  356. sqlbuild-0.2.1/src/sqlbuild/integrations/__init__.py +1 -0
  357. sqlbuild-0.2.1/src/sqlbuild/integrations/bigquery/__init__.py +1 -0
  358. sqlbuild-0.2.1/src/sqlbuild/integrations/bigquery/client.py +1157 -0
  359. sqlbuild-0.2.1/src/sqlbuild/integrations/databricks/client.py +1498 -0
  360. sqlbuild-0.2.1/src/sqlbuild/integrations/duckdb/__init__.py +1 -0
  361. sqlbuild-0.2.1/src/sqlbuild/integrations/duckdb/client.py +1268 -0
  362. sqlbuild-0.2.1/src/sqlbuild/integrations/duckdb/helpers/__init__.py +1 -0
  363. sqlbuild-0.2.1/src/sqlbuild/integrations/snowflake/__init__.py +1 -0
  364. sqlbuild-0.2.1/src/sqlbuild/integrations/snowflake/client.py +1157 -0
  365. sqlbuild-0.2.1/src/sqlbuild/shared/constants.py +5 -0
  366. sqlbuild-0.2.1/src/sqlbuild/shared/helpers/adapters.py +149 -0
  367. sqlbuild-0.2.1/src/sqlbuild/shared/helpers/colors.py +112 -0
  368. sqlbuild-0.2.1/src/sqlbuild/shared/helpers/diagnostics_logging.py +55 -0
  369. sqlbuild-0.2.1/src/sqlbuild/shared/helpers/naming.py +42 -0
  370. sqlbuild-0.2.1/src/sqlbuild/shared/helpers/sql_resolution.py +26 -0
  371. sqlbuild-0.2.1/src/sqlbuild/shared/models.py +15 -0
  372. sqlbuild-0.2.1/src/sqlbuild/spec/__init__.py +1 -0
  373. sqlbuild-0.2.1/src/sqlbuild/spec/models/__init__.py +1 -0
  374. sqlbuild-0.2.1/src/sqlbuild/spec/models/model.py +1 -0
  375. sqlbuild-0.2.1/src/sqlbuild/spec/models/project.py +125 -0
  376. sqlbuild-0.2.1/src/sqlbuild/spec/models/schema.py +72 -0
  377. sqlbuild-0.2.1/src/sqlbuild/spec/models/source.py +34 -0
  378. sqlbuild-0.2.1/src/sqlbuild/spec/models/types.py +5 -0
  379. sqlbuild-0.2.1/tests/e2e/__init__.py +0 -0
  380. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/audits/generic/accepted_values.sql +5 -0
  381. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/audits/generic/expression_is_true.sql +5 -0
  382. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/audits/generic/not_null.sql +5 -0
  383. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/audits/generic/unique.sql +6 -0
  384. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/functions/python/is_completed_order_py.py +10 -0
  385. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/functions/sql/customer_orders.sql +21 -0
  386. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/functions/sql/is_completed_order.sql +6 -0
  387. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/materializations/partition_tracked.py +170 -0
  388. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/intermediate/customer_status_snapshot.sql +31 -0
  389. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/intermediate/order_status_index.sql +24 -0
  390. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/daily_activity_rollup.sql +33 -0
  391. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/daily_order_partitioned.sql +34 -0
  392. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/daily_revenue.sql +21 -0
  393. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/dim_customers.sql +21 -0
  394. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/fact_orders.sql +27 -0
  395. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/hourly_activity_with_daily_context.sql +34 -0
  396. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/marts/hourly_order_activity.sql +32 -0
  397. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/staging/stg_customers.sql +17 -0
  398. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/staging/stg_orders.sql +23 -0
  399. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/models/staging/stg_payments.sql +18 -0
  400. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/seeds/lookups.yml +12 -0
  401. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/seeds/waffle_types.csv +7 -0
  402. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/sources/raw.yml +48 -0
  403. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/sqlbuild_project.yml +15 -0
  404. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/tests/test_fact_orders.sql +46 -0
  405. sqlbuild-0.2.1/tests/e2e/fixtures/waffle_shop/tests/test_stg_orders.sql +22 -0
  406. sqlbuild-0.2.1/tests/e2e/src/__init__.py +0 -0
  407. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/__init__.py +0 -0
  408. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/__init__.py +0 -0
  409. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/__init__.py +0 -0
  410. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/__init__.py +0 -0
  411. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/adapters/__init__.py +1 -0
  412. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/adapters/_test_types.py +9 -0
  413. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/adapters/helpers.py +34 -0
  414. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/adapters/test_project_local_adapters.py +40 -0
  415. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/audit/__init__.py +0 -0
  416. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/audit/_test_types.py +14 -0
  417. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/audit/test_audit.py +41 -0
  418. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/bigquery/_test_types.py +48 -0
  419. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/bigquery/conftest.py +14 -0
  420. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/bigquery/helpers.py +199 -0
  421. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/bigquery/test_bigquery.py +461 -0
  422. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/__init__.py +0 -0
  423. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/_test_types.py +245 -0
  424. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_append_cursor_build.py +151 -0
  425. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_audit_failures.py +200 -0
  426. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_build.py +172 -0
  427. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_compile_json_behavior.py +56 -0
  428. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_cursor_runtime_failures.py +146 -0
  429. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_expression_sources.py +130 -0
  430. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_lifecycle_commands.py +130 -0
  431. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_mixed_timestamp_grain_replay.py +217 -0
  432. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_model_backed_cursor_build.py +214 -0
  433. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_plan_command_surface.py +67 -0
  434. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_query_change_tracking.py +158 -0
  435. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_query_propagation.py +416 -0
  436. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_remove_column_semantics.py +67 -0
  437. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_runtime_artifact_preservation.py +73 -0
  438. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_schema_backfill_behavior.py +142 -0
  439. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_selector_surface.py +87 -0
  440. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_template_expressions.py +167 -0
  441. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/build/test_validation_failures.py +208 -0
  442. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/clone/__init__.py +1 -0
  443. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/clone/_test_types.py +15 -0
  444. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/clone/test_clone.py +165 -0
  445. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/databricks/__init__.py +1 -0
  446. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/databricks/_test_types.py +39 -0
  447. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/databricks/conftest.py +14 -0
  448. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/databricks/helpers.py +192 -0
  449. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/databricks/test_databricks.py +332 -0
  450. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/diff/__init__.py +1 -0
  451. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/diff/_test_types.py +22 -0
  452. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/diff/helpers.py +177 -0
  453. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/diff/test_diff.py +377 -0
  454. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/janitor/__init__.py +0 -0
  455. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/janitor/_test_types.py +39 -0
  456. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/janitor/helpers.py +96 -0
  457. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/janitor/test_janitor.py +164 -0
  458. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/query/__init__.py +1 -0
  459. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/query/_test_types.py +9 -0
  460. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/query/test_query.py +55 -0
  461. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/run/__init__.py +0 -0
  462. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/run/_test_types.py +16 -0
  463. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/run/test_run.py +77 -0
  464. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/seed/__init__.py +0 -0
  465. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/seed/_test_types.py +15 -0
  466. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/seed/test_seed.py +58 -0
  467. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/shared/__init__.py +0 -0
  468. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/shared/helpers.py +102 -0
  469. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/snowflake/__init__.py +1 -0
  470. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/snowflake/_test_types.py +31 -0
  471. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/snowflake/conftest.py +14 -0
  472. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/snowflake/helpers.py +175 -0
  473. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/snowflake/test_snowflake.py +276 -0
  474. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/test/__init__.py +0 -0
  475. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/test/_test_types.py +24 -0
  476. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/test/helpers.py +67 -0
  477. sqlbuild-0.2.1/tests/e2e/src/sqlbuild/cli/commands/main/test/test_test.py +130 -0
  478. sqlbuild-0.2.1/tests/fixtures/dbt_manifest_v12_schema.json +27316 -0
  479. sqlbuild-0.2.1/tests/integration/__init__.py +0 -0
  480. sqlbuild-0.2.1/tests/integration/conftest.py +21 -0
  481. sqlbuild-0.2.1/tests/integration/src/__init__.py +0 -0
  482. sqlbuild-0.2.1/tests/integration/src/sqlbuild/__init__.py +0 -0
  483. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/__init__.py +1 -0
  484. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/__init__.py +1 -0
  485. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/__init__.py +1 -0
  486. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/__init__.py +1 -0
  487. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/__init__.py +1 -0
  488. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/_test_types.py +17 -0
  489. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/helpers.py +159 -0
  490. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/test_example_matrix.py +214 -0
  491. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/test_output_matrix.py +148 -0
  492. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/test_schema_matrix.py +111 -0
  493. sqlbuild-0.2.1/tests/integration/src/sqlbuild/cli/commands/main/helpers/diff/test_tolerance_matrix.py +122 -0
  494. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/auditing/__init__.py +0 -0
  495. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/auditing/main/__init__.py +0 -0
  496. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/auditing/main/_test_types.py +14 -0
  497. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/auditing/main/conftest.py +20 -0
  498. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/auditing/main/test_rendering.py +95 -0
  499. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/fingerprints/__init__.py +0 -0
  500. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/fingerprints/main/__init__.py +0 -0
  501. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/fingerprints/main/_test_types.py +60 -0
  502. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/fingerprints/main/conftest.py +29 -0
  503. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/fingerprints/main/test_read_write.py +413 -0
  504. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/pipeline/__init__.py +1 -0
  505. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/pipeline/_test_types.py +62 -0
  506. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/pipeline/helpers.py +47 -0
  507. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/pipeline/test_diff_selectors.py +114 -0
  508. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/pipeline/test_main.py +471 -0
  509. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/__init__.py +0 -0
  510. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/__init__.py +0 -0
  511. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/_test_types.py +62 -0
  512. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/conftest.py +30 -0
  513. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/helpers.py +209 -0
  514. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/resolve/__init__.py +0 -0
  515. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/resolve/_test_types.py +31 -0
  516. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/resolve/conftest.py +22 -0
  517. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/resolve/helpers.py +98 -0
  518. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/resolve/test_resolve.py +260 -0
  519. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/__init__.py +0 -0
  520. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/_test_types.py +14 -0
  521. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/conftest.py +20 -0
  522. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/helpers.py +149 -0
  523. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/test_execute_chain.py +279 -0
  524. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/test_audit_entry.py +130 -0
  525. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/helpers/test_warehouse_snapshot.py +478 -0
  526. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/main/__init__.py +0 -0
  527. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/main/_test_types.py +55 -0
  528. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/main/conftest.py +21 -0
  529. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/main/helpers.py +286 -0
  530. sqlbuild-0.2.1/tests/integration/src/sqlbuild/compiler/planner/main/test_build_execution_plan.py +560 -0
  531. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/__init__.py +0 -0
  532. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/__init__.py +0 -0
  533. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/_test_types.py +35 -0
  534. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/concurrent/__init__.py +0 -0
  535. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/concurrent/_test_types.py +39 -0
  536. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/concurrent/helpers.py +180 -0
  537. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/concurrent/test_concurrent_build.py +241 -0
  538. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/concurrent/test_ordering_invariant.py +144 -0
  539. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/conftest.py +20 -0
  540. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/custom/__init__.py +0 -0
  541. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/custom/_test_types.py +135 -0
  542. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/custom/helpers.py +428 -0
  543. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/custom/test_advanced_custom_materialization.py +439 -0
  544. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/custom/test_custom_materialization.py +454 -0
  545. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/helpers.py +157 -0
  546. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/build/test_build_execution.py +980 -0
  547. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/__init__.py +0 -0
  548. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/_test_types.py +54 -0
  549. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/conftest.py +21 -0
  550. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/helpers.py +326 -0
  551. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/incremental/__init__.py +0 -0
  552. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/incremental/_test_types.py +80 -0
  553. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/incremental/conftest.py +20 -0
  554. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/incremental/helpers.py +344 -0
  555. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/incremental/test_incremental_execution.py +523 -0
  556. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/microbatch/__init__.py +0 -0
  557. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/microbatch/_test_types.py +82 -0
  558. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/microbatch/conftest.py +20 -0
  559. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/microbatch/helpers.py +306 -0
  560. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/microbatch/test_microbatch_execution.py +647 -0
  561. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/test_table_execution.py +495 -0
  562. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/view/__init__.py +1 -0
  563. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/view/_test_types.py +43 -0
  564. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/view/conftest.py +21 -0
  565. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/view/helpers.py +249 -0
  566. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/run/view/test_view_execution.py +168 -0
  567. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/testing/__init__.py +1 -0
  568. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/testing/_test_types.py +25 -0
  569. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/testing/conftest.py +20 -0
  570. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/testing/helpers.py +79 -0
  571. sqlbuild-0.2.1/tests/integration/src/sqlbuild/executor/testing/test_sql_test_execution.py +327 -0
  572. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/__init__.py +0 -0
  573. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/bigquery/_test_types.py +99 -0
  574. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/bigquery/conftest.py +58 -0
  575. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/bigquery/helpers.py +83 -0
  576. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/bigquery/test_client.py +743 -0
  577. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/databricks/__init__.py +1 -0
  578. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/databricks/_test_types.py +84 -0
  579. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/databricks/conftest.py +54 -0
  580. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/databricks/helpers.py +86 -0
  581. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/databricks/test_client.py +633 -0
  582. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/__init__.py +0 -0
  583. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/_test_types.py +203 -0
  584. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/conftest.py +20 -0
  585. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/helpers/__init__.py +0 -0
  586. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/helpers/_test_types.py +19 -0
  587. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/helpers/test_sql.py +105 -0
  588. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/duckdb/test_client.py +1387 -0
  589. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/snowflake/__init__.py +1 -0
  590. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/snowflake/_test_types.py +84 -0
  591. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/snowflake/conftest.py +54 -0
  592. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/snowflake/helpers.py +106 -0
  593. sqlbuild-0.2.1/tests/integration/src/sqlbuild/integrations/snowflake/test_client.py +589 -0
  594. sqlbuild-0.2.1/tests/unit/conftest.py +21 -0
  595. sqlbuild-0.2.1/tests/unit/scripts/structure/check_structure_conventions/_test_types.py +16 -0
  596. sqlbuild-0.2.1/tests/unit/scripts/structure/check_structure_conventions/helpers.py +77 -0
  597. sqlbuild-0.2.1/tests/unit/scripts/structure/check_structure_conventions/test_structure_checker.py +1013 -0
  598. sqlbuild-0.2.1/tests/unit/scripts/testing/check_test_conventions/_test_types.py +15 -0
  599. sqlbuild-0.2.1/tests/unit/scripts/testing/check_test_conventions/helpers.py +73 -0
  600. sqlbuild-0.2.1/tests/unit/scripts/testing/check_test_conventions/test_checker.py +584 -0
  601. sqlbuild-0.2.1/tests/unit/scripts/type_annotations/check_type_annotation_conventions/_test_helpers.py +101 -0
  602. sqlbuild-0.2.1/tests/unit/scripts/type_annotations/check_type_annotation_conventions/_test_types.py +24 -0
  603. sqlbuild-0.2.1/tests/unit/scripts/type_annotations/check_type_annotation_conventions/test_type_annotation_checker.py +104 -0
  604. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/base/_test_types.py +7 -0
  605. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/base/test_base_adapter.py +51 -0
  606. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/discovery/main/_test_types.py +17 -0
  607. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/discovery/main/helpers.py +12 -0
  608. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/discovery/main/test_discover.py +134 -0
  609. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/shared/_test_types.py +28 -0
  610. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/shared/test_type_normalization.py +233 -0
  611. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/strict/_test_types.py +7 -0
  612. sqlbuild-0.2.1/tests/unit/src/sqlbuild/adapter/strict/test_strict_adapter.py +35 -0
  613. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/__init__.py +1 -0
  614. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/_test_types.py +33 -0
  615. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/helpers.py +245 -0
  616. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/test_adapters.py +89 -0
  617. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/test_compile_target_writer.py +66 -0
  618. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/compile/test_runtime_target_writer.py +86 -0
  619. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/entry/__init__.py +1 -0
  620. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/entry/_test_types.py +28 -0
  621. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/entry/helpers.py +29 -0
  622. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/entry/test_main.py +696 -0
  623. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/diff/__init__.py +1 -0
  624. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/diff/_test_types.py +16 -0
  625. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/diff/test_output.py +197 -0
  626. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/query/__init__.py +1 -0
  627. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/query/_test_types.py +12 -0
  628. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/helpers/query/test_output.py +83 -0
  629. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/plan/__init__.py +0 -0
  630. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/plan/helpers/__init__.py +0 -0
  631. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/plan/helpers/_test_types.py +18 -0
  632. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/plan/helpers/helpers.py +173 -0
  633. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/plan/helpers/test_formatter.py +476 -0
  634. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/__init__.py +0 -0
  635. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/__init__.py +0 -0
  636. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/_test_types.py +86 -0
  637. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/helpers.py +33 -0
  638. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/test_connection.py +160 -0
  639. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/test_connection_progress.py +97 -0
  640. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/test_json_output.py +169 -0
  641. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/test_planning_progress.py +47 -0
  642. sqlbuild-0.2.1/tests/unit/src/sqlbuild/cli/commands/main/shared/helpers/test_progress.py +311 -0
  643. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/__init__.py +1 -0
  644. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/auditing/__init__.py +0 -0
  645. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/auditing/main/__init__.py +0 -0
  646. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/auditing/main/_test_types.py +12 -0
  647. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/auditing/main/helpers.py +54 -0
  648. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/auditing/main/test_rendering.py +117 -0
  649. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/__init__.py +1 -0
  650. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/_test_helpers.py +6 -0
  651. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/_test_types.py +97 -0
  652. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/_test_types.py +276 -0
  653. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/helpers.py +21 -0
  654. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_assembly.py +257 -0
  655. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_audit_validation.py +258 -0
  656. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_deps.py +142 -0
  657. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_macros.py +276 -0
  658. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_model_config_validation.py +623 -0
  659. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_sql_vars.py +185 -0
  660. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_sqlglot_columns.py +187 -0
  661. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_sqlglot_tests.py +85 -0
  662. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_sqlglot_validation.py +105 -0
  663. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_templating.py +187 -0
  664. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/helpers/test_tests.py +387 -0
  665. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/test_cursor_start.py +96 -0
  666. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/compile/test_main.py +2471 -0
  667. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/__init__.py +1 -0
  668. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/_test_helpers.py +4 -0
  669. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/_test_types.py +34 -0
  670. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/__init__.py +1 -0
  671. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/_test_types.py +172 -0
  672. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_filesystem_materializations.py +61 -0
  673. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_sql_audits.py +173 -0
  674. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_sql_models.py +328 -0
  675. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_sql_tests.py +177 -0
  676. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_yml_project.py +585 -0
  677. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_yml_schema.py +329 -0
  678. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/helpers/test_yml_sources.py +364 -0
  679. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/discovery/test_main.py +413 -0
  680. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/__init__.py +0 -0
  681. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/main/__init__.py +0 -0
  682. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/main/shared/__init__.py +0 -0
  683. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/main/shared/helpers/__init__.py +0 -0
  684. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/main/shared/helpers/_test_types.py +43 -0
  685. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/fingerprints/main/shared/helpers/test_sql.py +265 -0
  686. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/manifest/__init__.py +0 -0
  687. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/manifest/_test_types.py +134 -0
  688. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/manifest/helpers.py +293 -0
  689. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/manifest/test_main.py +838 -0
  690. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/__init__.py +0 -0
  691. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/__init__.py +0 -0
  692. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/_test_types.py +21 -0
  693. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/helpers.py +52 -0
  694. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/target_validation/__init__.py +1 -0
  695. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/target_validation/_test_types.py +11 -0
  696. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/target_validation/helpers.py +38 -0
  697. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/target_validation/test_main.py +72 -0
  698. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/pipeline/helpers/test_deferred_targets.py +159 -0
  699. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/__init__.py +0 -0
  700. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/__init__.py +0 -0
  701. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/_test_types.py +372 -0
  702. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/__init__.py +0 -0
  703. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/_test_helpers.py +108 -0
  704. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/_test_types.py +60 -0
  705. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/test_detect.py +142 -0
  706. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/test_policy.py +117 -0
  707. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/test_query.py +91 -0
  708. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/changes/test_schema.py +216 -0
  709. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/conftest.py +78 -0
  710. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/helpers.py +669 -0
  711. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/__init__.py +0 -0
  712. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/_test_types.py +66 -0
  713. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/helpers.py +11 -0
  714. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/test_cursor.py +223 -0
  715. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/test_refs.py +277 -0
  716. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/resolve/test_sources.py +435 -0
  717. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/__init__.py +0 -0
  718. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/_test_types.py +25 -0
  719. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/helpers.py +265 -0
  720. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/sql_test_assembly/test_plan_test.py +466 -0
  721. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_audit_entry.py +119 -0
  722. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_audit_scheduling.py +262 -0
  723. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_buildability.py +151 -0
  724. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_cascade.py +294 -0
  725. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_cursor_override_resolution.py +117 -0
  726. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_cursor_overrides_validation.py +86 -0
  727. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_cursor_start.py +126 -0
  728. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_cursor_type_check.py +186 -0
  729. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_function_fingerprints.py +96 -0
  730. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_graph.py +343 -0
  731. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_microbatch_lookback.py +65 -0
  732. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_selectors.py +625 -0
  733. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_source_columns.py +93 -0
  734. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_strategy_action.py +357 -0
  735. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_strategy_ddl.py +187 -0
  736. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_strategy_schema_actions.py +125 -0
  737. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_strategy_warnings.py +277 -0
  738. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/planner/helpers/test_warehouse_cursor_resolution.py +86 -0
  739. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/shared/__init__.py +0 -0
  740. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/shared/helpers/__init__.py +0 -0
  741. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/shared/helpers/_test_types.py +55 -0
  742. sqlbuild-0.2.1/tests/unit/src/sqlbuild/compiler/shared/helpers/test_hashing.py +249 -0
  743. sqlbuild-0.2.1/tests/unit/src/sqlbuild/diagnostics/_test_types.py +21 -0
  744. sqlbuild-0.2.1/tests/unit/src/sqlbuild/diagnostics/test_main.py +179 -0
  745. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/__init__.py +0 -0
  746. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/build/__init__.py +1 -0
  747. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/build/helpers/__init__.py +1 -0
  748. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/build/helpers/_test_types.py +20 -0
  749. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/build/helpers/helpers.py +127 -0
  750. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/build/helpers/test_output.py +665 -0
  751. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/diff/__init__.py +1 -0
  752. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/diff/_test_types.py +36 -0
  753. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/diff/helpers.py +36 -0
  754. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/diff/test_bounds.py +115 -0
  755. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/diff/test_config.py +97 -0
  756. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/janitor/main/__init__.py +0 -0
  757. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/janitor/main/_test_types.py +47 -0
  758. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/janitor/main/helpers.py +389 -0
  759. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/janitor/main/test_plan.py +174 -0
  760. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/pipeline/__init__.py +0 -0
  761. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/pipeline/helpers/__init__.py +0 -0
  762. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/pipeline/helpers/_test_types.py +14 -0
  763. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/pipeline/helpers/test_testing.py +76 -0
  764. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/__init__.py +0 -0
  765. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/__init__.py +0 -0
  766. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/_test_types.py +35 -0
  767. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/helpers.py +43 -0
  768. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/test_cursor_bounds.py +74 -0
  769. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/test_naming.py +80 -0
  770. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/run/helpers/test_results.py +69 -0
  771. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/shared/__init__.py +0 -0
  772. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/shared/helpers/__init__.py +0 -0
  773. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/shared/helpers/_test_types.py +11 -0
  774. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/shared/helpers/test_statement_recorder.py +43 -0
  775. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/testing/main/_test_types.py +8 -0
  776. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/testing/main/helpers.py +33 -0
  777. sqlbuild-0.2.1/tests/unit/src/sqlbuild/executor/testing/main/test_comparison_sql.py +64 -0
  778. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/__init__.py +1 -0
  779. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/bigquery/__init__.py +1 -0
  780. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/bigquery/_test_types.py +105 -0
  781. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/bigquery/helpers.py +151 -0
  782. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/bigquery/test_client.py +554 -0
  783. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/databricks/__init__.py +1 -0
  784. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/databricks/_test_types.py +33 -0
  785. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/databricks/test_client.py +191 -0
  786. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/duckdb/__init__.py +1 -0
  787. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/duckdb/_test_types.py +15 -0
  788. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/duckdb/test_client.py +71 -0
  789. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/snowflake/__init__.py +1 -0
  790. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/snowflake/_test_types.py +43 -0
  791. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/snowflake/helpers.py +41 -0
  792. sqlbuild-0.2.1/tests/unit/src/sqlbuild/integrations/snowflake/test_client.py +224 -0
  793. sqlbuild-0.2.1/tests/unit/src/sqlbuild/shared/helpers/sql_resolution/__init__.py +1 -0
  794. sqlbuild-0.2.1/tests/unit/src/sqlbuild/shared/helpers/sql_resolution/_test_types.py +9 -0
  795. sqlbuild-0.2.1/tests/unit/src/sqlbuild/shared/helpers/sql_resolution/test_main.py +54 -0
  796. sqlbuild-0.2.1/uv.lock +1755 -0
  797. sqlbuild-0.0.1/PKG-INFO +0 -6
  798. sqlbuild-0.0.1/README.md +0 -5
  799. sqlbuild-0.0.1/pyproject.toml +0 -10
  800. {sqlbuild-0.0.1/sqlbuild → sqlbuild-0.2.1/src/sqlbuild/cli/commands/main/helpers/janitor}/__init__.py +0 -0
Binary file
@@ -0,0 +1,55 @@
1
+ name: Publish
2
+
3
+ on:
4
+ release:
5
+ types:
6
+ - published
7
+ workflow_dispatch:
8
+ inputs:
9
+ tag:
10
+ description: "Release tag to publish, for example v0.2.0"
11
+ required: true
12
+ type: string
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ jobs:
18
+ pypi:
19
+ name: Publish to PyPI
20
+ runs-on: ubuntu-latest
21
+ environment: pypi
22
+ permissions:
23
+ contents: read
24
+ id-token: write
25
+ steps:
26
+ - name: Resolve release tag
27
+ id: release-tag
28
+ run: |
29
+ if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
30
+ tag="${{ inputs.tag }}"
31
+ else
32
+ tag="${{ github.event.release.tag_name }}"
33
+ fi
34
+
35
+ case "$tag" in
36
+ v0*) ;;
37
+ *)
38
+ echo "Refusing to publish tag '$tag'. PyPI publishing is limited to v0* tags."
39
+ exit 1
40
+ ;;
41
+ esac
42
+
43
+ echo "tag=$tag" >> "$GITHUB_OUTPUT"
44
+
45
+ - uses: actions/checkout@v4
46
+ with:
47
+ ref: ${{ steps.release-tag.outputs.tag }}
48
+
49
+ - uses: astral-sh/setup-uv@v5
50
+
51
+ - name: Build distributions
52
+ run: uv build
53
+
54
+ - name: Publish to PyPI
55
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,20 @@
1
+ name: Release Please
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ release-please:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: googleapis/release-please-action@v4
18
+ with:
19
+ config-file: release-please-config.json
20
+ manifest-file: .release-please-manifest.json
@@ -0,0 +1,47 @@
1
+ name: Version Guard
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+ push:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ block-1-0:
17
+ name: Block automatic 1.0 releases
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - name: Reject versions at or above 1.0.0
23
+ run: |
24
+ python - <<'PY'
25
+ import sys
26
+ import tomllib
27
+
28
+ with open("pyproject.toml", "rb") as pyproject:
29
+ version = tomllib.load(pyproject)["project"]["version"]
30
+
31
+ parts = version.split(".")
32
+ try:
33
+ major = int(parts[0])
34
+ except (IndexError, ValueError):
35
+ print(f"Invalid project version: {version}", file=sys.stderr)
36
+ sys.exit(1)
37
+
38
+ if major >= 1:
39
+ print(
40
+ f"Refusing automatic release version {version}. "
41
+ "Crossing to 1.0.0 requires an explicit manual decision.",
42
+ file=sys.stderr,
43
+ )
44
+ sys.exit(1)
45
+
46
+ print(f"Project version {version} is below 1.0.0.")
47
+ PY
@@ -0,0 +1,56 @@
1
+ # Python bytecode
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Python packaging
7
+ build/
8
+ !src/sqlbuild/**/build/
9
+ !tests/**/build/
10
+ dist/
11
+ *.egg-info/
12
+ .eggs/
13
+
14
+ # Virtual environments
15
+ .venv/
16
+ venv/
17
+ env/
18
+ ENV/
19
+
20
+ # Test and coverage
21
+ .pytest_cache/
22
+ .coverage
23
+ .coverage.*
24
+ htmlcov/
25
+
26
+ # Type checkers and tooling
27
+ .mypy_cache/
28
+ .ruff_cache/
29
+ .pyre/
30
+
31
+ # Jupyter
32
+ .ipynb_checkpoints/
33
+
34
+ # Editors and OS files
35
+ .DS_Store
36
+ Thumbs.db
37
+ .idea/
38
+ .vscode/
39
+
40
+ # Logs
41
+ *.log
42
+
43
+ # Local databases and data
44
+ *.db
45
+ *.duckdb
46
+ *.duckdb.wal
47
+ *.sqlite
48
+ *.sqlite3
49
+ data/
50
+
51
+ # Local artifacts
52
+ target/
53
+
54
+ # Local SQLBuild overrides
55
+ sqlbuild_local.yml
56
+ **/sqlbuild_local.yml
@@ -0,0 +1,60 @@
1
+ default_stages: [pre-commit]
2
+
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: check-toml
8
+ - id: check-yaml
9
+ - id: end-of-file-fixer
10
+ - id: trailing-whitespace
11
+
12
+ - repo: local
13
+ hooks:
14
+ - id: ruff-format
15
+ name: ruff format
16
+ entry: uv run ruff format
17
+ language: system
18
+ types_or: [python, pyi]
19
+
20
+ - id: ruff-check
21
+ name: ruff check
22
+ entry: uv run ruff check --fix
23
+ language: system
24
+ types_or: [python, pyi]
25
+
26
+ - id: check-test-conventions
27
+ name: check test conventions
28
+ entry: uv run check-test-conventions tests
29
+ language: system
30
+ pass_filenames: false
31
+
32
+ - id: check-structure-conventions
33
+ name: check structure conventions
34
+ entry: uv run check-structure-conventions src/sqlbuild scripts
35
+ language: system
36
+ pass_filenames: false
37
+
38
+ - id: check-type-annotation-conventions
39
+ name: check type annotation conventions
40
+ entry: uv run check-type-annotation-conventions src tests
41
+ language: system
42
+ pass_filenames: false
43
+
44
+ - id: ty-check
45
+ name: ty check
46
+ entry: bash -c 'uv run ty check src tests'
47
+ language: system
48
+ pass_filenames: false
49
+
50
+ - id: pytest
51
+ name: pytest
52
+ entry: bash -c 'uv run pytest tests/unit tests/integration -m "not real_warehouse" -vv'
53
+ language: system
54
+ pass_filenames: false
55
+
56
+ - id: conventional-commit
57
+ name: conventional commit message
58
+ entry: uv run cz check --commit-msg-file
59
+ language: system
60
+ stages: [commit-msg]
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.1"
3
+ }
@@ -0,0 +1,195 @@
1
+ # Changelog
2
+
3
+ ## [0.2.1](https://github.com/chio-labs/sqlbuild/compare/v0.2.0...v0.2.1) (2026-05-05)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * render README correctly on PyPI ([8abf270](https://github.com/chio-labs/sqlbuild/commit/8abf270a77aabd1040ce223fc9f377eb168bfe39))
9
+ * render README correctly on PyPI ([8251c0d](https://github.com/chio-labs/sqlbuild/commit/8251c0d6bf5b8277d36a7756c1fa95b04d1df698))
10
+
11
+ ## [0.2.0](https://github.com/chio-labs/sqlbuild/compare/v0.1.0...v0.2.0) (2026-05-05)
12
+
13
+
14
+ ### Features
15
+
16
+ * add --defer-to support with deferred target resolution, buildability checks, and SC026 limit fix ([2097d80](https://github.com/chio-labs/sqlbuild/commit/2097d8020b3c0aa970ab7b7b038ab2aa2534fe09))
17
+ * add --json output flag for sqb compile and sqb plan commands ([008d938](https://github.com/chio-labs/sqlbuild/commit/008d938ca6dfc53a4dbeab9aa63c5b9024a97596))
18
+ * add --verbose flag to build/run showing full model DDL and audit SQL inline ([3f3cfe0](https://github.com/chio-labs/sqlbuild/commit/3f3cfe01dd256effdf71d24200b425cd10660337))
19
+ * add adapter spine with base/strict adapters and compile assembly ([b72fbff](https://github.com/chio-labs/sqlbuild/commit/b72fbff3b15680b795ddaa864c867b451cfb9f7f))
20
+ * add append cursor boundary control ([796af13](https://github.com/chio-labs/sqlbuild/commit/796af130cfa2fa79e595023187a950043bc34336))
21
+ * add audit scheduling with attachment resolution, graph validation, and effective run scope degradation ([587d51e](https://github.com/chio-labs/sqlbuild/commit/587d51ebd44a28b8d64c5cb1413443710a52e4ec))
22
+ * add audit/test plan entries with chained test resolution and unresolved ref validation ([b1e0be7](https://github.com/chio-labs/sqlbuild/commit/b1e0be74183a454e34662c1ca675e44fcce1c3fb))
23
+ * add backfill cascade propagation with duration comparison, root cause attribution, and cross-type rules ([f27eb09](https://github.com/chio-labs/sqlbuild/commit/f27eb09435bff1a53b9eb27393271e7cb815193e))
24
+ * add BigQuery adapter support ([f79ff90](https://github.com/chio-labs/sqlbuild/commit/f79ff90b813cf751d5a5313416eb9a0be3ff60e7))
25
+ * add BigQuery warehouse parity ([1415f8e](https://github.com/chio-labs/sqlbuild/commit/1415f8e7ba8e48457d5ed0691a486212a85dee3a))
26
+ * add build executor with topo execution, failure propagation, source/end audits, and direct/staged mode support ([d31466d](https://github.com/chio-labs/sqlbuild/commit/d31466d51d55234f4a73c66dd6b59e9a49f853b2))
27
+ * add build output formatter with live progress, color support, and duration tracking ([42d1218](https://github.com/chio-labs/sqlbuild/commit/42d12183b2c3dd012f541d5cc8d753ae634bf09e))
28
+ * add buildability checks validating upstream deps exist in scope or warehouse ([00f8c99](https://github.com/chio-labs/sqlbuild/commit/00f8c9946be85cb3e79416caa86e854fb3ea2230))
29
+ * add change detection with query/schema comparison, backfill policy resolution, and SC033 cross-package import rule ([97e4582](https://github.com/chio-labs/sqlbuild/commit/97e45826398882c381f936ebf15cbf271a11c885))
30
+ * add clone command support ([350a94b](https://github.com/chio-labs/sqlbuild/commit/350a94bd2698ee6ced0bd5b3604c0597b6de6c1f))
31
+ * add compile input attachment layer ([724c936](https://github.com/chio-labs/sqlbuild/commit/724c9364d565623537a974effff6723966c4adcf))
32
+ * add compile-time sql macro expansion ([1e78559](https://github.com/chio-labs/sqlbuild/commit/1e78559591edf9c081c358760a0474206e4494a4))
33
+ * add compile-time SQL syntax validation with project, model, and CLI escape hatches ([02b16f5](https://github.com/chio-labs/sqlbuild/commit/02b16f55655936d5d706a9fbcf0878915be8c02b))
34
+ * add concurrent build scheduler with ready-queue DAG dispatch ([92ad4c4](https://github.com/chio-labs/sqlbuild/commit/92ad4c48342ee94df59e288838e5f4a20c7e2d87))
35
+ * add ctx.execute_sql() for custom materializations and require statement_recorder on adapter write methods ([353b1ea](https://github.com/chio-labs/sqlbuild/commit/353b1eaf995ee7c47c2fa1c27b8d59be2c479ca9))
36
+ * add cursor start floors ([a47cfa5](https://github.com/chio-labs/sqlbuild/commit/a47cfa5be7cf7a85718dbc46fe79c599ec56fb54))
37
+ * add cursor_type/validation/typed overrides/sql vars with StrEnum enforcement ([418925c](https://github.com/chio-labs/sqlbuild/commit/418925c3b5d9eefe33ed3303b09e647c6354810a))
38
+ * add custom materializations with @[@placeholder](https://github.com/placeholder) support and user-callable audits ([d9e1592](https://github.com/chio-labs/sqlbuild/commit/d9e1592560f6fbb31d210046f3f9c84e5fbb43e7))
39
+ * add Databricks adapter support ([e692ce6](https://github.com/chio-labs/sqlbuild/commit/e692ce64e19a7156d5c1a6ff7a41b9401107e2e7))
40
+ * add Databricks Python UDF support ([849e759](https://github.com/chio-labs/sqlbuild/commit/849e759b5aa95c26c65e733d704e3f7057f7cf3a))
41
+ * add DuckDB adapter with full method coverage and remove unused ResolutionMixin ([57ec8d9](https://github.com/chio-labs/sqlbuild/commit/57ec8d97ad5a12d254c492c8ceccadde2797eb18))
42
+ * add e2e tests for all CLI commands and fix --project-dir relative database path resolution ([170b4b5](https://github.com/chio-labs/sqlbuild/commit/170b4b564c2e61462f12917b6a7b82fb37d4fbca))
43
+ * add environment diff command support ([c46fdca](https://github.com/chio-labs/sqlbuild/commit/c46fdca731bcfef3d30242c14337e7c76afd47b9))
44
+ * add executor build runtime stage 1 spec and validation enums, settings, audit severity/run_scope resolution, and non-incremental config guards ([70172f1](https://github.com/chio-labs/sqlbuild/commit/70172f160f3da29b9b7aa1ef882743e70f006d0f))
45
+ * add fingerprint storage with per-schema read/write and hash computation ([727b2d5](https://github.com/chio-labs/sqlbuild/commit/727b2d5857fa804035f5b9ff5ae815b911807278))
46
+ * add incremental executor with delta/DML lifecycle, schema change handling, and adapter DDL methods ([cf20aec](https://github.com/chio-labs/sqlbuild/commit/cf20aec008dd817599c313f6163a939dad10f203))
47
+ * add Layer 5 ref resolution with cursor bounds, source CAST wrapping, and batched snapshot gathering ([4bf9975](https://github.com/chio-labs/sqlbuild/commit/4bf9975a22c95845b4d864770f4f962802df9daf))
48
+ * add Layer 6 materialization strategy, plan output, and execution plan orchestration ([4061622](https://github.com/chio-labs/sqlbuild/commit/4061622247faced889fd5504264a54013f2c3672))
49
+ * add manifest writer module with dbt v12-compatible serialization ([32f20f2](https://github.com/chio-labs/sqlbuild/commit/32f20f2581edf2c72f8e99bfc7f33c5159059814))
50
+ * add max concurrency project setting ([43b3ab5](https://github.com/chio-labs/sqlbuild/commit/43b3ab5d598876d59774217a5b8eea53845cae24))
51
+ * add microbatch executor with sentinel substitution, cursor-range delete_insert, and batch splitting ([d1eb879](https://github.com/chio-labs/sqlbuild/commit/d1eb87987412ddb5ef3c42539514b2dcd6d2321c))
52
+ * add model target context to compile templates ([45db2e9](https://github.com/chio-labs/sqlbuild/commit/45db2e99ab8f41ab23c3d395d87259e9d55caedd))
53
+ * add on_progress callback to custom materialization context ([e717ff5](https://github.com/chio-labs/sqlbuild/commit/e717ff5a6b7b45808953ee12b7112866ff467fba))
54
+ * add optional sqlglot test projection parsing ([b75f9d7](https://github.com/chio-labs/sqlbuild/commit/b75f9d7581686b351fcc941c9e23f780ba0aaaa3))
55
+ * add path:folder selector resolution and --no-sql-validation CLI flag ([d6b3951](https://github.com/chio-labs/sqlbuild/commit/d6b39515e734d9cf699b3ee2071c881745b42959))
56
+ * add plan display before build execution and use_color support on plan formatter ([752bbad](https://github.com/chio-labs/sqlbuild/commit/752bbad4f6ee7a525f7cd41d540ea7846a85bba7))
57
+ * add planner graph helpers with topo sort, expansion, and path finding ([3fcab8e](https://github.com/chio-labs/sqlbuild/commit/3fcab8eb25de793c96dfc26d13a42246a6b62493))
58
+ * add planner-ready compiled resource models and dependency helpers ([fee76a9](https://github.com/chio-labs/sqlbuild/commit/fee76a97888988a0ec9e6c5ec11f1f098c003459))
59
+ * add project-local adapter discovery ([ea7d06d](https://github.com/chio-labs/sqlbuild/commit/ea7d06d45a4dc446ce8190f2f3a6cc6a4ffc2b58))
60
+ * add Python UDF support ([e9c8e22](https://github.com/chio-labs/sqlbuild/commit/e9c8e224b152653071a1f653501f1b9ba654cbe2))
61
+ * add query command ([c80a508](https://github.com/chio-labs/sqlbuild/commit/c80a508fcaec051a7aaff9a54f0002a090bba239))
62
+ * add query command ([ffe1435](https://github.com/chio-labs/sqlbuild/commit/ffe143545ffb0d8dab2ff77ef496601dc99d7ff3))
63
+ * add raw schema metadata discovery ([22811f8](https://github.com/chio-labs/sqlbuild/commit/22811f8eba52a603901025e82d11bfcca5e437e1))
64
+ * add raw source discovery parsing ([0ff1185](https://github.com/chio-labs/sqlbuild/commit/0ff11850d0d0184c8906f096f668b46eb15792b8))
65
+ * add raw sql audit discovery parsing ([e62b123](https://github.com/chio-labs/sqlbuild/commit/e62b1233d2f1cc66c513c3a07395cd4d72b1420a))
66
+ * add rich diff summary output ([9743b7b](https://github.com/chio-labs/sqlbuild/commit/9743b7b4fe06579d9a649979ef8a0b22b58a8fda))
67
+ * add runtime audit rendering with relation overrides, AuditOutcome enum, and AuditExecutionResult model ([8272844](https://github.com/chio-labs/sqlbuild/commit/82728445a5582a8d3270b6927d081a316027cc4b))
68
+ * add runtime SQL statement recorder ([f3e943e](https://github.com/chio-labs/sqlbuild/commit/f3e943ed33ca9697a042970b001d3fa7a224cbae))
69
+ * add safe janitor cleanup command ([ec1e02c](https://github.com/chio-labs/sqlbuild/commit/ec1e02ccfb89681a7ffa9b0820b50b8c2d125409))
70
+ * add seed target overrides ([4c89d0c](https://github.com/chio-labs/sqlbuild/commit/4c89d0ca21dcc0031a9047a5402090f4fea40689))
71
+ * add selector parsing and scope resolution with union, intersection, and exclude ([fe8a17b](https://github.com/chio-labs/sqlbuild/commit/fe8a17b6e13627335ecbe5e3b6d0a43f8aac4b76))
72
+ * add shared type normalization ([3a3103a](https://github.com/chio-labs/sqlbuild/commit/3a3103a22072686f10bf688b24328191dcbd6c18))
73
+ * add shared type normalization ([ac7d895](https://github.com/chio-labs/sqlbuild/commit/ac7d89533bdd0a0e873ebce77496fa626553c5fd))
74
+ * add snowflake adapter support ([0da4ecf](https://github.com/chio-labs/sqlbuild/commit/0da4ecf94528212b59262d640b40cfe23f5aac9a))
75
+ * add source quality metadata parsing ([6ec1e1e](https://github.com/chio-labs/sqlbuild/commit/6ec1e1e76834998e47fe83c094d580b5a59c1dd8))
76
+ * add sqb compile command with pipeline orchestration, target writer, and adapter defaults ([2446785](https://github.com/chio-labs/sqlbuild/commit/2446785ad6861c2286d027db6125f9aedc2def09))
77
+ * add sqb plan command with compact/verbose output, waffle_shop example, and seed ref fixes ([038314b](https://github.com/chio-labs/sqlbuild/commit/038314b788a5da3d15616cfc9d57a75d0ebfaf47))
78
+ * add SQL table functions ([52aaadd](https://github.com/chio-labs/sqlbuild/commit/52aaaddbc11b7017a0790f4742f70af789a41667))
79
+ * add SQL table functions ([d6e9a04](https://github.com/chio-labs/sqlbuild/commit/d6e9a0468bc8195e2117a1d8409614910b6d667f))
80
+ * add SQL UDF resources ([24149b0](https://github.com/chio-labs/sqlbuild/commit/24149b001c7cbe565fda2b66f521932a68f04158))
81
+ * add sql-style model headers ([7a80177](https://github.com/chio-labs/sqlbuild/commit/7a801779042dbd5ed18e2729ed695b4b123760de))
82
+ * add sqlbuild as an alias for sqb CLI entry point ([d69535e](https://github.com/chio-labs/sqlbuild/commit/d69535ed71738dc9150e60d8e3df089e43d6bf81))
83
+ * add sqlglot column inference for schema change detection with source attribution ([c68ef74](https://github.com/chio-labs/sqlbuild/commit/c68ef743c843ac144bd4494012d36043a530229d))
84
+ * add table executor with staged/direct lifecycle, type enforcement, audit execution, hooks, and fingerprint write ([36de9f2](https://github.com/chio-labs/sqlbuild/commit/36de9f27361b75138e7f294a65d9abc3de6bc1ca))
85
+ * add template expression helpers ([23b3a2b](https://github.com/chio-labs/sqlbuild/commit/23b3a2be6b4ffa18f1d71c18494f9c8042b33496))
86
+ * add transaction() context manager and transactional atomicity tests ([497b613](https://github.com/chio-labs/sqlbuild/commit/497b613d5349038b1079da919095cbc895c59af2))
87
+ * add type_enforcement flag to schema change detection for yml vs inferred precedence ([c97e8d3](https://github.com/chio-labs/sqlbuild/commit/c97e8d36638024694c15d5d57cebb17e8c7bc45e))
88
+ * add view executor, SQL unit test executor, and planner test ordering for Stage 8 ([38890d8](https://github.com/chio-labs/sqlbuild/commit/38890d89fce9b06baeff2087e09ec33815d353b3))
89
+ * add warehouse cursor type consistency check with heuristic and sqlglot classification ([0726216](https://github.com/chio-labs/sqlbuild/commit/0726216864c2707c61ced52ad077afaacb35896c))
90
+ * add warehouse snapshot gathering with bulk relation, column, and fingerprint reads ([c09e764](https://github.com/chio-labs/sqlbuild/commit/c09e764ae609e6ae7fe9963b02251d7583c16044))
91
+ * attach defaults and path defaults to compile model inputs ([8aec92c](https://github.com/chio-labs/sqlbuild/commit/8aec92c7fcbc0cd61e747efea1ce4abb366c0461))
92
+ * bootstrap repo and port convention checkers ([4967f63](https://github.com/chio-labs/sqlbuild/commit/4967f63fde8d68b1947f03988b63346ef9a73280))
93
+ * compile attached generic audits ([b619e53](https://github.com/chio-labs/sqlbuild/commit/b619e539e061f7d4df5b7a6b5af1dc0176b8f1c2))
94
+ * compile test and audit sql surfaces ([9482476](https://github.com/chio-labs/sqlbuild/commit/9482476fd72e54daf06e9fd027ce76e6b4c50272))
95
+ * default audits to delta and final ([25099c2](https://github.com/chio-labs/sqlbuild/commit/25099c2669679b683ad5fb1b0cba605504343a79))
96
+ * enforce typed source columns by default ([6d80f38](https://github.com/chio-labs/sqlbuild/commit/6d80f3898148b7667e6c388e0194e8fe440aae9e))
97
+ * enforce typed source columns by default ([4fd4e9b](https://github.com/chio-labs/sqlbuild/commit/4fd4e9b2d2fe03dc0017b435d9e1bc220ec85be6))
98
+ * expand compile templates in config layers ([f21b124](https://github.com/chio-labs/sqlbuild/commit/f21b124a2f1f7c822b4607fc41556180c47af97c))
99
+ * expand diff examples and samples ([884693f](https://github.com/chio-labs/sqlbuild/commit/884693f0c35da2ded25542dd797940870a516b71))
100
+ * expand discovery parsing and cli error handling ([69f23e2](https://github.com/chio-labs/sqlbuild/commit/69f23e2d34a029fa536e1b21047b8027ea756442))
101
+ * expand path selector endpoint syntax ([938ec22](https://github.com/chio-labs/sqlbuild/commit/938ec22979fdb9899b89450ddfc1e00bbb67db49))
102
+ * expand SQL UDF compile inputs ([9d6f2df](https://github.com/chio-labs/sqlbuild/commit/9d6f2df51a58c2f3b2209608af1c567548ed9242))
103
+ * extract logical sql references during compile ([01517e6](https://github.com/chio-labs/sqlbuild/commit/01517e6e8fee2c43cc735d5889b0b3c5990260d5))
104
+ * extract sql test cte semantics during compile ([65b789a](https://github.com/chio-labs/sqlbuild/commit/65b789a3290f842e616f40502c0e62d5eb9c6712))
105
+ * filter warehouse metadata by selected scope ([e10cd8a](https://github.com/chio-labs/sqlbuild/commit/e10cd8a3c26aab5c40bc8a32c522e7884a54663d))
106
+ * finish lifecycle event logging ([d907eb5](https://github.com/chio-labs/sqlbuild/commit/d907eb551b26b55df768716a9488246552bd97a7))
107
+ * guard unit test sql length ([7af7856](https://github.com/chio-labs/sqlbuild/commit/7af7856d0bd02cafc3f1d0cd4278abb6664fcdbc))
108
+ * improve chained sql test output ([2732950](https://github.com/chio-labs/sqlbuild/commit/273295085e52d4775bd879e53f5774edf1186625))
109
+ * make seed resources explicit ([f635894](https://github.com/chio-labs/sqlbuild/commit/f635894b5ea598b6271c8aaa9dcbabde50033e69))
110
+ * move model metadata into headers ([18d5481](https://github.com/chio-labs/sqlbuild/commit/18d54813b09d22c04112a19934041fc6920e619e))
111
+ * move model metadata into headers ([dd7f980](https://github.com/chio-labs/sqlbuild/commit/dd7f9808e37feef27585341fb8862ea4aff478dc))
112
+ * move statement recording into adapter write methods ([e2c6625](https://github.com/chio-labs/sqlbuild/commit/e2c66250bcc7c1f9665ab79d8eafddce0741e194))
113
+ * redesign plan formatter with grouped output, cascade display, microbatch labels, and enum-only domain strings ([08004cc](https://github.com/chio-labs/sqlbuild/commit/08004cc13f8986d9763724586c1b170acf203920))
114
+ * refine debug diagnostics output ([306506b](https://github.com/chio-labs/sqlbuild/commit/306506bcfac4635ed8de5d0bafc944395812217c))
115
+ * resolve compile environment and vars layering ([67931de](https://github.com/chio-labs/sqlbuild/commit/67931de95e403a175af5f64aedc203f97d6772b0))
116
+ * show delta/final audit phases with batch counts and aggregate microbatch audit results ([30bfde1](https://github.com/chio-labs/sqlbuild/commit/30bfde146d30bad70e3b976312d4f485d6e7f33c))
117
+ * show executed lifecycle SQL in verbose output ([509cc03](https://github.com/chio-labs/sqlbuild/commit/509cc039bc63d797b46efbcd67a78cd2147e2e7d))
118
+ * split early run context from target templates ([9b30f31](https://github.com/chio-labs/sqlbuild/commit/9b30f31572b489e1b08e72aa7e0fa9cae0229fe6))
119
+ * support double quoted model header strings ([5212d40](https://github.com/chio-labs/sqlbuild/commit/5212d40b299f26c5834d5dfb4d980fb0e1d714e6))
120
+ * support expression-backed sources ([2d8a693](https://github.com/chio-labs/sqlbuild/commit/2d8a69355a18ea48905568704e2af417fcf7f860))
121
+ * support local connection settings ([fa900cd](https://github.com/chio-labs/sqlbuild/commit/fa900cdcb08d24d8cf8ba3d34dba494596983c7a))
122
+ * support local environment overrides ([fd84b1e](https://github.com/chio-labs/sqlbuild/commit/fd84b1eced7b8f0e8a2dd8fe27b9bad4187a477c))
123
+ * support local environment overrides ([deeb521](https://github.com/chio-labs/sqlbuild/commit/deeb521993167a472480dd8a8080e178d4835d67))
124
+ * support seed mocks in SQL tests ([ddeea1c](https://github.com/chio-labs/sqlbuild/commit/ddeea1cc327375858604475146e6d1809ea794aa))
125
+ * support sql test macro mocks ([d4b7c84](https://github.com/chio-labs/sqlbuild/commit/d4b7c84c0990db71e2ec35b29f0beead1aa70e66))
126
+ * UNFINISHED (trying to introduce lifecycle events) ([aafbdba](https://github.com/chio-labs/sqlbuild/commit/aafbdba89b0130cafb3af4f8719c782fda1c08e1))
127
+ * use environment range for diff ([7abe590](https://github.com/chio-labs/sqlbuild/commit/7abe5901418580d732b461ac3dc63ea06718c917))
128
+ * use environment range for diff ([12b76ef](https://github.com/chio-labs/sqlbuild/commit/12b76ef00f3ff2a33eb4544a072f98410928368a))
129
+ * validate discovery conflicts and seed metadata ([9dd6622](https://github.com/chio-labs/sqlbuild/commit/9dd6622abe1ffb79ce7f226066e5b2e0438e3fbf))
130
+ * validate seed csv headers in discovery ([e2357a5](https://github.com/chio-labs/sqlbuild/commit/e2357a51d3fd2c80a6e33061445648ffadd808e8))
131
+ * wire CLI commands for build, run, test, audit, and seed ([4d82460](https://github.com/chio-labs/sqlbuild/commit/4d82460bfe9a8522c57321f674bda4145b539688))
132
+ * wire custom materialization loading through compile pipeline and add waffle shop example with e2e coverage ([dad1f75](https://github.com/chio-labs/sqlbuild/commit/dad1f75d79883e397431c3e786f8de89a8abc25d))
133
+ * write runtime SQL artifacts after build and run ([293a29c](https://github.com/chio-labs/sqlbuild/commit/293a29ce3b3d351d7cee60d84416487d6f24da78))
134
+
135
+
136
+ ### Bug Fixes
137
+
138
+ * align query fingerprint tracking ([a3307bc](https://github.com/chio-labs/sqlbuild/commit/a3307bc30885c0e1a43600b140b9d76ba502bb22))
139
+ * clarify audit failure messaging ([4c2a090](https://github.com/chio-labs/sqlbuild/commit/4c2a0909540111b9c67827f611b189f7419937e3))
140
+ * clarify CLI errors and DuckDB UDF fingerprints ([82921f9](https://github.com/chio-labs/sqlbuild/commit/82921f9423f975b0fd34d20601ee1a2648052d35))
141
+ * clarify CLI errors and DuckDB UDF fingerprints ([4d5801e](https://github.com/chio-labs/sqlbuild/commit/4d5801eeb1c99dc97044268dafef78b43959512a))
142
+ * coarsen mixed timestamp cursor replay ([a53901e](https://github.com/chio-labs/sqlbuild/commit/a53901eed994d2dc030c67e11b6c1848fe78b0e9))
143
+ * consolidate duplicate _get_materialization_type and add advanced custom materialization tests ([b9d3f9d](https://github.com/chio-labs/sqlbuild/commit/b9d3f9d987122484f26782060e167d0f999a1454))
144
+ * correct SKIP semantics, enforce incremental strategy, fix deferred cursor resolution ([bc7c344](https://github.com/chio-labs/sqlbuild/commit/bc7c3448b94618082ab0625bd4bd0eccd6a5de19))
145
+ * enforce cascade backfill planning ([fa18cbb](https://github.com/chio-labs/sqlbuild/commit/fa18cbbc9e03ac7ed33502d94dbb32f7e5050653))
146
+ * enforce cascade backfill planning ([214e294](https://github.com/chio-labs/sqlbuild/commit/214e29441ab972ab146475b8112de789f4eb7a29))
147
+ * handle runtime-owned cursor filters on first build ([e7b9202](https://github.com/chio-labs/sqlbuild/commit/e7b9202175cc0145735a9306237b8c041cfb4ad6))
148
+ * harden microbatch full-refresh execution ([43aa3fc](https://github.com/chio-labs/sqlbuild/commit/43aa3fca70b26fc6878f03040a5ccad52d7e4ef9))
149
+ * improve CLI output formatting and add Execution section header ([f3a67f3](https://github.com/chio-labs/sqlbuild/commit/f3a67f33864cddb4673a02b35cde9ee4a645cb49))
150
+ * improve plan/execution CLI output visual hierarchy and spacing ([eb1b0ed](https://github.com/chio-labs/sqlbuild/commit/eb1b0edcff08543328b22a7a135460870900d87f))
151
+ * improve standalone audit and test output with model grouping and consistent header styling ([c0475ae](https://github.com/chio-labs/sqlbuild/commit/c0475aec81f58e29592e5254e7c28f179512dc16))
152
+ * improve warehouse planning feedback ([70fc2a4](https://github.com/chio-labs/sqlbuild/commit/70fc2a46a0f3d2ebdd62611a87741142a1ef43a5))
153
+ * improve warehouse planning feedback ([17dd900](https://github.com/chio-labs/sqlbuild/commit/17dd90029a297d4d5df5e7518e7f22ffeb9897fb))
154
+ * indent audit and test sub-lines for clearer visual nesting under parent model ([bf2a2c7](https://github.com/chio-labs/sqlbuild/commit/bf2a2c7814fae9aa2e7a10b83964a81412e81db7))
155
+ * polish plan selectors and runtime artifacts ([f2f0633](https://github.com/chio-labs/sqlbuild/commit/f2f0633da597634a6a33863635adcc1a2f76345e))
156
+ * propagate UDF definition changes ([5e87a9c](https://github.com/chio-labs/sqlbuild/commit/5e87a9c08d105d47f44bf226f81497d7c3d77470))
157
+ * propagate UDF definition changes ([12e2125](https://github.com/chio-labs/sqlbuild/commit/12e2125296dff4cf009a1e3af86424f7e194b591))
158
+ * refine query change warning behavior ([6c2a193](https://github.com/chio-labs/sqlbuild/commit/6c2a19383ae04847fad1586cf6797d6eb4f5f736))
159
+ * refresh latest tracked partition ([9ff283e](https://github.com/chio-labs/sqlbuild/commit/9ff283e60faff82878098f690c4c7d46b883a630))
160
+ * reject unsupported dbt refs ([4717d3b](https://github.com/chio-labs/sqlbuild/commit/4717d3ba301af8079b08e04bf4b863a412b1789b))
161
+ * remove dead test helpers, deduplicate write_repo_files into shared fixture, and strengthen ast hash test ([e5daeb2](https://github.com/chio-labs/sqlbuild/commit/e5daeb245b0f1233270153cf1e0a035389940f87))
162
+ * resolve model-backed cursor inputs at runtime ([423f9ff](https://github.com/chio-labs/sqlbuild/commit/423f9ff442457e51095dbec98f1580b9c2f7cbb7))
163
+ * scope snowflake test markers ([9ee43c2](https://github.com/chio-labs/sqlbuild/commit/9ee43c2ff0b71b74df887337ff6853c3c64d3ce5))
164
+ * show incremental strategy annotation on full-refresh build output ([288d8c2](https://github.com/chio-labs/sqlbuild/commit/288d8c2788a1007fb64397cd1113f0c98b38f9f2))
165
+ * show model count in audit and test command headers ([f528515](https://github.com/chio-labs/sqlbuild/commit/f528515ba1fe0562e2ef0a662594fb2d68d4b927))
166
+ * show seed failures and default quotechar ([cabd72c](https://github.com/chio-labs/sqlbuild/commit/cabd72c6dc78320d1dfe8546633d9c1f55704bcd))
167
+ * stabilize SQL tests with Snowflake UDFs ([239fa16](https://github.com/chio-labs/sqlbuild/commit/239fa16786dc45737b15e637e824d2d74e0cbf87))
168
+ * tighten config validation ([6adc4c2](https://github.com/chio-labs/sqlbuild/commit/6adc4c23ade8cc1613701866badbb41e0c26ab6b))
169
+ * use BigQuery copy promotion ([a4ccff9](https://github.com/chio-labs/sqlbuild/commit/a4ccff94258dbd7503ecb1b4039045e74e3d8c50))
170
+ * use BigQuery copy promotion ([386deb4](https://github.com/chio-labs/sqlbuild/commit/386deb49ebbbf625f55847dac0ca63b48240ae3f))
171
+ * use BigQuery MERGE for delete insert ([a0d1283](https://github.com/chio-labs/sqlbuild/commit/a0d12838dfc8165279b83e4103939e4e648c23dd))
172
+ * use BigQuery MERGE for delete insert ([da62a51](https://github.com/chio-labs/sqlbuild/commit/da62a51af74dc93ab8c5679572b663b56039a94b))
173
+ * use dynamic column widths in build progress output for better terminal usage ([0c89ad0](https://github.com/chio-labs/sqlbuild/commit/0c89ad002a596d174c3125b66296f277e326dee0))
174
+ * validate cursor input names ([ec1a97a](https://github.com/chio-labs/sqlbuild/commit/ec1a97ab2d284eba42dbce91a6418970d9e31e48))
175
+ * validate declared inline source columns ([6969e03](https://github.com/chio-labs/sqlbuild/commit/6969e039d202bbab76fd6ed2267bf94f55bcb528))
176
+ * validate declared inline source columns ([da58065](https://github.com/chio-labs/sqlbuild/commit/da58065da0bbb6b6de5fa225772fca1f9978246e))
177
+ * validate hook sql at compile time ([6c370d1](https://github.com/chio-labs/sqlbuild/commit/6c370d1f51a5702295c5be7a3f7e59c877baee09))
178
+ * validate relation source metadata columns ([a0ed2c0](https://github.com/chio-labs/sqlbuild/commit/a0ed2c015421db8641143cb6761b70ab5c7941d2))
179
+ * wrap multi-statement DML in transactions for atomicity ([884bfbc](https://github.com/chio-labs/sqlbuild/commit/884bfbcfbf2cc7e639b1e8dc58cb960baefc567e))
180
+
181
+
182
+ ### Documentation
183
+
184
+ * add project logo ([5e629c7](https://github.com/chio-labs/sqlbuild/commit/5e629c726fd637937800a0533f3959a04471e724))
185
+ * capture runtime SQL recording plan ([935e2d3](https://github.com/chio-labs/sqlbuild/commit/935e2d3cd557b9bd68fd0830d3c1fb5a802b8c36))
186
+ * enlarge README logo ([e6daafb](https://github.com/chio-labs/sqlbuild/commit/e6daafbc78cfb4306514760bd99cd0f50dfba27b))
187
+ * expand project README ([968b5f9](https://github.com/chio-labs/sqlbuild/commit/968b5f9bb905c9554af777d8a2312b67f5f00b2c))
188
+ * update feature overview ([607da90](https://github.com/chio-labs/sqlbuild/commit/607da901837f0dccbb5060f294b14d487da2408b))
189
+ * update README logo asset ([cce1d12](https://github.com/chio-labs/sqlbuild/commit/cce1d12df7289fcde8a7da42ae1f606ea206a0cd))
190
+ * update README positioning ([89fea65](https://github.com/chio-labs/sqlbuild/commit/89fea658c15dbd84450b554fed6bea163dfbbbfc))
191
+ * update README positioning ([832153e](https://github.com/chio-labs/sqlbuild/commit/832153e0bebbdbcade455c8d45a628a3f9bee923))
192
+
193
+ ## Changelog
194
+
195
+ Release notes are managed by release-please.