Skip to main content

Rust-based disk usage analyzer with histogram visualization

Project description

Dustr

PyPI version Build PyPI - Python Version License

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

pip install dustr

From source

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

Then install maturin:

pip install maturin

Build and install the package:

cd dustr
maturin develop  # For development
# OR
maturin build --release  # To build a wheel
pip install target/wheels/dustr-*.whl

Usage

dustr [OPTIONS] [DIRECTORY]

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

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
  • Progress: Since the Rust implementation calculates all sizes in parallel, progress indication is less granular

Requirements

  • Python >= 3.9
  • Rust toolchain (for building from source)

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-0.1.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (661.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dustr-0.1.16-cp313-cp313-macosx_11_0_arm64.whl (595.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dustr-0.1.16-cp313-cp313-macosx_10_12_x86_64.whl (612.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dustr-0.1.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dustr-0.1.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (661.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dustr-0.1.16-cp312-cp312-macosx_11_0_arm64.whl (596.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dustr-0.1.16-cp312-cp312-macosx_10_12_x86_64.whl (612.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dustr-0.1.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (673.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dustr-0.1.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (665.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dustr-0.1.16-cp311-cp311-macosx_11_0_arm64.whl (598.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dustr-0.1.16-cp311-cp311-macosx_10_12_x86_64.whl (613.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dustr-0.1.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (673.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dustr-0.1.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (664.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dustr-0.1.16-cp310-cp310-macosx_11_0_arm64.whl (598.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dustr-0.1.16-cp310-cp310-macosx_10_12_x86_64.whl (613.6 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 155de6198c40863468ce86c32165be2ce37d973a372578f7ccf69820b015ad3e
MD5 b2ed48be3a2a1e6c72d88f6e03f7d8ed
BLAKE2b-256 478d907afbb865d97c79b20967830b5640374b4a701a49b69f1eac902e64441b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76c965b13fa2d31f8a20cb4f62651bf98175798af4b5fa6e9fbf45471685396b
MD5 0b4f465a943aecea832d8c25a2bc5700
BLAKE2b-256 fb83a34ffd9b6d9f8a8d8986fcab00f2b7b18ffdf6841207e31287365e886412

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e66ac3bc79900e1b9c581bdcbb152a8623b8b6e4008c7518a9022422f1fcdce5
MD5 8a19ccf5bdd7b49d327b9242691b970a
BLAKE2b-256 a1194f7bd0739d606c2c6a872e44b8e3a114c36bce12d3ca93de23aec9002339

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29e33ad0c96890a8308e0331d9b933d775d80d31f02c2c3e1c38ae2ffb523f12
MD5 90a964935da87047e75183e46916a39f
BLAKE2b-256 b2dd4fa775f7440c067bee123470d824379df455fc0009fe174544bdba470831

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d55e576405027853c754f8df18c1cdaa2823ccb60620605f89b7538f5f3b1063
MD5 79ea064ead0949a4da55c876b8ba2691
BLAKE2b-256 ee077295385d4fa32440fe1f4165c3ec3bd1c972a0b34316bd58177dc3ae4917

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bec410f1f09eacf3680b05dd12d764f18816a71dbd2ac135c852659afbdf7a73
MD5 788ddabbfc738c3834ac2782dc37ca7d
BLAKE2b-256 170594ce41349eaacfd8295bcc993a3e159cfdf1caf13749278bb30e82adb21c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 986c937e5b8c1606e9b7765491e4a5cf795fb68d74db502ace1485429b275fd5
MD5 5c1ed4f25651e09aeeaf18da2359501b
BLAKE2b-256 31a1d22260feda934c77508dfaf0e6b35c82aae1409e7f113921009d5c9ca08c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6da8a59c645009c13bc56dfee5a1dd1fc74208720006ea0e04a899daa38a583d
MD5 0e72db862a86341a29e3e6ded75aad35
BLAKE2b-256 b0939b6003bbfa5fb598522801a87db5b7efabbf2057b549157d7db48be2adf9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d7eba1358d55f1d19c6ab1841672e1a5b78c62152a06e989ece6888ddc30f0a
MD5 63596672a08a5f98734be14dc7f54e93
BLAKE2b-256 b75b83cd4440e964af70549965c828f77d91ba75d8f3a7a63aba1802d1a0428c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 689d094720b0b5e4cf3928cadf8a89ef86e04fcaccc9afda2bdf48d1cf5d5853
MD5 76df03df1c82d998401d4a247b53d0cc
BLAKE2b-256 a310d67099ca2adc2053c2e714200dbe540b4ca9da7a323550b09518f44d52e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ec8be84dc8b6a9b247f56d48104e1364a32ac9125d8983d4f136418c65d1ac7b
MD5 22027e282cabbe91271872c8f75570c6
BLAKE2b-256 045ca845afc266c53eb972bb8567ec90442a7fed9b8c1af5a67b719f1009c54e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 357a46623b710c706d3a26057e71b14add1e21c778c3bd35b98705d986bbfe16
MD5 d02fe4ee5045ed6538b539bb352e5453
BLAKE2b-256 90eab7caad6d8adf044f7dea7d3662c9e9f674f529042393996e598899a75e15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2e2ff28595ff979229a24b6421816c6d75611d1d6ab0f5aa6405e93ab1877df
MD5 b0835175ec98e3608b19b1f9caeb8341
BLAKE2b-256 da4e76302b3060985e8822e1efd2cdf134e4427754acedd9421cd42024b8492b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69ba989b07491df3e2fadcd17d8b6459fe9c996ca018fd10e1a0e962fd635baa
MD5 b72e623ad3679e7b6591566b8cb7ec0c
BLAKE2b-256 3708e710f50f581fda7768cb496c8e5c730570e00aebbd4eb8d4f84003ff3f7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dustr-0.1.16-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 110934a1b8262411033008d21866111a49969d406dde579c2df3fececca6fc9b
MD5 ace7beaec8730d8cd87d82ac302c9708
BLAKE2b-256 32129d06130c1dd581e4f414b73391645d94b1a3e95ac0180dea82a9ef6506c8

See more details on using hashes here.

Provenance

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