Skip to main content

🧹 diskuse

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

crates.io pypi tests license

diskuse browsing a home folder


⚡️  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, and just demo to re-record the demo above. 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.


🤖  AI Use

diskuse was written with the help of an AI coding assistant (Claude Code). I designed the features, made the decisions, and reviewed and tested every change. The benchmarks are real runs on real machines, see bench/README.md.

Metadata

Release files for diskuse 0.1.1

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.1
File Size Uploaded
diskuse-0.1.1.tar.gz 127.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for diskuse 0.1.1
File
diskuse-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
diskuse-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
diskuse-0.1.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
diskuse-0.1.1-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.1.tar.gz

Download URL diskuse-0.1.1.tar.gz
Size 127.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a58ada73b2d1058029c18bab7d91cb9a38257a387323914f1ee6217b8f85de56
BLAKE2b-256 checksum
How to use checksums
0c3e8eeace2bba4e32f008ece1a0c96f573513294f04906aebc5eaac49cfe859
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.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL diskuse-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 874.3 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
4f981fd1b2f9b55b2db3b21765e8cce8b867df68a2d4da5a4e5e869081664b84
BLAKE2b-256 checksum
How to use checksums
ffd6b73cc46935c1f8b269a710d693979553c3ab92a8202c9b659e5e8bdbfd7e
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.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL diskuse-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 833.3 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
225fb26e2ce3ac3bfaba35352e0eef679d2b252d4252b02a880dd2c51e564e59
BLAKE2b-256 checksum
How to use checksums
0789cc9200e0f6fa5cd8d65a4f9c5aa7605542b20dcfb286b1a6632271613c65
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.1-py3-none-macosx_11_0_arm64.whl

Download URL diskuse-0.1.1-py3-none-macosx_11_0_arm64.whl
Size 827.6 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0215d34407e0cb521e0b6069391f2feec15a57a49477fe8c3ab0d38c71efe4ff
BLAKE2b-256 checksum
How to use checksums
04825a556d72684c8f79bb22d073228484ced204479b0876563a30dd80e5b273
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.1-py3-none-macosx_10_12_x86_64.whl

Download URL diskuse-0.1.1-py3-none-macosx_10_12_x86_64.whl
Size 865.7 kB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6ebeed7952b1d8bc5d7f27b9086bf5661b4d7e6b788d6f98c04b8675c93f9681
BLAKE2b-256 checksum
How to use checksums
23e196dced0fc5bd0ed8c6dd8a7b3e707044c516e306830d54a061d8a72e7371
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

This release

0.1.1 This release

5 release files

0.1.0

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