Skip to main content

🧹 diskuse

A fast, read-only disk usage browser for macOS and Linux,
inspired by OmniDiskSweeper

crates.io pypi tests license

/Users/me  412.0 GiB  (+2.1 GiB in 12 min)
  41.2 GiB   +1.3 GiB ####...... Library/           38.2 GiB ########.. Developer/
  12.0 GiB            #......... Movies/             1.9 GiB #......... Caches/  [cache]
   8.4 GiB            #......... node_modules/  [cache: npm]
   3.4 GiB   -200 MiB #......... Downloads/  [downloads]
[cache: npm] npm install rebuilds it.  r reveal to delete  space pick
hjkl move  r reveal  o open  space pick  p picks  s/S rescan  / filter  t top  ? help  q quit

⚡️  Quickstart

  1. Run diskuse without installing it using uvx diskuse

  2. Or browse a specific folder with uvx diskuse ~

  3. Press ? to see all the keys

To install it instead, use uv tool install diskuse, pipx install diskuse or cargo install diskuse. Prebuilt binaries for macOS and Linux are also on the releases page.


📋  Features

  • As fast as dua and dumac, and faster than dust, pdu, gdu and ncdu (see benchmarks)
  • Read-only, it never deletes anything. Reveal an item in Finder with r and delete it yourself
  • Three columns like OmniDiskSweeper, with sizes filling in while it scans
  • Updates live while open, with a column showing what grew or shrank
  • Labels for caches and other large folders, eg. node_modules, target, .venv, Xcode, Docker
  • Pick items with space to come back to later
  • Works on macOS and Linux

⌨️  Keys

Key Action Key Action
arrows, hjkl move space pick an item
r reveal in Finder p list picked items
o open c sort by change
/ filter s / S rescan folder / everything
t largest files d folders that could not be read
? help q quit

💻  Command Line

diskuse scan ~/src           # print sizes, largest first
diskuse scan ~/src --top 10  # also list the 10 largest files
diskuse scan ~/src --json    # json output for scripts
diskuse show ~/src           # print the last scan again

Sizes are allocated bytes like du -x. Scans stay on one disk, never follow symlinks, and count hard links once.


🔐  Full Disk Access (macOS)

macOS hides some folders like Mail, Messages and Safari from apps without Full Disk Access. diskuse checks this before your first scan and tells you which terminal app needs it. To enable it, turn on your terminal in System Settings > Privacy & Security > Full Disk Access, then restart the terminal. diskuse never asks for sudo.


🏁  Benchmarks

Warm cache on an Apple M4 (10 cores, 24 GB, macOS 27), 3 timed runs each, so differences under about 6% are noise. Every tool's total matched du. See bench/README.md to reproduce.

S1: the dumac README tree, 4,095 folders and 409,500 files

tool kind time memory
diskuse tree 0.342 s 7.7 MiB
dua tree 0.350 s 9.2 MiB
dumac totals only 0.446 s -

Homebrew: a homebrew prefix, 42,700 folders and 12 GiB. "Best" is each tool at its fastest thread count.

tool kind default threads best memory
diskuse tree 0.610 s 0.610 s 13.8 MiB
dumac totals only 0.636 s 0.636 s 31.8 MiB
dua tree 0.722 s 0.647 s 12.7 MiB
diskus totals only 0.997 s 0.950 s 20.2 MiB
dust tree 1.086 s 1.086 s 156.7 MiB
pdu tree 1.087 s 0.989 s 36.5 MiB
gdu tree 1.844 s 1.177 s 41.9 MiB
ncdu totals only (-o -) 2.709 s 1.030 s 2.3 MiB
du totals only 2.703 s 2.703 s 5.5 MiB
DiskScour tree 3.581 s 3.581 s 248.8 MiB

Versions: dua 2.45.1, gdu 5.37.0, dust 1.2.6, pdu 0.24.0, ncdu 2.9.2, DiskScour 0.5.0, diskus 0.9.0, dumac 1ffbe3c3, du (macOS).


🛠  Development

Run just check to format, lint and test. Benchmarks are run with just bench, see bench/README.md.

Scans are cached in ~/Library/Caches/diskuse (or ~/.cache/diskuse on Linux), which can be changed with DISKUSE_CACHE_DIR. This is the only place diskuse ever writes to.


License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Metadata

Release files for diskuse 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for diskuse 0.1.0
File Size Uploaded
diskuse-0.1.0.tar.gz 126.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for diskuse 0.1.0
File
diskuse-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
diskuse-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
diskuse-0.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
diskuse-0.1.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 3.5 MB

Release files / diskuse-0.1.0.tar.gz

Download URL diskuse-0.1.0.tar.gz
Size 126.7 kB
Tags Source
SHA-256 checksum
How to use checksums
708bca2c4559f277ae87a1483be9abe5c8782b18cb8922fde656c26b69e09d24
BLAKE2b-256 checksum
How to use checksums
d3f86e4abe9a58cadb2201fbd33c65537323eb371aeb863688b671c996ba39ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / diskuse-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL diskuse-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 874.1 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
24dfa89874a7e2b99f5d21ccba5a38c1d28c8a2fe98d7caf1b4e916b34798758
BLAKE2b-256 checksum
How to use checksums
1a88c78c5dd76a84b116550c473171f9d3fad6380057ba52242c2bdd5fcb9a5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / diskuse-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL diskuse-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 832.9 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
ec623cc63bb620a948fa025a8a178821f83a6d46d10fe1944da8eaef21dc1434
BLAKE2b-256 checksum
How to use checksums
6c2be121144c4876b992edf93cfdf65e47fd3bc3c9fc44ce1899b9fa3589260c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / diskuse-0.1.0-py3-none-macosx_11_0_arm64.whl

Download URL diskuse-0.1.0-py3-none-macosx_11_0_arm64.whl
Size 827.4 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b14e102b86344824212366416d77a7cf66ad07014aba3623d279cd433c5e02db
BLAKE2b-256 checksum
How to use checksums
80c3cdd7d45ebf7e832a96340439836c7bad78565f6cf87830d88661645fc0b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / diskuse-0.1.0-py3-none-macosx_10_12_x86_64.whl

Download URL diskuse-0.1.0-py3-none-macosx_10_12_x86_64.whl
Size 865.4 kB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f11dbe23d7fcdb8317c91b3de27046d6e0e13388e17d98d0bec9aba9f991686e
BLAKE2b-256 checksum
How to use checksums
def6f24e852e0fdfa6d8ffd9ae1a98da7bb6eeb677ba6170b6d739a571b69d64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

5 release files

This release

0.1.0 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page