Skip to main content

Rust-based disk usage analyzer with histogram visualization

Project description

Dustr

Build PyPI version Crates.io License PyPI - Python Version Benchmarks

Dustr is a Rust-based implementation of duk, a commandline utility that shows disk usage statistics in a directory with a histogram visualization.

Introduction

Dustr provides the same functionality as duk but with a Rust backend for improved performance. It will show you a histogram of the disk usage in a directory:

Statistics of directory "." :

Size           In %   Histogram            Name
4.0 KB         1.39  #                    .gitignore
4.0 KB         1.39  #                    setup.py
4.0 KB         1.39  #                    README.md
12.0 KB        4.17  ##                   dist/
12.0 KB        4.17  ##                   dustr/
12.0 KB        4.17  ##                   build/
16.0 KB        5.56  ##                   duk.egg-info/
220.0 KB       76.39 ####################  .git/

Total directory size: 284.0 KB

Installation

From PyPI (Python package)

pip install dustr

From crates.io (standalone Rust binary, no Python needed)

cargo install dustr-cli

This installs the dustr-cli binary to ~/.cargo/bin/.

From source

First, ensure you have Rust installed (see rustup.rs).

Python package (requires maturin):

pip install maturin
maturin develop  # For development
# OR
maturin build --release && pip install target/wheels/dustr-*.whl

Standalone binary:

cargo install --path .
# OR
make install

Usage

Python (dustr)

dustr [OPTIONS] [DIRECTORY]

Standalone binary (dustr-cli)

dustr-cli [OPTIONS] [DIRECTORY]

Both accept the same options:

  • -i, --inodes: Show inode count instead of size
  • -g, --nogrouping: Don't use thousand separators (for inode mode)
  • -f, --noF: Don't add file type indicators (/ for directories, @ for symlinks)
  • -j, --json: Output results as JSON
  • -x, --cross-mounts: Cross filesystem mount boundaries
  • -v, --verbose: Show directories being traversed
  • -l, --live: Live-update statistics table during traversal

JSON output

dustr --json .
{
  "directory": ".",
  "mode": "size",
  "entries": [
    { "name": ".gitignore", "value": 4, "percentage": 1.41 },
    { "name": ".git/", "value": 220, "percentage": 77.46 }
  ],
  "total": 284
}

Differences from duk

  • Performance: Rust backend with parallel directory traversal (jwalk + rayon)
  • Implementation: Uses native Rust file system operations instead of calling du command

Requirements

  • Python package: Python >= 3.9
  • Standalone binary: Rust toolchain (for building from source), or install from crates.io via cargo install dustr-cli

License

LGPL-3.0-or-later

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 Distributions

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

