Skip to main content

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:

  1. External dependencies — direct and transitive packages from pyproject.toml + uv.lock
  2. Package hierarchy — sub-packages and modules (via pydeps or file-tree fallback)
  3. Module internals — functions and classes extracted from the AST
  4. 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

codezoom-0.1.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codezoom-0.1.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

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

Hashes for codezoom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 916488a46a14032b7f81cfb2107e32627f244ded954b26dfcbcee42c62405627
MD5 aa20c014d1a71152f3a34fa3cbce4b89
BLAKE2b-256 01566fb337e3b2424d452ccc0e587b23fde8472f84df9d6894366c3a9d18e564

See more details on using hashes here.

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

Hashes for codezoom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a61e5b0bc7cd373d045cd4fa38b35420e24ac74444d6de77af1c9d7d0e48e3f7
MD5 757ae4a07f599ffafaeffbe7d59950e0
BLAKE2b-256 e0cb88d3122afc96159b120d35f911b3127ddf78ff0df547b0fbb41e5a49fbda

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page