sql-glider 0.1.24__tar.gz → 0.1.25__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 (165) hide show
  1. {sql_glider-0.1.24 → sql_glider-0.1.25}/PKG-INFO +1 -1
  2. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/docs/graph-lineage.md +4 -0
  3. sql_glider-0.1.25/docs/docs/static/plotly-dash-example.png +0 -0
  4. {sql_glider-0.1.24 → sql_glider-0.1.25}/examples/plotly_viewer.py +12 -3
  5. sql_glider-0.1.25/graph.json +5319 -0
  6. sql_glider-0.1.25/lineage.json +0 -0
  7. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/_version.py +2 -2
  8. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/cli.py +1 -1
  9. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/diagram_formatters.py +106 -26
  10. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_diagram_formatters.py +101 -17
  11. {sql_glider-0.1.24 → sql_glider-0.1.25}/.github/workflows/ci.yml +0 -0
  12. {sql_glider-0.1.24 → sql_glider-0.1.25}/.github/workflows/docs.yml +0 -0
  13. {sql_glider-0.1.24 → sql_glider-0.1.25}/.github/workflows/publish.yml +0 -0
  14. {sql_glider-0.1.24 → sql_glider-0.1.25}/.gitignore +0 -0
  15. {sql_glider-0.1.24 → sql_glider-0.1.25}/.python-version +0 -0
  16. {sql_glider-0.1.24 → sql_glider-0.1.25}/ARCHITECTURE.md +0 -0
  17. {sql_glider-0.1.24 → sql_glider-0.1.25}/CLAUDE.md +0 -0
  18. {sql_glider-0.1.24 → sql_glider-0.1.25}/LICENSE +0 -0
  19. {sql_glider-0.1.24 → sql_glider-0.1.25}/README.md +0 -0
  20. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/.github/workflows/docs.yml +0 -0
  21. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/docs/catalogs.md +0 -0
  22. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/docs/index.md +0 -0
  23. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/docs/static/sqlglider-logo-transparent.png +0 -0
  24. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/docs/templating.md +0 -0
  25. {sql_glider-0.1.24 → sql_glider-0.1.25}/docs/zensical.toml +0 -0
  26. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-05-column-level-lineage.md +0 -0
  27. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-05-reverse-lineage.md +0 -0
  28. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-06-config-file-support.md +0 -0
  29. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-06-graph-lineage.md +0 -0
  30. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-06-unify-single-multi-query.md +0 -0
  31. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-07-sample-data-model.md +0 -0
  32. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-07-sql-templating.md +0 -0
  33. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-08-tables-command.md +0 -0
  34. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-09-graph-query-paths.md +0 -0
  35. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-13-dissect-command.md +0 -0
  36. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2025-12-14-tables-pull-command.md +0 -0
  37. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-25-fix-union-lineage-chain.md +0 -0
  38. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-26-file-scoped-schema-context.md +0 -0
  39. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-28-sparksql-table-extraction.md +0 -0
  40. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-29-no-star-flag.md +0 -0
  41. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-29-resolve-schema.md +0 -0
  42. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-29-schema-pruning-optimization.md +0 -0
  43. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-01-29-tables-scrape-command.md +0 -0
  44. {sql_glider-0.1.24 → sql_glider-0.1.25}/plans/2026-02-02-diagram-output-formats.md +0 -0
  45. {sql_glider-0.1.24 → sql_glider-0.1.25}/pyproject.toml +0 -0
  46. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/README.md +0 -0
  47. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/expire_dim_customer.sql +0 -0
  48. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/load_fact_orders.sql +0 -0
  49. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/load_fact_payments.sql +0 -0
  50. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/merge_dim_customer.sql +0 -0
  51. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/merge_dim_product.sql +0 -0
  52. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/business/update_dim_customer_metrics.sql +0 -0
  53. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/complex/conditional_merge.sql +0 -0
  54. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/complex/cte_insert.sql +0 -0
  55. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/complex/multi_table_transform.sql +0 -0
  56. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/dim_customer.sql +0 -0
  57. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/dim_product.sql +0 -0
  58. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/fact_orders.sql +0 -0
  59. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/fact_payments.sql +0 -0
  60. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_addresses.sql +0 -0
  61. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_customers.sql +0 -0
  62. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_order_items.sql +0 -0
  63. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_orders.sql +0 -0
  64. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_payments.sql +0 -0
  65. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/raw_products.sql +0 -0
  66. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/stg_customers.sql +0 -0
  67. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/stg_orders.sql +0 -0
  68. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/stg_payments.sql +0 -0
  69. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/ddl/stg_products.sql +0 -0
  70. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/incremental/incr_fact_orders.sql +0 -0
  71. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/incremental/incr_fact_payments.sql +0 -0
  72. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/incremental/incr_pres_sales_summary.sql +0 -0
  73. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/maintenance/delete_expired_customers.sql +0 -0
  74. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/maintenance/update_product_status.sql +0 -0
  75. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/presentation/load_pres_customer_360.sql +0 -0
  76. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/presentation/load_pres_customer_cohort.sql +0 -0
  77. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/presentation/load_pres_product_performance.sql +0 -0
  78. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/presentation/load_pres_sales_summary.sql +0 -0
  79. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/staging/load_stg_customers.sql +0 -0
  80. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/staging/load_stg_orders.sql +0 -0
  81. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/staging/load_stg_payments.sql +0 -0
  82. {sql_glider-0.1.24 → sql_glider-0.1.25}/sample_data_model/staging/load_stg_products.sql +0 -0
  83. {sql_glider-0.1.24 → sql_glider-0.1.25}/sqlglider.toml.example +0 -0
  84. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/__init__.py +0 -0
  85. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/catalog/__init__.py +0 -0
  86. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/catalog/base.py +0 -0
  87. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/catalog/databricks.py +0 -0
  88. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/catalog/registry.py +0 -0
  89. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/dissection/__init__.py +0 -0
  90. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/dissection/analyzer.py +0 -0
  91. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/dissection/formatters.py +0 -0
  92. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/dissection/models.py +0 -0
  93. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/global_models.py +0 -0
  94. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/__init__.py +0 -0
  95. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/builder.py +0 -0
  96. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/formatters.py +0 -0
  97. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/merge.py +0 -0
  98. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/models.py +0 -0
  99. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/query.py +0 -0
  100. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/graph/serialization.py +0 -0
  101. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/lineage/__init__.py +0 -0
  102. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/lineage/analyzer.py +0 -0
  103. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/lineage/formatters.py +0 -0
  104. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/schema/__init__.py +0 -0
  105. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/schema/extractor.py +0 -0
  106. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/templating/__init__.py +0 -0
  107. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/templating/base.py +0 -0
  108. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/templating/jinja.py +0 -0
  109. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/templating/registry.py +0 -0
  110. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/templating/variables.py +0 -0
  111. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/utils/__init__.py +0 -0
  112. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/utils/config.py +0 -0
  113. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/utils/file_utils.py +0 -0
  114. {sql_glider-0.1.24 → sql_glider-0.1.25}/src/sqlglider/utils/schema.py +0 -0
  115. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/__init__.py +0 -0
  116. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/analytics_pipeline.sql +0 -0
  117. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/analytics_pipeline_union_merge.sql +0 -0
  118. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/customers.sql +0 -0
  119. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/orders.sql +0 -0
  120. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/reports.sql +0 -0
  121. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/multi_file_queries/view_based_merge.sql +0 -0
  122. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_cte.sql +0 -0
  123. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_cte_query.sql +0 -0
  124. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_cte_view_star.sql +0 -0
  125. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_generated_column_query.sql +0 -0
  126. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_multi.sql +0 -0
  127. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_multi_query.sql +0 -0
  128. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_single_query.sql +0 -0
  129. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_subquery.sql +0 -0
  130. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_tables.sql +0 -0
  131. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_view.sql +0 -0
  132. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/original_queries/test_view_window_cte.sql +0 -0
  133. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/fixtures/sample_manifest.csv +0 -0
  134. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/__init__.py +0 -0
  135. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/catalog/__init__.py +0 -0
  136. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/catalog/test_base.py +0 -0
  137. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/catalog/test_databricks.py +0 -0
  138. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/catalog/test_registry.py +0 -0
  139. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/dissection/__init__.py +0 -0
  140. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/dissection/test_analyzer.py +0 -0
  141. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/dissection/test_formatters.py +0 -0
  142. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/dissection/test_models.py +0 -0
  143. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/__init__.py +0 -0
  144. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_builder.py +0 -0
  145. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_formatters.py +0 -0
  146. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_merge.py +0 -0
  147. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_models.py +0 -0
  148. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_query.py +0 -0
  149. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/graph/test_serialization.py +0 -0
  150. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/lineage/__init__.py +0 -0
  151. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/lineage/test_analyzer.py +0 -0
  152. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/lineage/test_formatters.py +0 -0
  153. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/schema/__init__.py +0 -0
  154. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/schema/test_extractor.py +0 -0
  155. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/templating/__init__.py +0 -0
  156. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/templating/test_base.py +0 -0
  157. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/templating/test_jinja.py +0 -0
  158. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/templating/test_registry.py +0 -0
  159. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/templating/test_variables.py +0 -0
  160. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/test_cli.py +0 -0
  161. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/utils/__init__.py +0 -0
  162. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/utils/test_config.py +0 -0
  163. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/utils/test_file_utils.py +0 -0
  164. {sql_glider-0.1.24 → sql_glider-0.1.25}/tests/sqlglider/utils/test_schema.py +0 -0
  165. {sql_glider-0.1.24 → sql_glider-0.1.25}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-glider
