Ever changed one function, thought it was a small edit, then spent the next hour tracing through five other files to figure out what broke? That's the problem I set out to fix.

A while back, someone commented on a related post describing a tool they hand wrote for C++ codebases. It parsed every file's #include statements, built a dependency graph, and used that to show how far a change in one header would actually propagate. Their point stuck with me: changes spread much further than people expect, because a single edit can ripple through every file that depends on it, directly or indirectly.

I wanted the same idea, but for Python, and without having to manually inspect includes or imports myself. So I built Change Impact Analyzer, a VS Code extension that does this automatically.

Here's what it does:

Parses every Python file in your project with tree-sitter, and resolves what calls what using a language server (pylsp).