Multi-level code structure explorer — interactive drill-down HTML visualizations
Project description
codezoom
Multi-level code structure explorer — interactive drill-down HTML visualizations.
codezoom generates a standalone HTML file that lets you explore a project's structure at multiple levels of detail:
- External dependencies — direct and transitive packages from
pyproject.toml+uv.lock - Package hierarchy — sub-packages and modules (via pydeps or file-tree fallback)
- Module internals — functions and classes extracted from the AST
- Class internals — methods and their call relationships
Click any node to drill down. Use breadcrumb navigation to go back up.
Examples
External dependencies |
Project submodules |
A submodule's children |
Another submodule's children |
Single-file view |
Installation
Installing codezoom with uv
uv tool install codezoom
Installing codezoom with pip
pip install codezoom
Installing codezoom from source
git clone https://github.com/apposed/codezoom
uv tool install --with-editable codezoom codezoom
When installed in this fashion, changes to the codezoom source code will be immediately reflected when running codezoom from the command line.
Using codezoom as a dependency
uv add codezoom
or
pixi add --pypi codezoom
Not sure which to use? Read this.
Usage
codezoom /path/to/project # auto-detect, output to <project>_deps.html
codezoom /path/to/project -o output.html # custom output path
codezoom /path/to/project --name "My Project" # custom display name
codezoom /path/to/project --open # open in browser after generating
Also works as a module:
python -m codezoom /path/to/project
Requirements
- Python 3.11+
- No mandatory runtime dependencies beyond the standard library
- Optional: pydeps for richer module-level import analysis (falls back to file-tree scanning without it)
Per-project configuration
Projects can include a .codezoom.toml or a [tool.codezoom] section in
pyproject.toml:
[tool.codezoom]
exclude = ["tests", "docs", "__pycache__"]
The exclude list is passed to pydeps via -xx to omit modules from the
hierarchy.
Language support
| Language | Status |
|---|---|
| Python | Supported |
| Java | Stub extractors present — not yet implemented |
License
UNLICENSE - All copyright disclaimed.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codezoom-0.1.0.tar.gz.
File metadata
- Download URL: codezoom-0.1.0.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
916488a46a14032b7f81cfb2107e32627f244ded954b26dfcbcee42c62405627
|
|
| MD5 |
aa20c014d1a71152f3a34fa3cbce4b89
|
|
| BLAKE2b-256 |
01566fb337e3b2424d452ccc0e587b23fde8472f84df9d6894366c3a9d18e564
|
File details
Details for the file codezoom-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codezoom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a61e5b0bc7cd373d045cd4fa38b35420e24ac74444d6de77af1c9d7d0e48e3f7
|
|
| MD5 |
757ae4a07f599ffafaeffbe7d59950e0
|
|
| BLAKE2b-256 |
e0cb88d3122afc96159b120d35f911b3127ddf78ff0df547b0fbb41e5a49fbda
|