CodeGraph - static code analyzator, that create a diagram with your code structure.
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
Zoom, Pan & Drag - Use mouse wheel to zoom, drag background to pan, drag nodes to reposition them.
Search & Highlight
Search with Autocomplete - Press Ctrl+F (or Cmd+F on Mac) to search. Results show node type with color coding.
Highlight Connections - Click on any node to highlight it and all connected nodes. Others will be dimmed.
Node Information
Tooltips - Hover over any node to see details: type, parent module, full path, and connection count.
Unlinked Modules
Unlinked Panel - Shows modules with no connections. Click to navigate to them on the graph.
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
Size by Lines of Code - Toggle node size scaling based on lines of code. Larger nodes = more code.
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| codegraph-1.2.0.tar.gz | 25.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.