Skip to main content

Command line disk space visualization tool

Project description

PyPI - Python Version unit tests pre-commit

What is duviz?

duviz is a (Python 3) command-line tool to visualize disk space usage.

It’s like the plethora of desktop applications and widgets (e.g. Filelight, DaisyDisk, WinDirStat, JDiskReport, TreeSize, SpaceSniffer, …), but instead of a fancy GUI with animated pie charts and shaded boxes you get a funky “ASCII art style hierarchical tree of bars” in your shell. If that didn’t make a lot of sense to you, look at this example of this /opt folder:

$ duviz /opt
________________________________________________________________________________
[                                     /opt                                     ]
[____________________________________3.30GB____________________________________]
[                                    local                                     ]
[____________________________________3.30GB____________________________________]
[              var              ][        lib         ][ share  ][Libr][lib][]|
[_____________1.36GB____________][______925.47MB______][411.37MB][231.][222][]|
[           macports           ]|[gcc][gcc4][]|||      [][]||||||[Fra]|[gc] |
[____________1.36GB____________]|[250][226.][]|||      [][]||||||[231]|[21] |
[    software    ][distfile][]| |           ||  |      | ||||||||[Pyt] [x8]
[____785.31MB____][421.56MB][]| |           ||  |      | ||||||||[231] [21]
[gc][][]||||||||||||||||||||[]               |            ||| |  [Ve]  ||[]
[17][][]||||||||||||||||||||[]               |            ||| |  [23]  ||[]

Features

  • Basically it consists of just one Python 3 script duviz.py. No installation required: put it where you want it. Use it how you want it.

  • Only uses standard library and just depends on du and ls utilities, which are available out of the box on a typical Unix platform (Linux, macOS)

  • Speed. No need to wait for a GUI tool to get up and running, let alone scanning your disk. The hard work is done by du (or ls), which run an C-speed.

  • Progress reporting while you wait. Be hypnotized!

  • Detects your terminal width for maximum visualization pleasure.

  • Not only supports “disk usage” based on file size, but also allows to count files (inode count mode) or give a size breakdown of ZIP or tar files.

  • Option to use terminal colors for the boxes instead of ASCII art

Installation

Pip based

duviz can be installed with pip in a desired virtual environment:

pip install duviz

which will install a duviz command line utility in your environment.

If you already have pipx on your toolbelt, you might prefer to install duviz in an automatically managed, isolated environment with pipx install duviz.

With Homebrew

duviz can also be installed with Homebrew:

brew install https://raw.github.com/soxofaan/duviz/master/extra/homebrew/duviz.rb
No installation

The file duviz.py is also designed to be usable as a standalone Python script, without having to install it. Download duviz.py and just run it:

python path/to/duviz.py

Python 2 Support

duviz was originally (2009) a Python 2 script, and started supporting Python 3 around 2016. With the end of life of Python 2 nearing in 2019, support for Python 2 was dropped. The Python 2 compatible version can be found in the py2-compatible branch (last release: 1.1.1).

Usage

If you run duviz without arguments, it will render the disk usage of the current working folder. If you specify one or more directories, it will render the usage of those directories, how intuitive is that!

Instead of size in bytes, you can also get inode usage: just use the option --inodes (or -i in short).

If you directly pass duviz a ZIP or tar file, it will visualize the size breakdown of the file tree in the ZIP/tar file. In case of ZIP files, the compressed size will be shown by default (option --unzip-size will toggle showing of decompressed size). For tar files, only the decompressed size is available.

Run it with option --help for more options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

duviz-3.2.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file duviz-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: duviz-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for duviz-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4db6d04edbca21d030e1b292d9fda7c38e715e3190120b57f23b666558244981
MD5 b835cb50e16dbebc906522733c19694a
BLAKE2b-256 1cdf5daf01ff153194ff9f8b3c516b873b82c70e8ab1736b1008e22b2ab32142

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page