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.txtexists- 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
- Parse
dependencies_report.txtgenerated by Dataform - Extract table dependencies and metadata
- Generate SVG diagrams with orthogonal routing
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dataform_dependency_visualizer-0.2.1.tar.gz.
File metadata
- Download URL: dataform_dependency_visualizer-0.2.1.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.8 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b81415206d3218d0b59b9e4be4d68210536230a223efbdd950e5ab7a8ee9c009
|
|
| MD5 |
a8c1f65ca0e04cb9fc8172c7efc31614
|
|
| BLAKE2b-256 |
3a11a953b7d0929b0673f663c545e867ce098df8bf7f6ab7a2533a000d80758a
|
File details
Details for the file dataform_dependency_visualizer-0.2.1-py3-none-any.whl.
File metadata
- Download URL: dataform_dependency_visualizer-0.2.1-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.8 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d93784620db56a4938a6f87c22b144276184750b8ca15f0dd117b917f3b006be
|
|
| MD5 |
8b64958715e317a99d62d537531d6ed7
|
|
| BLAKE2b-256 |
f6a83189c06a7565df0963c06c3a9d8cf0343bb6b05d409ba549feccfcabe615
|