dustr-1.0.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (676.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dustr-1.0.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (660.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

dustr-1.0.7-cp314-cp314-macosx_11_0_arm64.whl (598.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dustr-1.0.7-cp314-cp314-macosx_10_12_x86_64.whl (614.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dustr-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (676.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dustr-1.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (661.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dustr-1.0.7-cp313-cp313-macosx_11_0_arm64.whl (597.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dustr-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl (614.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dustr-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (676.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dustr-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (661.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dustr-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (597.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dustr-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl (615.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dustr-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (678.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dustr-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (662.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dustr-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (599.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dustr-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl (616.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dustr-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (678.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dustr-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (662.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dustr-1.0.7-cp310-cp310-macosx_11_0_arm64.whl (599.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dustr-1.0.7-cp310-cp310-macosx_10_12_x86_64.whl (615.9 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file dustr-1.0.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d42c6c8c026e2408117cedaa6c931f604f8d2c15414eec0fab483df5bcf0e442
MD5 47c555ee4c32e413c09b0345e6f14cbc
BLAKE2b-256 d4696f9ae620c3b6cbe908eb68e2c52a3072bf8fc6274a318b89f0543be33150

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88daa4bba94b2eb662e19a6035a88b015896e8a7bd9bbdbe320fd78b621c06b0
MD5 c8defa90dfc6e575679afd407babb469
BLAKE2b-256 dc7b9a6b18f4f74cabebd0bedd9dae030017a9ad82397c899fccc76560433e84

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b1de03bce7edead091bd68a243179c8cf838f8fb3f997a6c1587c26a2599f06
MD5 0e3e32a12919aff975b3ba79e6137200
BLAKE2b-256 f457d14f57070eb1e85cfb907f573d6e033af298845ce0fbd4b2d0387dd8639c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 938ffd10ffeb3192e8542667a3c8c53200f2e72e61fcf6e55adbf58f4f8ef2be
MD5 fbca88e48de1b77b84df8a6f17eecd48
BLAKE2b-256 4cdb53b1b7253089f80342585c27ad8c46e494cabe6c60c7686fbe828c31b745

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6826b90b668e9687f79f6f25de9346f505a65f86375c6d3e595ec45f88443d43
MD5 2a72d2cfe0b6433c04d94ad49f73afa4
BLAKE2b-256 097846bfe70ce370f32f36106378cee719a5aaa874396cdef7cd7666bdec4166

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fcbb7c15ca5cf34ae6bd346100d95dad43c97a74c509629fc35d6f6cd4e38cf8
MD5 8f75add04a85666a5f50ac1553c573e6
BLAKE2b-256 de16f0e2a9f8f8797c9591f9342ba9b956fb710196ceb6376be64b73332f70e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8345958b79557d2df9a19b81feace0991e7b10be4596e148e88e00ac80eefed2
MD5 f974ff51520ee63539e2418e79663cac
BLAKE2b-256 6cdb3cac16a90e657623feb65f7669ab80a5acb99fb400d7718c0a9290bd495a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b4a8da94af2c8c0becbe6aecda142d0ccc9bb76b1c8d68e9b0577c60ef247542
MD5 b12dc1e6ebbb8f0fb0bbbca664b0502c
BLAKE2b-256 0f151f3dbfc63f8c39fb974c8af0dd7e9550eeb832cfad5aace894549614607b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e40a1b5d99ac8743ff9ea30a5d7c1850e9cacff94bfb38065e2daccb65925bb
MD5 b661e39a889e02686ba4e2f2baf18191
BLAKE2b-256 8b8930ee2b4d8b00633aa349d4cb66f56ca32dbbd8339203434800a0b6324852

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50bdcdd2d34e4be7c0f1d3a31ae182089b7f536b268f10f4acbf99e458b36aa9
MD5 387f62950b2ecfd8d04356ceb10d5fe5
BLAKE2b-256 409d95b358d994b1814bb3e700ee3d68e09477cbf5d65b17f0c7f9508127227f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fc72641df9d9a23d0808027e12f4bc61e89c23feefd04e0b8238fefaf68dc7f
MD5 323216b8df9dce3448fb4e4b56dada86
BLAKE2b-256 e5392d4dcb8d5bfd3c55dabee7faa80812f188a8b0b99d858a598938f7228e75

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3b0a7efc1dd893ebe69243e819dcb98bc91d3dc4d89b3e0cd21ecc06ff436dbd
MD5 25b4c7a810c5bcf8491178c43e34d903
BLAKE2b-256 5098f67870ebe91e269632994564bc54a3dbdf12d322f7d26c0179c74c108636

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b06e8266e809d65b0e97059770a2a53ce8087492503beb22da9fbcf5e2feda1c
MD5 64865cedc3cc06c4c28573239774feb7
BLAKE2b-256 773dc576da6000b109dc69c4e70b451b96986a04c67b9bb0ef77ae849b8e8e60

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04ecc5744be84e852dbbcf5300b674a79b09760094558e927af4d06c2523489a
MD5 ae4313fee7046ebc122aa12d6443f2a6
BLAKE2b-256 5c1a32436e5e918952b25d36e8793374e51089765202c2c40407b17c9dd1ba85

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c5e1c69a8a92b7d183361b35d8fe66ef78890e6c4996c0f4469ea3bfb7dd9a4
MD5 8665c60c5ae59153b65e66cca2b08dbc
BLAKE2b-256 b2fa3ba2dd161bdb2e9858e973a72cdaefb5330e90a1a7582429a6cce62a6a9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f2ec2148248e711df027bab64d39a82a45d2fe362dc259d2bdd0ac61c38a7b71
MD5 fd29cbe34edde8db00c1900905c2dbea
BLAKE2b-256 d3cbfb7b93450753c6a575b2281c469c756137bb164da3d31abc41e917af8ede

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4d5b2de8a9a8ee5a88b331aca2e54f2aab9460529953ab55666d5b8cbfc29d0
MD5 a93e21b4036fc3914b977a039165c8fd
BLAKE2b-256 a4033c6907a208e2cbf208e498f1c3cc19938a8b4ff7a101a01b59c8c4f2585a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c0158a0e554c974606e82c8eb5ef61e4e28148298868c867ab33cf011e692519
MD5 a405c5d7e560d6d20756a55eeb9fa163
BLAKE2b-256 b4f641033e8c764b6a6d05531bfc67a54311ef4fdb767f19de108e7e4a62f008

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f80ef28eac79e65de4d0ee7fdd2481b1f3453f81731edd909cfbcdb9f87fce1
MD5 bca7c23c313b3836913b2cb27a4982bf
BLAKE2b-256 c719c7f03a846b8aac364b79b171b26cf72efc6d8a4e574872c5f747b987fdb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dustr-1.0.7-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 867b4707e76e000e4b87054aa48a823dd6345ada8b321313f451615da913f771
MD5 ca1b3e19e6b79bf7474e6647afddff8e
BLAKE2b-256 c7222e15731e094de3aef4b154e82d0313fd0004fb18e48770e0a8b29da13d29

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.7-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: build.yml on wvangeit/dustr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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