Software changes rarely affect only the lines that were edited. A developer may change one function, while dozens of other functions, classes, and workflows depend on it. The difficult part is identifying the real blast radius of a change and determining which affected paths are actually protected by tests. BlastRadius is a lightweight Python developer tool that analyzes a unified diff and the matching Python project to reveal the potential impact of a code change. It identifies changed functions and methods, builds a static call graph using Python AST analysis, finds where those functions are called, and highlights affected call sites that do not have an identifiable test path. The target users are software developers, QA engineers, code reviewers, and hackathon teams who need a fast way to assess regression risk before merging a change. The workflow is simple: the user provides a unified Git diff and the corresponding Python project, either as a local folder or ZIP. BlastRadius analyzes the source code locally and presents an interactive risk dashboard showing changed functions, affected call sites, test coverage signals, and a 0–100 risk score. For high-risk untested paths, it generates focused pytest checks that exercise the production caller and verify that the changed function is actually reached. What makes BlastRadius different is that it focuses on the relationship between a changed function and its callers rather than treating the changed function in isolation. A function may already have a unit test while one of its important callers has no meaningful test path. BlastRadius exposes this distinction and prioritizes the missing protection around the actual impact surface. The tool is intentionally lightweight: it uses Python's built-in AST capabilities and a small number of dependencies, requires no database, and can analyze the project locally. This makes it suitable for rapid code review and CI-oriented workflows while keeping source code under the developer's control. The result is a practical bridge between code changes, static analysis, and automated test generation: developers can see what a change can affect, understand which paths need attention, and immediately obtain starting-point tests for the highest-risk areas.
Category tags: