Skip to main content

A much faster du that tells you why your quota is full.

Project description

rapiDU

A much faster du that tells you why your quota is full.

CI Python 3.6+ No dependencies MIT License

rapiDU walking a project tree and explaining that it occupies 266.8 MiB to hold 75.5 MiB of data, ranking the same tree by file count, printing a quota table with the age of its snapshot, finding 512 MiB held by a deleted-but-open file descriptor, and catching a freshly written GPFS tree that loses 224 MiB while it settles.

Install

pip install rapidu

Use

rdu                      # this directory: how big, and what is big inside it
rdu /project/mylab       # any other path
rdu ~/scratch -n 20      # list 20 entries instead of 10

rdu -i                   # rank by file count -- what an inode quota limits
rdu -c                   # count files only, no stat: ~8x again on GPFS
rdu -Q                   # the quota table, and the age of its figures
rdu -D                   # space held by files deleted while still open
rdu -a                   # the full audit: quota + /proc scan + reconciliation

Faster, and the same number

Cold GPFS walk: du takes 168.1s against rapiDU's 25.4s on a 792,225-file package cache (6.6x), and 298.5s against 57.4s on a 1,686,589-file project directory (5.2x).

Same total as du, to the byte. That is checked on every commit.

Reading the table

      size  of tree              share      files  path
 661.5 GiB  █████▋░░░░░░░░░░░░   31.9%        350  checkpoints/
 343.8 GiB  ██▊░░░░░░░░░░░░░░░   16.6%        968  datasets/
 470.9 GiB  ▒▒▒▒▒▒▒▒░░░░░░░░░░   22.9%      4,117  (84 more — use -n 0 for all)

The bar is share of the whole tree, so it always agrees with the number beside it. The hatched row is everything not listed. The column you sorted by is the one in colour — under -i, files takes the tone and size steps back. Sizes are cumulative, so any row agrees with du -s on that path.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rapidu-0.1.0.tar.gz (93.7 kB view details)

Uploaded Source

Built Distribution

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

rapidu-0.1.0-py3-none-any.whl (64.7 kB view details)

Uploaded Python 3

File details

Details for the file rapidu-0.1.0.tar.gz.

File metadata

  • Download URL: rapidu-0.1.0.tar.gz
  • Upload date:
  • Size: 93.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidu-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ea5f2ceef4e87bf23a5c0c0ad2b0af6b240d473cc6e9bb79fea13d4667fb701c
MD5 3fecd3899484ecad279d2e960a1c7722
BLAKE2b-256 38edab9335426de92b632152049c12c8b1c58e5b2d617bef2c61788adda725dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidu-0.1.0.tar.gz:

Publisher: release.yml on PursuitOfDataScience/rapidu

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

File details

Details for the file rapidu-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rapidu-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidu-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28b346f08918e1aca199b5cea16b77658a7176758f29738756c105c55be17cc7
MD5 e76ccd23b9558657a620cde1f7d877a6
BLAKE2b-256 2e2616580f223b5f50048e7677e0f1c3d6bf8a1cebc0e907bba619efe90327ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidu-0.1.0-py3-none-any.whl:

Publisher: release.yml on PursuitOfDataScience/rapidu

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