Nested treemap visualizations for directory trees and archives
Project description
dirplot
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.
Features
- Squarified treemap layout; file area proportional to size; ~500 extensions mapped to GitHub Linguist colours.
- PNG, animated PNG (APNG), MP4, and MOV output for single frames and animations; interactive SVG for static maps; renders at terminal pixel size or a custom
WIDTHxHEIGHT. - Animate git history (
dirplot git), Mercurial history (dirplot hg), watch live filesystems (dirplot watch), and replay event logs (dirplot replay) — output APNG, MP4, or MOV. - 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; dirplot hg requires hg (Mercurial) 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 hg /path/to/repo -o history.png --animate # full hg history
dirplot hg /path/to/repo@tip -o history.png # static, tip only
dirplot watch . --output treemap.png # live watch
dirplot watch . --output treemap.mp4 --animate # record as MP4
dirplot demo # run examples, save to ./demo/
Documentation
- CLI reference — all commands, flags, and usage examples
- Remote access — SSH, S3, GitHub, Docker, Kubernetes
- Archives — supported formats and dependencies
- Python API — programmatic usage
Development
git clone https://github.com/deeplook/dirplot
cd dirplot
make test
See CONTRIBUTING.md for full details.
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 dirplot-0.4.2.tar.gz.
File metadata
- Download URL: dirplot-0.4.2.tar.gz
- Upload date:
- Size: 856.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
328e351446b0b2660ebbbea74c6c5b2ff4d46e5180492becca932e487b874a99
|
|
| MD5 |
f50b890a6c2539e5f94f10109af40261
|
|
| BLAKE2b-256 |
524efe6a6ca5d8c8a3c4497334991fad93475f842383061f417a404899e603ea
|
File details
Details for the file dirplot-0.4.2-py3-none-any.whl.
File metadata
- Download URL: dirplot-0.4.2-py3-none-any.whl
- Upload date:
- Size: 615.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d49dbbe8a4d50125fe2bc4cc594ac6131bca758b8aee892ad98063aae0e837bf
|
|
| MD5 |
da04629c9f1db647022952c76e0cc75e
|
|
| BLAKE2b-256 |
449229e519735bba789dc3fc847a11aed646ca6bd4efd8670d6a5300c2478c99
|