{"id":46415558,"url":"https://github.com/deeplook/dirplot","last_synced_at":"2026-04-03T22:05:14.623Z","repository":{"id":343275804,"uuid":"1174435695","full_name":"deeplook/dirplot","owner":"deeplook","description":"Create directory treemaps (local, ssh, archives, s3, github, docker, k8s), save in file, PNG aand SVG, open in viewer, display inline in terminals.","archived":false,"fork":false,"pushed_at":"2026-03-11T17:07:54.000Z","size":2397,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-11T19:13:53.302Z","etag":null,"topics":["cli","docker","github","k8s","plot","s3","shell","ssh","terminal","treemap","vizualisation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deeplook.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-06T12:45:53.000Z","updated_at":"2026-03-11T15:11:55.000Z","dependencies_parsed_at":"2026-03-11T15:00:51.626Z","dependency_job_id":null,"html_url":"https://github.com/deeplook/dirplot","commit_stats":null,"previous_names":["deeplook/dirplot"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/deeplook/dirplot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeplook%2Fdirplot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeplook%2Fdirplot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeplook%2Fdirplot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeplook%2Fdirplot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deeplook","download_url":"https://codeload.github.com/deeplook/dirplot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deeplook%2Fdirplot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30431533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","docker","github","k8s","plot","s3","shell","ssh","terminal","treemap","vizualisation"],"created_at":"2026-03-05T14:11:51.055Z","updated_at":"2026-04-03T22:05:14.612Z","avatar_url":"https://github.com/deeplook.png","language":"Python","funding_links":["https://www.buymeacoffee.com/deeplook"],"categories":[],"sub_categories":[],"readme":"# dirplot\n\n[![CI](https://github.com/deeplook/dirplot/actions/workflows/ci.yml/badge.svg)](https://github.com/deeplook/dirplot/actions/workflows/ci.yml)\n[![PyPI](https://img.shields.io/pypi/v/dirplot.svg)](https://pypi.org/project/dirplot/)\n[![Python](https://img.shields.io/pypi/pyversions/dirplot.svg)](https://pypi.org/project/dirplot/)\n[![Downloads](https://img.shields.io/pypi/dm/dirplot.svg)](https://pepy.tech/project/dirplot)\n[![License](https://img.shields.io/pypi/l/dirplot.svg)](https://pypi.org/project/dirplot/)\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=flat\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/deeplook)\n\n**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.\n\n![dirplot output](https://raw.githubusercontent.com/deeplook/dirplot/main/docs/dirplot.png)\n\n## Features\n\n- Squarified treemap layout; file area proportional to size; ~500 extensions mapped to [GitHub Linguist](https://github.com/github/linguist) colours.\n- PNG and interactive SVG output; renders at terminal pixel size or a custom `WIDTHxHEIGHT`.\n- **Animate git history** (`dirplot git`), **watch live filesystems** (`dirplot watch`), and **replay event logs** (`dirplot replay`) — all output APNG or MP4.\n- Scan **SSH hosts**, **AWS S3**, **GitHub repos** (public and private), **Docker containers**, and **Kubernetes pods** — no extra deps beyond the respective CLI.\n- Read **archives** directly (zip, tar, 7z, rar, jar, whl, …) without unpacking.\n- Works on macOS, Linux, and Windows (WSL2 fully supported).\n\n## Installation\n\n```bash\n# Standalone tool (recommended)\nuv tool install dirplot\n\n# Into the current environment\npip install dirplot\n```\n\nOptional extras: `pip install \"dirplot[ssh]\"`, `\"dirplot[s3]\"`, `\"dirplot[libarchive]\"`.\n\n`dirplot watch` uses [watchdog](https://github.com/gorakhargosh/watchdog) for filesystem monitoring — installed automatically as a dependency.\n\n`dirplot git` requires `git` on `PATH`. MP4 output (`dirplot git`, `dirplot watch`, `dirplot replay` with `--animate`) requires [ffmpeg](https://ffmpeg.org/) on `PATH`. `dirplot read-meta` on `.mp4` files also requires `ffprobe` (bundled with ffmpeg).\n\n## Quick start\n\n```bash\ndirplot map .                                                    # current directory\ndirplot map . --inline                                           # display in terminal\ndirplot map . --output treemap.png --no-show                     # save to file\ndirplot map . --log --inline                                     # log scale, inline\ndirplot map github://pallets/flask                               # GitHub repo\ndirplot map docker://my-container:/app                           # Docker container\ndirplot map project.zip                                          # archive file\ntree src/ | dirplot map                                          # pipe tree output\n\ndirplot git . -o history.mp4 --animate                           # full git history\ndirplot git . -o history.mp4 --animate --last 30d                # last 30 days\ndirplot git github://owner/repo -o h.mp4 --animate --last 7d    # GitHub, last week\n\ndirplot watch . --output treemap.png                             # live watch\ndirplot watch . --output treemap.mp4 --animate                   # record as MP4\n\ndirplot demo                                                     # run examples, save to ./demo/\n```\n\n## Documentation\n\n- [CLI reference](docs/CLI.md) — all commands, flags, and usage examples\n- [Remote access](docs/EXAMPLES.md) — SSH, S3, GitHub, Docker, Kubernetes\n- [Archives](docs/ARCHIVES.md) — supported formats and dependencies\n- [Python API](docs/API.md) — programmatic usage\n\n## Development\n\n```bash\ngit clone https://github.com/deeplook/dirplot\ncd dirplot\nmake test\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for full details.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeplook%2Fdirplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeeplook%2Fdirplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeplook%2Fdirplot/lists"}