You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kubernetes pod scanning via pod://pod-name/path syntax — uses kubectl exec and find to build the tree without copying files out of the pod. Works on any running
pod that has a POSIX shell and find (GNU or BusyBox). No extra dependency; only kubectl is required.
Namespace can be specified inline (pod://pod-name@namespace:/path) or via --k8s-namespace.
Container can be selected for multi-container pods via --k8s-container.
-xdev is intentionally omitted so mounted volumes (emptyDir, PVC, etc.) within
the scanned path are traversed — the common case in k8s where images declare VOLUME entries that are always mounted on a separate filesystem.
Automatically falls back to a portable sh + stat loop on BusyBox/Alpine pods.
Docker container scanning via docker://container:/path syntax — uses docker exec
and find to build the tree without copying files out of the container. Works on any
running container that has a POSIX shell and find (GNU or BusyBox). No extra
dependency; only the docker CLI is required.
Automatically detects BusyBox find (Alpine-based images) and falls back to a
portable sh + stat loop when GNU -printf is unavailable.
Virtual filesystems (/proc, /sys, /dev) are skipped via -xdev.
Supports --exclude, --depth, --log, and all other standard options.
Dockerfile and .dockerignore added so the project itself can be used as a
scan target.
SVG output format via --format svg or by saving to a .svg-suffixed path with --output.
The output is a fully self-contained, interactive SVG file:
CSS hover highlight — file tiles brighten and gain a soft glow; directory headers
brighten on mouse-over (.tile / .dir-tile classes, no JavaScript needed).
Floating tooltip panel — a JavaScript-driven semi-transparent panel tracks the cursor
and shows the file or directory name, human-readable size, and file-type / item count.
No external scripts or stylesheets — the panel logic is embedded in the SVG itself.
Van Wijk cushion shading — approximated via a single diagonal linearGradient
overlay (gradientUnits="objectBoundingBox"), defined once and shared across all tiles.
Matches the ×1.20 highlight / ×0.80 shadow range of the PNG renderer.
Disabled with --no-cushion.
--format png|svg CLI option; format is also auto-detected from the --output file
extension.
create_treemap_svg() added to the public Python API (from dirplot import create_treemap_svg).
drawsvg>=2.4 added as a core dependency.
Rename the treemap command to map (dirplot map ).
Add termsize subcommand and restructure CLI as multi-command app.
Add --depht parameter to limit the scanning of large file trees.
Support for SSH remote directory scanning (pip install dirplot[ssh]).
Support for AWS S3 buckets in the cloud (pip install dirplot[s3]).
Support for local archive files, .zip, tgz, .tar.xz, .rar, .7z, etc.
Include example archives for 17 different extentions for testing.
Comprehensive documentation.
github://owner/repo[@branch] URI scheme for GitHub repository scanning. The old github:owner/repo shorthand has been removed.
File tiles now have a 1-px dark outline (60/255 below fill colour per channel) so
adjacent same-coloured tiles — e.g. a directory full of extension-less files — are
always visually distinct rather than blending into a single flat block.
Changed
docs/REMOTE-ACCESS.md renamed to docs/EXAMPLES.md; Docker and Kubernetes pod
sections added; images with captions added for all remote backends.
Fixed
SVG tooltips now show the original byte count when --log is active, not the
log-transformed layout value. Node.original_size is populated by apply_log_sizes
for both file and directory nodes and is used by the SVG renderer for data-size.
GitHub error messages are now clear and actionable.