Skip to main content

Visualize Dataform table dependencies as interactive SVG diagrams

Project description

Dataform Dependency Visualizer

Generate beautiful, interactive SVG diagrams showing dependencies between Dataform tables.

Features

  • 📊 Individual table diagrams - One SVG per table showing immediate dependencies
  • 🎨 Color-coded by type - Tables, views, and operations visually distinct
  • 🔍 Master index viewer - Browse all tables in single interface
  • 📁 Schema organization - Organized by schema with collapsible sections
  • Pure Python SVGs - No Graphviz required
  • 🎯 Orthogonal routing - Clean, professional arrow paths
  • 📝 Smart text wrapping - Long table names split across lines

Installation

pip install dataform-dependency-visualizer

Quick Start

1. Generate dependency report

In your Dataform project directory:

dataform compile --json > dependencies_report.txt

2. Generate SVG diagrams

# Generate for specific schema
dataform-deps generate dashboard_wwim

# Generate for all schemas (excluding refined_*)
dataform-deps generate-all

# Generate master index
dataform-deps index

3. View diagrams

Open output/dependencies_master_index.html in your browser to browse all tables and their dependencies.

Usage

Command Line

Generate diagrams for a specific schema:

dataform-deps generate SCHEMA_NAME

Example:

dataform-deps generate dashboard_wwim

Generate for all schemas:

dataform-deps generate-all

By default, schemas starting with refined_ are excluded. To include them:

dataform-deps generate-all --include-refined

Generate master index:

dataform-deps index

Creates output/dependencies_master_index.html with links to all tables.

Check prerequisites:

dataform-deps check

Verifies that:

  • You're in a Dataform project directory
  • dependencies_report.txt exists
  • The report contains valid dependency data

Example Output

Individual Table Diagram

Each table gets its own SVG showing:

  • Dependencies (upstream) - Tables this table depends on
  • Dependents (downstream) - Tables that depend on this table
  • Color coding - Tables (blue), views (green), operations (orange)

Master Index

The master index organizes all tables by schema with:

  • Clickable table names that open their SVG
  • Expandable/collapsible schemas
  • Type badges (table/view/incremental)
  • Search functionality

Requirements

  • Python 3.8+
  • Dataform project with compiled dependencies

How It Works

  1. Parse dependencies_report.txt generated by Dataform
  2. Extract table dependencies and metadata
  3. Generate SVG diagrams with orthogonal routing
  4. Create master index HTML for easy navigation

Project Structure

output/
├── dependencies_master_index.html    # Main entry point
└── dependencies/
    ├── schema1_table1.svg
    ├── schema1_table2.svg
    └── ...

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Please open an issue or PR on GitHub.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataform_dependency_visualizer-0.2.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataform_dependency_visualizer-0.2.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file dataform_dependency_visualizer-0.2.0.tar.gz.

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4d29a694c4a2c1f8621f98b680b464b17467b77ad106b869db2c4594bfcdd9a0
MD5 03b52931f3cad7fde1f7255e54903d06
BLAKE2b-256 7b0f119b7554ac2343b45624cb51ea75863cb3bf8bab9b4f6e6019709f969881

See more details on using hashes here.

File details

Details for the file dataform_dependency_visualizer-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 995287f5e5193c2ef3276a753d1e89d3e81f15fcb9a3db1c11a9d14ec39d847b
MD5 441e3ec2cd7f8d49aa6bd5e52ce42e8f
BLAKE2b-256 0570bf591db1707e46c6e00c1ddf943d0bc327f59f77f772d4c9255355a00504

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page