Skip to content

Static Python dependency graph with interactive HTML visualization, massive object detection, and unlinked module analysis (no code execution).

License

Notifications You must be signed in to change notification settings

xnuinside/codegraph

Repository files navigation

CodeGraph - static code analyzator, that create a diagram with your code structure.

badge1 badge2 badge3workflow

Live Demo - Interactive visualization of simple-ddl-parser codebase

Tool that creates a diagram with your code structure to show dependencies between code entities (methods, modules, classes and etc). Main advantage of CodeGraph is that it does not execute the code itself. You don't need to activate any environments or install dependencies to analyze the target code. It is based only on lexical and syntax parsing, so it doesn't need to install all your code dependencies.

Interactive Visualization

Interactive Code Visualization

Zoom, Pan & Drag - Use mouse wheel to zoom, drag background to pan, drag nodes to reposition them.

Search & Highlight

Node Search

Search with Autocomplete - Press Ctrl+F (or Cmd+F on Mac) to search. Results show node type with color coding.

Highlight Nodes

Highlight Connections - Click on any node to highlight it and all connected nodes. Others will be dimmed.

Node Information

Node Information

Tooltips - Hover over any node to see details: type, parent module, full path, lines of code, and connection counts (links in/out).

Links Count

Links Count

Links Count Panel - Find nodes by their connection count. Filter by "links in" or "links out" with configurable threshold.

Unlinked Modules

Unlinked Nodes

Unlinked Panel - Shows modules with no connections. Click to navigate to them on the graph.

Massive Objects Detection

Massive Objects

Massive Objects Panel - Find large code entities by lines of code. Filter by type (modules, classes, functions) with configurable threshold.

Display Settings

Display Settings

Display Filters - Show/hide nodes by type (Modules, Classes, Functions, External) and links by type (Module→Module, Module→Entity, Dependencies).

UI Tips

UI Tips

Built-in Help - Legend and keyboard shortcuts are always visible in the UI.


Installation

pip install codegraph

Usage

codegraph /path/to/your_python_code

This will generate an interactive HTML visualization and open it in your browser.

CLI Options

Option Description
--output PATH Custom output path for HTML file (default: ./codegraph.html)
--csv PATH Export graph data to CSV file
--matplotlib Use legacy matplotlib visualization instead of D3.js
-o, --object-only Print dependencies to console only, no visualization

CSV Export

Export graph data to CSV for analysis in spreadsheets or other tools:

codegraph /path/to/code --csv output.csv

CSV columns:

  • name - Entity name
  • type - module / function / class / external
  • parent_module - Parent module (for functions/classes)
  • full_path - File path
  • links_out - Outgoing dependencies count
  • links_in - Incoming dependencies count
  • lines - Lines of code

Changelog

See CHANGELOG.md for full version history.

About

Static Python dependency graph with interactive HTML visualization, massive object detection, and unlinked module analysis (no code execution).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •