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.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (675.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dustr-1.0.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (664.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

dustr-1.0.6-cp314-cp314-macosx_11_0_arm64.whl (603.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dustr-1.0.6-cp314-cp314-macosx_10_12_x86_64.whl (618.2 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dustr-1.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (675.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dustr-1.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (666.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dustr-1.0.6-cp313-cp313-macosx_11_0_arm64.whl (602.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dustr-1.0.6-cp313-cp313-macosx_10_12_x86_64.whl (618.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dustr-1.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (675.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dustr-1.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (665.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dustr-1.0.6-cp312-cp312-macosx_11_0_arm64.whl (602.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dustr-1.0.6-cp312-cp312-macosx_10_12_x86_64.whl (619.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dustr-1.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (679.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dustr-1.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (667.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dustr-1.0.6-cp311-cp311-macosx_11_0_arm64.whl (604.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dustr-1.0.6-cp311-cp311-macosx_10_12_x86_64.whl (620.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dustr-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (679.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dustr-1.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (667.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dustr-1.0.6-cp310-cp310-macosx_11_0_arm64.whl (604.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dustr-1.0.6-cp310-cp310-macosx_10_12_x86_64.whl (619.7 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for dustr-1.0.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d33322ac2ef44ba5386cb279f1f931b672efc95e79438ca49007503b7a5af5c
MD5 6ba3b54319cd48d659637f61ece1606d
BLAKE2b-256 6b7da7e91b6458659a7f0219d429faf60edf843df7c2771da8328b113916fcd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 59dc8a7079e00d21a03d8f368a5e3b7257b193317ea7038f82c8fc0e0f447ad4
MD5 d3f974d572723510bcc51662b7e4c961
BLAKE2b-256 9961c9783decca115820a7984738a949c9062b01927f30e22fd34badc8d05646

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7d1e3038e3f7403bccc099280a88074de465ebf911e83429d8a20b2cb15c350
MD5 62db6397444a986cd8b2f169bf89a654
BLAKE2b-256 843a9ba509b0e5c72298d0762b124ce9ebe483dc175c8f7339b84cbfd46d884f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb274e83adbf016149e25c23f7157370341994e3ba8164030bedcc06aefbfa82
MD5 fa41228810547b656a9262f6063b625c
BLAKE2b-256 a14a023c16cfc3554f3ef74e04aa58094787c22ac783db7848a9b3ffb82904c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abc8a937f27a6dd4964f2ac366f47133b7c1f90e848a9a0d0110c557a016fab5
MD5 8da5e3fb8a9b38a815954b9478132fea
BLAKE2b-256 0b23cf0e1ef59c5e68e846a71d36d9b038fa7b1b7d709ca42d069812b6f935cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9108701b0b3b64beab144189290e71d14df16fe2c71dcda3505a114135196206
MD5 62cdab700424817818eb9731cb41113d
BLAKE2b-256 504a5cfe76f2897543f8996cd67182d747d0afc3487c65c8650ac82d20cf19d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c45a37c1ff7327fc614a387027f15ddc6ea09a37b9c99e95b1cfe065e10f7d3
MD5 f1ade1496de82bfee3ce55d1707630ae
BLAKE2b-256 40dcd43414e3c9cc1ed5233a0156e837ba77c45a008298aa893f63b137f6d9db

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 61da09b1d375f80513cdc63b3f3601e25ce831e180efc53dd3e191499cecf8ca
MD5 8500cbbcd3e341e09d3b1cd0e22cd861
BLAKE2b-256 afd44724c35771967b9acee5436607706970be0b505db7c5c99fd4b14d496b01

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4dcdaaabe24b435c6d90b3618aa52ed2a5f7619cc9cb1ecff9dd44102fbf42c7
MD5 e394567da5a9aa755ad6f2060c7ceaf9
BLAKE2b-256 03a5246e9988f8bc95b7a45f735d8cc324e142884b7186ff92cd08dea315054d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b963e2009fcb578778ead1bb3458f8195720259a461d82c3ec78c837bc33586f
MD5 304b7f475725b79aec1a64863fc15c04
BLAKE2b-256 dcf6104868ef271610577d4299ac63bdf0e7dc5141a5ac8bdc40ed5d9c1d1c51

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc2e558db3b424ea792c7e63bafc487de524928254e920d50bb8d93083de9b2c
MD5 90adc7d37f82358c7f3d97a9b14fc086
BLAKE2b-256 470d22b2fe45154e47021a986577fb5650c7ab83a5abbdf11f0d7805a1b8a30a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9d0b458a6ee6437ed391fca2228747f6e86cb1986c23143e59374d3233120fd6
MD5 bc70abc352d2f4f7d3aba5c515f68747
BLAKE2b-256 63fb2c377839fe797f1b0acaad36a375832e9e9d118559977fca7f3082fb6839

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 665a6b57a623ddc18983c78091fa8d6e6bc69890e5e547d2282865834d0de928
MD5 5395b6ca68b1195f68246ee9c7369777
BLAKE2b-256 0d80cafd986d484b420cb5247c404827fe8f6e2d1ce4cbec56614f6b21198159

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee31b3412b5e77a24bcd210f676b6347e34aaa5c600da4c7f8f66d8605e036f0
MD5 0f34b874fb0583af4a46e5aa179d264c
BLAKE2b-256 06fc18002278e1293a0edcf3722586637762d660eb67ca71aa4fcfd04cc11ed6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 471bea36136b439c39a5f8f043183dc242791ac3b7ca01efab4a2e5342b449f9
MD5 53bdc1f76719bc8126234e9871e540ac
BLAKE2b-256 c8cf87d1c9e0434bd892db65a183cb7c6e02080356bfd0d81f5d43fb7de03c78

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a4d1939e69761ea32bcd27880d6f389dc880806216e128f2c16c6e6fd654719
MD5 a41ca7f3d372e14672fcc0698aeeed4f
BLAKE2b-256 78a96126b1783a5f87a96cca5765c5bc9408b2e638a510f3a0f947cd955f19a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aeaaa13a8ed306aab29a758010d5d1b0b65b2638ea3467ca5ec570250dbd3d67
MD5 71002058b42d69087d79e17d3ee1c54d
BLAKE2b-256 85daeb6728345b9410d6f14635c0a05396fd7699e9df0c7d14e97efc2df42c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 31ccd0f5650ec77302d0d80a6b2cd76b958494ca506ce70122b6f9fbc99fd400
MD5 c40be39496d1966832aebb23b191c300
BLAKE2b-256 6d9bd067fda4e37b470a8d53534557ec90fdc64c369b1c17cb12965c81d7f087

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be82386166b054e2253ed3ad901b31e2c9795f5a688a31959a5a327998e96a37
MD5 073c50425166fdbb74f0858ceb4c209b
BLAKE2b-256 e509f5c34f21eb726cec698605ec3a12707b17ee6bd4afd2f77209cecddecd36

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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.6-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dustr-1.0.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 52419b7b67d3b4def75a6e4f7aba88ae4370ceaecf69f332b2c37ac75967feb8
MD5 30f18f0e664442d81f49ceff361c79bc
BLAKE2b-256 c49725dca6d11b1c30006b344f41537447935de0a279b3762a0bcaef7f5ae710

See more details on using hashes here.

Provenance

The following attestation bundles were made for dustr-1.0.6-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