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.1.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

File details

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

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af7b20bc45caa5ee800b386dfcb526967bedf60f3ba5a73b35b62ea6f17502eb
MD5 1d9bf8f8fcb8b9c9fc976a5c833a3fff
BLAKE2b-256 cdf62d2f1112ec43f9e6ab22d874d3e717fa5658868f9458ca1fde2e7858e384

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 311ee46b09ad0f8385cf79888df2256315f50cb9da4b5390dc9ee1b4833bff25
MD5 821e7d9cb59ca476f41f06e9276c35cc
BLAKE2b-256 f8a42bdf9d341259aeff371bf920a0bf0fbfd78ca790084f58cfe7af2ad00df6

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