Skip to main content

Nested treemap visualizations for directory trees and archives

Project description

dirplot

CI PyPI Python Downloads License Buy Me a Coffee

dirplot creates nested treemap images for directory trees. It can display them in the system image viewer or inline in the terminal (iTerm2 and Kitty protocols, auto-detected). It also animates git history, watches live filesystems, and scans remote sources.

dirplot output

Features

  • Squarified treemap layout; file area proportional to size; ~500 extensions mapped to GitHub Linguist colours.
  • PNG and interactive SVG output; renders at terminal pixel size or a custom WIDTHxHEIGHT.
  • Animate git history (dirplot git), watch live filesystems (dirplot watch), and replay event logs (dirplot replay) — all output APNG or MP4.
  • Scan SSH hosts, AWS S3, GitHub repos (public and private), Docker containers, and Kubernetes pods — no extra deps beyond the respective CLI.
  • Read archives directly (zip, tar, 7z, rar, jar, whl, …) without unpacking.
  • Works on macOS, Linux, and Windows (WSL2 fully supported).

Installation

# Standalone tool (recommended)
uv tool install dirplot

# Into the current environment
pip install dirplot

Optional extras: pip install "dirplot[ssh]", "dirplot[s3]", "dirplot[libarchive]".

dirplot watch uses watchdog for filesystem monitoring — installed automatically as a dependency.

dirplot git requires git on PATH. MP4 output (dirplot git, dirplot watch, dirplot replay with --animate) requires ffmpeg on PATH. dirplot read-meta on .mp4 files also requires ffprobe (bundled with ffmpeg).

Quick start

dirplot map .                                                    # current directory
dirplot map . --inline                                           # display in terminal
dirplot map . --output treemap.png --no-show                     # save to file
dirplot map . --log --inline                                     # log scale, inline
dirplot map github://pallets/flask                               # GitHub repo
dirplot map docker://my-container:/app                           # Docker container
dirplot map project.zip                                          # archive file
tree src/ | dirplot map                                          # pipe tree output

dirplot git . -o history.mp4 --animate                           # full git history
dirplot git . -o history.mp4 --animate --last 30d                # last 30 days
dirplot git github://owner/repo -o h.mp4 --animate --last 7d    # GitHub, last week

dirplot watch . --output treemap.png                             # live watch
dirplot watch . --output treemap.mp4 --animate                   # record as MP4

dirplot demo                                                     # run examples, save to ./demo/

Documentation

Development

git clone https://github.com/deeplook/dirplot
cd dirplot
make test

See CONTRIBUTING.md for full details.

License

MIT — see LICENSE.

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

dirplot-0.4.1.tar.gz (849.1 kB view details)

Uploaded Source

Built Distribution

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

dirplot-0.4.1-py3-none-any.whl (609.5 kB view details)

Uploaded Python 3

File details

Details for the file dirplot-0.4.1.tar.gz.

File metadata

  • Download URL: dirplot-0.4.1.tar.gz
  • Upload date:
  • Size: 849.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dirplot-0.4.1.tar.gz
Algorithm Hash digest
SHA256 cf09d42e8aabdea02c6f92bb820c1bb10231b3427a873212a122e2990bc4909c
MD5 fc293e65798ee20dc1ea653c0501756b
BLAKE2b-256 de5562e0e0110341bd2115988a40870987111612407312a94eab2b3c82f33237

See more details on using hashes here.

File details

Details for the file dirplot-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: dirplot-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 609.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dirplot-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8957cad247b7bbdcbf041d27bfc366814853d9ccee96e15164dd7c99d76e1684
MD5 cb5b19ba16b541e176274041b563d51d
BLAKE2b-256 64931cac36cebdf97cd63a80ac44329d4a3a914a1335b78c9ee9a3fe2a959771

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