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.1.tar.gz (17.0 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.1-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b81415206d3218d0b59b9e4be4d68210536230a223efbdd950e5ab7a8ee9c009
MD5 a8c1f65ca0e04cb9fc8172c7efc31614
BLAKE2b-256 3a11a953b7d0929b0673f663c545e867ce098df8bf7f6ab7a2533a000d80758a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dataform_dependency_visualizer-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d93784620db56a4938a6f87c22b144276184750b8ca15f0dd117b917f3b006be
MD5 8b64958715e317a99d62d537531d6ed7
BLAKE2b-256 f6a83189c06a7565df0963c06c3a9d8cf0343bb6b05d409ba549feccfcabe615

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