Skip to main content

Visualize your codebase as a treemap, with colored diffs. Zero-dependency, no install needed, and language-agnostic.

Project description

diffmap

Visualize your codebase as a treemap, with colored diffs. No install needed, zero-dependency, and works with any codebase. Requires uv and git.

Example treemap

Usage

uvx diffmap

uvx runs it directly from PyPI in a temporary environment, nothing to install or clean up.

Options

diffmap                                    # diff HEAD vs HEAD~1
diffmap --ref HEAD~5..HEAD                 # last 5 commits
diffmap --ref main..HEAD                   # compare against main
diffmap --repo /path/to/repo               # different repo
diffmap --output my-treemap.svg            # custom output path
diffmap --exclude "*.lock" -e docs/        # exclude files/folders (gitignore-style)
diffmap --changed                          # only show changed files
diffmap --width 1920 --height 1080         # custom dimensions
diffmap --quiet                            # quiet mode

How it works

  1. Lists tracked files via git ls-files (respects .gitignore)
  2. Counts lines per file
  3. Gets per-file diff stats via git diff --numstat
  4. Lays out a hierarchical treemap (directories contain their children)
  5. Renders an SVG with proportional green/red fills inside each file rectangle

License

MIT

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

diffmap-0.1.3.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

diffmap-0.1.3-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file diffmap-0.1.3.tar.gz.

File metadata

  • Download URL: diffmap-0.1.3.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for diffmap-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4b76bfbfaa81a6c7862099a2a10e0479a826da4f9540f1d95f0f4f4c799f0016
MD5 9939f1c7c453ee3795a4869c28401d75
BLAKE2b-256 a70a658d5a8fa6727aceabc1a2244d87f955c8510a2ab0b0d79e875eba79fa7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffmap-0.1.3.tar.gz:

Publisher: publish.yml on Ulyssean/diffmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diffmap-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: diffmap-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for diffmap-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 58c653bba47fece582665097422145f03d459013307dea7efdd65900eaa6a256
MD5 f371fbca2d0b733996d6a5e4b5921869
BLAKE2b-256 ba4280b9bbeeab17ce71014f995ff43e09e9b16a1303e38618eb96e3efe32940

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffmap-0.1.3-py3-none-any.whl:

Publisher: publish.yml on Ulyssean/diffmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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