Agentra Lab
A client-side call graph visualizer for Python codebases and code2flow JSON exports. No server required — everything runs in the browser.
Pipeline Dependency Viewer parses Python source files and renders interactive force-directed graphs showing function calls, method relationships, and class inheritance. It accepts raw .py files, .zip project archives, or pre-generated code2flow JSON.
- Python analysis — parses imports, function definitions, class inheritance, method calls, and type-annotated parameters across multi-file projects
- JSON support — accepts code2flow raw output or normalized node/edge format
- Force-directed layout — D3-powered simulation with hierarchical seeding, adjustable link distance, and node size controls
- Node selection — click any node to highlight downstream callees and upstream callers with BFS traversal
- Search — fuzzy name search with auto-expanding dropdown, in/out degree preview, and zoom-to-node
- Analytics panel — frequency charts, module importance, PageRank hub detection, degree distribution histograms
- Legend — per-module color mapping
- Export — SVG download of the current graph view
- Guided tutorial — step-by-step walkthrough on first load, with spotlight and skip option
No installation or build step required.
- Open
index.htmlin any modern browser - Drop a
.pyfile, multiple.pyfiles, a.ziparchive, or a.jsongraph file onto the upload screen - The graph renders immediately in the browser
Python
Single files, multiple files selected together, or a .zip archive of an entire project. Files inside __pycache__ are ignored automatically.
JSON — code2flow format
{ "graph": { "nodes": { ... }, "edges": [ ... ] } }JSON — normalized format
{ "nodes": [ ... ], "edges": [ ... ] }| Control | Action |
|---|---|
| Scroll | Zoom in / out |
| Click and drag background | Pan |
| Click node | Select and highlight connections |
| Drag node | Reposition |
| Pause / Resume | Toggle physics simulation |
| Fit | Re-center graph |
| Size slider | Adjust node radius |
| Dist slider | Adjust link distance |
| Analytics | Open metrics panel |
| SVG | Export current view |
All loaded from CDN, no npm or build tooling required.
- D3.js v7.8.5 — graph rendering and force simulation
- JSZip v3.10.1 — ZIP archive extraction
- JetBrains Mono / IBM Plex Sans — typography
- Python parsing is regex-based. Highly dynamic patterns such as
getattrcalls, decorator-generated methods, and runtime metaprogramming are not resolved. - Ambiguous symbol names shared across multiple modules are not linked to avoid incorrect edges.
- No support for non-Python languages via the Python tab.
MIT
Built with Claude by Agentra Lab