Skip to main content

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

badge1 badge2 badge3 workflow codecov

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, and connection count.

Unlinked Modules

Unlinked Nodes

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

Massive Objects Detection

Massive Objects Detection

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

Display Settings

Display Settings

Size by Lines of Code - Toggle node size scaling based on lines of code. Larger nodes = more code.

UI Tips

UI Tips

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

Draggable Panels - All UI panels can be dragged and collapsed for a cleaner view.


Installation

pip install codegraph

For legacy matplotlib visualization support:

pip install codegraph[matplotlib]

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)

--matplotlib

Use legacy matplotlib visualization instead of D3.js (requires codegraph[matplotlib])

-o, --object-only

Print dependencies to console only, no visualization

Changelog

See CHANGELOG.md for full version history.

Metadata

Release files for codegraph 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codegraph 1.2.0
File Size Uploaded Provenance
codegraph-1.2.0.tar.gz 25.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for codegraph 1.2.0
File Interpreter ABI Platform
codegraph-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 53.4 kB

Release files / codegraph-1.2.0.tar.gz

Download URL codegraph-1.2.0.tar.gz
Size 25.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3bc33d23c87a6068b26f87862743d3785ac287420d451b592556a5e569c213c0
BLAKE2b-256 checksum
How to use checksums
1942c371fab60ca37d717624dcbc90cac28e60630086ca43f06d8feed5e2f87a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / codegraph-1.2.0-py3-none-any.whl

Download URL codegraph-1.2.0-py3-none-any.whl
Size 28.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8918b0211f00b40ab9dcc427ddd423928eb5cb8bde774fc9adf9196e5dedce1
BLAKE2b-256 checksum
How to use checksums
de0661e649a79d4860cc0635186d2146ab9bb48a6e971c5d8c1aa2de2ed52124
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for codegraph 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page