sql-dag-flow 0.5.0__tar.gz → 0.5.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 (22) hide show
  1. {sql_dag_flow-0.5.0/src/sql_dag_flow.egg-info → sql_dag_flow-0.5.1}/PKG-INFO +3 -2
  2. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/README.md +2 -1
  3. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/pyproject.toml +1 -1
  4. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/parser.py +11 -7
  5. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1/src/sql_dag_flow.egg-info}/PKG-INFO +3 -2
  6. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/LICENSE +0 -0
  7. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/MANIFEST.in +0 -0
  8. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/setup.cfg +0 -0
  9. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/__init__.py +0 -0
  10. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/main.py +0 -0
  11. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/static/assets/index-BM6GPh_j.css +0 -0
  12. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/static/assets/index-ZylJfG6u.js +0 -0
  13. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/static/index.html +0 -0
  14. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/static/vite.svg +0 -0
  15. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/test_api_endpoints.py +0 -0
  16. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/test_parser.py +0 -0
  17. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow/verify_counts.py +0 -0
  18. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow.egg-info/SOURCES.txt +0 -0
  19. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow.egg-info/dependency_links.txt +0 -0
  20. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow.egg-info/entry_points.txt +0 -0
  21. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow.egg-info/requires.txt +0 -0
  22. {sql_dag_flow-0.5.0 → sql_dag_flow-0.5.1}/src/sql_dag_flow.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-dag-flow
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: A sophisticated SQL lineage visualization tool for Medallion Architectures.
5
5
  Author-email: Flavio Sandoval <dsandovalflavio@gmail.com>
6
6
  License: MIT
@@ -98,6 +98,7 @@ Specially optimized for the **Medallion Architecture** (Bronze, Silver, Gold) an
98
98
  * **Schema Extraction**: Backend AST-based extraction via `sqlglot` handles DDL, CTAS, `CREATE VIEW AS`, CTEs, window functions, CASE expressions, and `SELECT *`.
99
99
  * **Column-Level Lineage (New in v0.4.9 🆕)**: Traces how each output column derives from source columns. Shows transformation chain (e.g., `order_timestamp ← orders_raw.order_date via CAST(... AS DATETIME)`).
100
100
  * **SQL Syntax Validation (New in v0.4.9 🆕)**: Detects SQL parse errors and displays structured warnings with line/column references. Shows ⚠️ badge on nodes with syntax issues.
101
+ * **Large DAG Support & Safe Cycle Detection (New in v0.5.1 🚀)**: Optimized cycle detection algorithm prevents backend hanging and "Failed to fetch" browser errors when analyzing massive projects (50+ nodes). Employs quick DAG verifications and bounded iterator loops.
101
102
  * **Batch Hide from Toolbar**: Select multiple nodes → click "Hide" in the selection toolbar to hide them all at once.
102
103
  * **Discovery Mode Fix**: Ghost nodes from Discovery Mode are now hidden when their connected source nodes are hidden, preventing orphan ghost nodes.
103
104
 
@@ -144,7 +145,7 @@ Install easily via `pip`:
144
145
  pip install sql-dag-flow
145
146
  ```
146
147
 
147
- To update to the latest version (**v0.4.9**):
148
+ To update to the latest version (**v0.5.1**):
148
149
 
149
150
  ```bash
150
151
  pip install --upgrade sql-dag-flow
@@ -73,6 +73,7 @@ Specially optimized for the **Medallion Architecture** (Bronze, Silver, Gold) an
73
73
  * **Schema Extraction**: Backend AST-based extraction via `sqlglot` handles DDL, CTAS, `CREATE VIEW AS`, CTEs, window functions, CASE expressions, and `SELECT *`.
74
74
  * **Column-Level Lineage (New in v0.4.9 🆕)**: Traces how each output column derives from source columns. Shows transformation chain (e.g., `order_timestamp ← orders_raw.order_date via CAST(... AS DATETIME)`).
75
75
  * **SQL Syntax Validation (New in v0.4.9 🆕)**: Detects SQL parse errors and displays structured warnings with line/column references. Shows ⚠️ badge on nodes with syntax issues.