3
- Version: 0.1.24
3
+ Version: 0.1.25
4
4
  Summary: SQL Utility Toolkit for better understanding, use, and governance of your queries in a native environment.
5
5
  Project-URL: Homepage, https://github.com/rycowhi/sql-glider/
6
6
  Project-URL: Repository, https://github.com/rycowhi/sql-glider/
@@ -356,6 +356,10 @@ The Plotly output uses the same color scheme as Mermaid and DOT diagrams:
356
356
  | Teal | Root node (no upstream dependencies) |
357
357
  | Violet | Leaf node (no downstream consumers) |
358
358
 
359
+ See an example of a plot loaded into Dash below:
360
+
361
+ ![Plotly-Dash Example](./static/plotly-dash-example.png)
362
+
359
363
  ### Rendering Diagrams
360
364
 
361
365
  **Mermaid:**
@@ -33,13 +33,19 @@ def load_figure(source: str | Path | None = None) -> dict:
33
33
  # Read from stdin
34
34
  if sys.stdin.isatty():
35
35
  print("Usage: python plotly_viewer.py <lineage.json>", file=sys.stderr)
36
- print(" or: sqlglider graph visualize graph.json -f plotly | python plotly_viewer.py", file=sys.stderr)
36
+ print(
37
+ " or: sqlglider graph visualize graph.json -f plotly | python plotly_viewer.py",
38
+ file=sys.stderr,
39
+ )
37
40
  sys.exit(1)
38
41
  content = sys.stdin.read()
39
42
  if not content.strip():
40
43
  print("Error: No input received from stdin", file=sys.stderr)
41
44
  print("Note: On Windows, piping may not work reliably.", file=sys.stderr)
42
- print("Try: sqlglider graph query ... -f plotly -o output.json", file=sys.stderr)
45
+ print(
46
+ "Try: sqlglider graph query ... -f plotly -o output.json",
47
+ file=sys.stderr,
48
+ )
43
49
  print("Then: python plotly_viewer.py output.json", file=sys.stderr)
44
50
  sys.exit(1)
45
51
  else:
@@ -55,7 +61,10 @@ def load_figure(source: str | Path | None = None) -> dict:
55
61
  except UnicodeDecodeError:
56
62
  continue
57
63
  else:
58
- print(f"Error: Could not decode file with UTF-8 or UTF-16 encoding", file=sys.stderr)
64
+ print(
65
+ "Error: Could not decode file with UTF-8 or UTF-16 encoding",
66
+ file=sys.stderr,
67
+ )
59
68
  sys.exit(1)
60
69
 
61
70
  try: