GitPedia

Dbt column lineage

Open-source Column-level Lineage & Impact Analysis for dbt. Visualize dependencies and refactor with confidence. Powered by SQLGlot

From FsztaยทUpdated May 28, 2026ยทView on GitHubยท

๐Ÿ“– **[Documentation](https://fszta.github.io/dbt-column-lineage/)** | ๐Ÿš€ [Live Demo](https://dbt-column-lineage.onrender.com) | ๐Ÿ› [Report Bug](https://github.com/Fszta/dbt-column-lineage/issues) | ๐Ÿ’ก [Request Feature](https://github.com/Fszta/dbt-column-lineage/issues) The project is written primarily in Python, distributed under the MIT License license, first published in 2025. Key topics include: change-management, column-lineage, dbt, impact-analysis, lineage.

Latest release: v0.8.0โ€” Release v0.8.0
November 30, 2025View Changelog โ†’

DBT Column Lineage

Tests
PyPI Downloads
Python Version
License

๐Ÿ“– Documentation | ๐Ÿš€ Live Demo | ๐Ÿ› Report Bug | ๐Ÿ’ก Request Feature

Overview

Understand the impact of column changes before you make them. DBT Column Lineage provides impact analysis & column lineage to help you answer critical questions: What happens if I change this column? Which models, transformations, and exposures will be affected? Does it use complex business logic, or is this column only projected?

The core idea behind this project: be more comfortable when making changes on a large project by knowing the impact.

Key Features:

  • Impact Analysis: Understand downstream effects of column changes, including affected models, transformations, and exposures
  • Interactive Explorer: A local web server with an intuitive UI to explore model and column lineage visually, including associated transformations

DBT Column Lineage Demo - Concept

Installation

bash
pip install dbt-col-lineage

Usage

First, ensure your dbt project is compiled and you have generated the catalog:

bash
dbt compile dbt docs generate

Interactive Explorer

Start the interactive web interface to explore lineage and perform impact analysis:

bash
dbt-col-lineage --explore \ --manifest path/to/manifest.json \ --catalog path/to/catalog.json \ --port 8080 # Optional port selection

This starts a server (defaulting to port 8000). Open your web browser to the specified address (e.g., http://127.0.0.1:8080).

Workflow:

  1. Select a model and column from the sidebar to visualize its lineage
  2. Click "Analyze Impact" to see which models, transformations, and exposures will be affected if you change that column
  3. Review the impact analysis panel showing:
    • Columns that require review (with transformations that may break)
    • Pass-through columns (direct references)
    • Affected models in the dependency chain
    • Affected exposures

Options

  • --explore: Starts the interactive web server for exploring lineage and impact analysis
  • --catalog: Path to the dbt catalog file (default: target/catalog.json)
  • --manifest: Path to the dbt manifest file (default: target/manifest.json)
  • --port, -p: Port for the interactive web server (default: 8000)
  • --adapter: Override the SQL dialect used by the parser (sqlglot dialect name, e.g., tsql, snowflake, bigquery). When provided, this overrides the adapter detected from the dbt manifest.

Limitations

  • Doesn't support python models
  • Some functions/syntax cannot be parsed properly, leading to models being skipped

Compatibility

The tool has been tested with the following dbt adapters:

  • Snowflake
  • SQLite
  • DuckDB
  • MS SQLServer / TSQL

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub โ†’

This article is auto-generated from Fszta/dbt-column-lineage via the GitHub API.Last fetched: 6/28/2026