76
+ * **Large DAG Support & Safe Cycle Detection (New in v0.5.1 🚀)**: Optimized cycle detection algorithm prevents backend hanging and "Failed to fetch" browser errors when analyzing massive projects (50+ nodes). Employs quick DAG verifications and bounded iterator loops.
76
77
  * **Batch Hide from Toolbar**: Select multiple nodes → click "Hide" in the selection toolbar to hide them all at once.
77
78
  * **Discovery Mode Fix**: Ghost nodes from Discovery Mode are now hidden when their connected source nodes are hidden, preventing orphan ghost nodes.
78
79
 
@@ -119,7 +120,7 @@ Install easily via `pip`:
119
120
  pip install sql-dag-flow
120
121
  ```
121
122
 
122
- To update to the latest version (**v0.4.9**):
123
+ To update to the latest version (**v0.5.1**):
123
124
 
124
125
  ```bash
125
126
  pip install --upgrade sql-dag-flow
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sql-dag-flow"
7
- version = "0.5.0"
7
+ version = "0.5.1"
8
8
  description = "A sophisticated SQL lineage visualization tool for Medallion Architectures."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -961,13 +961,17 @@ def build_graph(tables, discovery_mode=False, expanded_nodes=None):
961
961
  # ===== Cycle Detection =====
962
962
  cycles = []
963
963
  try:
964
- raw_cycles = list(nx.simple_cycles(G))
965
- for cycle in raw_cycles:
966
- cycle_labels = []
967
- for nid in cycle:
968
- label = all_nodes_data.get(nid, {}).get("label", nid)
969
- cycle_labels.append({"id": nid, "label": label})
970
- cycles.append(cycle_labels)
964
+ # Check if DAG first, as simple_cycles can take exponential time on large graphs
965
+ if not nx.is_directed_acyclic_graph(G):
966
+ cycle_iter = nx.simple_cycles(G)
967
+ for i, cycle in enumerate(cycle_iter):
968
+ if i >= 20: # Cap at 20 cycles to prevent UI freezes & Memory/CPU overload
969
+ break
970
+ cycle_labels = []
971
+ for nid in cycle:
972
+ label = all_nodes_data.get(nid, {}).get("label", nid)
973
+ cycle_labels.append({"id": nid, "label": label})
974
+ cycles.append(cycle_labels)
971
975
  except Exception:
972
976
  pass
973
977
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-dag-flow
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: A sophisticated SQL lineage visualization tool for Medallion Architectures.
5
5
  Author-email: Flavio Sandoval <dsandovalflavio@gmail.com>
6
6
  License: MIT
@@ -98,6 +98,7 @@ Specially optimized for the **Medallion Architecture** (Bronze, Silver, Gold) an
98
98
  * **Schema Extraction**: Backend AST-based extraction via `sqlglot` handles DDL, CTAS, `CREATE VIEW AS`, CTEs, window functions, CASE expressions, and `SELECT *`.
99
99
  * **Column-Level Lineage (New in v0.4.9 🆕)**: Traces how each output column derives from source columns. Shows transformation chain (e.g., `order_timestamp ← orders_raw.order_date via CAST(... AS DATETIME)`).
100
100
  * **SQL Syntax Validation (New in v0.4.9 🆕)**: Detects SQL parse errors and displays structured warnings with line/column references. Shows ⚠️ badge on nodes with syntax issues.
101
+ * **Large DAG Support & Safe Cycle Detection (New in v0.5.1 🚀)**: Optimized cycle detection algorithm prevents backend hanging and "Failed to fetch" browser errors when analyzing massive projects (50+ nodes). Employs quick DAG verifications and bounded iterator loops.
101
102
  * **Batch Hide from Toolbar**: Select multiple nodes → click "Hide" in the selection toolbar to hide them all at once.
102
103
  * **Discovery Mode Fix**: Ghost nodes from Discovery Mode are now hidden when their connected source nodes are hidden, preventing orphan ghost nodes.
103
104
 
@@ -144,7 +145,7 @@ Install easily via `pip`:
144
145
  pip install sql-dag-flow
145
146
  ```
146
147
 
147
- To update to the latest version (**v0.4.9**):
148
+ To update to the latest version (**v0.5.1**):
148
149
 
149
150
  ```bash
150
151
  pip install --upgrade sql-dag-flow
File without changes
File without changes
File without changes