Visualize package dependencies as XKCD-style tower diagrams for Python, Rust, JavaScript, Ruby, PHP, Java, and Go.
Stacktower is a command-line tool that transforms software dependency graphs into physical tower diagrams, inspired by XKCD comic #2347. It visualizes dependencies as stacked blocks, with the application at the top and foundational libraries below, to help developers intuitively understand the structure, health, and fragility of their dependency trees. It supports multiple programming languages, integrates vulnerability scanning, and enriches visualizations with metadata like GitHub stars and maintainer information.
Software developers, DevOps engineers, and security teams working with projects in Python, Rust, JavaScript, Ruby, PHP, Java, or Go who need to analyze and visualize dependency relationships for maintenance, security auditing, or architectural understanding.
Developers choose Stacktower for its unique XKCD-inspired hand-drawn visualizations that make complex dependency graphs intuitive, its integrated security scanning via OSV.dev to color-code vulnerabilities, and its multi-language support that works directly with package registries and manifest files without requiring custom integration.
Visualize package dependencies as XKCD-style tower diagrams. Supports Python, Rust, JavaScript, Ruby, PHP, Java, and Go.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports parsing dependencies from seven languages including Python, Rust, and JavaScript, directly from package registries and manifest files, as detailed in the parse command examples.
Integrates with OSV.dev to scan for security vulnerabilities and color-codes packages by severity, enabled with the --security-scan flag during parsing.
Fetches GitHub metadata such as stars, maintainers, and commit history to enrich visualizations, providing insights into project health and maintenance burden.
Exports visualizations in multiple formats including SVG, PNG, PDF, and JSON, with options for XKCD-style or clean simple towers, as shown in the render command.
The README explicitly warns that ordering algorithms are still experimental and may not produce nicely stacked towers for projects with a large number of dependencies, limiting reliability for complex graphs.
Rendering to PDF and PNG formats requires installing librsvg separately, which adds an extra setup step and potential compatibility issues on different systems.
Full metadata enrichment and vulnerability scanning rely on external APIs like GitHub and OSV.dev, necessitating a GITHUB_TOKEN and risking rate limits without proper configuration.