API Reference
Complete API documentation for clgraph - SQL column lineage analysis and pipeline orchestration.
Quick Start
# Trace lineage - find source columns
sources = pipeline.trace_column_backward("analytics.customer_metrics", "total_amount")
print(f"Source columns: {sources}")
# Forward impact analysis
impacts = pipeline.trace_column_forward("raw.orders", "amount")
print(f"Impacted columns: {impacts}")
# Export to JSON
data = pipeline.to_json()
print(f"Exported {len(data['columns'])} columns")
Core Classes
Pipeline
The main entry point for all lineage operations.
- Pipeline - Create pipelines, trace lineage, manage metadata, execute queries
Lineage
Classes for understanding data flow.
- PipelineLineageGraph - Column-level lineage graph for pipelines
- ColumnNode - Unified column metadata
- ColumnEdge - Lineage relationships
- TableDependencyGraph - Table-level dependencies
- TableNode - Table metadata
- SQLColumnTracer - Single-query column lineage (advanced)
Validation
Classes for SQL quality validation.
- ValidationIssue - Validation issue details
- IssueSeverity - Error, warning, info levels
- IssueCategory - Issue categorization
Export
Export lineage data to various formats.
- JSONExporter - Export to JSON
- CSVExporter - Export to CSV
Visualization
Create GraphViz visualizations.
- Visualization API - Full visualization function reference
- visualize_pipeline_lineage - Multi-query column lineage
- visualize_table_dependencies - Table-level DAG
- visualize_lineage_path - Traced lineage path
Comparison
Track changes between pipeline versions.
- PipelineDiff - Compare pipelines
- ColumnDiff - Individual column changes
LLM-Powered Features
Natural language interfaces and AI-powered tools.
- LineageAgent - Natural language interface to lineage
- Lineage Tools - Building blocks for lineage operations
- GenerateSQLTool - Text-to-SQL generation
- ExplainQueryTool - SQL explanation
Common Imports
from clgraph import (
# Main entry point
Pipeline,
# Single-query lineage
SQLColumnTracer,
# Export formats
JSONExporter,
CSVExporter,
# Visualization functions
visualize_pipeline_lineage,
visualize_table_dependencies,
visualize_lineage_path,
)
# LLM features
from clgraph.agent import LineageAgent
from clgraph.tools import (
TraceBackwardTool,
TraceForwardTool,
ListTablesTool,
GenerateSQLTool, # Requires LLM
)
SQL Dialects
clgraph supports multiple SQL dialects via sqlglot: