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.2.tar.gz (19.7 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.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for diffmap-0.1.2.tar.gz
Algorithm Hash digest
SHA256 eb8781fe049aebbb79ee2d06835aa4600e2f5f6093c127c48dc6781dc70727a1
MD5 0ff276808a70dc023cd9e7a3da9e1b84
BLAKE2b-256 e3b93642c7a33c2091eca4cd293ed1b200355174a0c0b8046150ddf44b028c7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffmap-0.1.2.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.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for diffmap-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5e2e1a5a858ea60a5dee0a3678e7499912c971a758de9f33f1528630a2119091
MD5 f62ff69c06337729a679a435343f6aea
BLAKE2b-256 b16563005171e2559710d97ca82776747e99a38dddeb8add42058616b627898c

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffmap-0.1.2-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