Skip to main content

Instantly visualize any Python codebase's dependency graph.

Project description

Blastmap

See your codebase the way your compiler does.

Blastmap maps any Python repository into an interactive dependency graph — every file, every import, every connection — in a single command. Built for engineers who need to understand large codebases fast.


Install

pip install blastmap

Usage

Scan the current directory:

blastmap scan

Scan any repo:

blastmap scan /path/to/repo

Custom output file:

blastmap scan /path/to/repo --output my-graph.html

Then open the generated HTML file in your browser.


Features

  • Zero config — point it at any Python repo and it works
  • Handles both standard and src/ layout repos automatically
  • Respects .gitignore — no noise from virtual environments or build artifacts
  • Interactive graph — zoom, pan, drag nodes
  • Click any node to see its parents and children instantly
  • Search bar — find any file or module without hunting through the graph
  • Nodes sized by dependents — the most critical files are visually largest
  • Custom tooltips — filename, path, and dependent count on hover

How It Works

Blastmap uses Python's built-in ast module to parse every .py file in your repo and extract import relationships. It then builds a directed graph with networkx and renders it as a self-contained interactive HTML file using pyvis.

No servers. No accounts. No data leaves your machine.


Examples

Repo Files Edges Most Critical File
Flask 84 71 flask/__init__.py (44 dependents)
Scrapy 446 1,794 scrapy/__init__.py (191 dependents)
Django 2,911 7,585 django/test/__init__.py (790 dependents)

Roadmap

  • JavaScript / TypeScript support
  • Java and Go support
  • Blast-radius command — highlight everything affected by a given file
  • VS Code extension

License

MIT

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

blastmap-0.1.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

blastmap-0.1.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file blastmap-0.1.1.tar.gz.

File metadata

  • Download URL: blastmap-0.1.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for blastmap-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d104cf40191259845263769e5cf6c2524c0070a4cfb2db5f7d577fd4a49d921d
MD5 99d2a286c1462323464fd4bd3706ea34
BLAKE2b-256 e432b07d67f99b12672086e9eccd0b713edae8724e3ec070e08db780c1be11a8

See more details on using hashes here.

File details

Details for the file blastmap-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: blastmap-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for blastmap-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1c49ff7653f445946b88e13be7972ccce1168d72d766b1196e7e6181eb1a0bf
MD5 c5b241c94ccb16dd56d543db84d5c218
BLAKE2b-256 f7c6b98ab5f51956b4b40883ac16b7a375a43f68ffa82c67738967e357d0376d

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