Skip to main content

macOS Storage Analyzer & Cleanup Recommender

Project description

storageanalyser

macOS Storage Analyzer & Cleanup Recommender.

Scans your home directory (and optionally other paths) to find large files, stale files, junk directories, build artifacts, duplicates, and old downloads. Outputs a prioritised list of cleanup recommendations with estimated space savings.

Installation

uv pip install -e ".[dev]"

Usage

storageanalyser                           # Scan home directory
storageanalyser /Volumes/Data             # Scan a specific path
storageanalyser --top 30                  # Show top 30 recommendations
storageanalyser --duplicates              # Include duplicate detection
storageanalyser --json                    # JSON output
storageanalyser --threshold 50            # Flag files over 50 MB
storageanalyser --ignoredir node_modules  # Skip directories
storageanalyser --includedir CloudStorage # Override a default-skipped directory
storageanalyser --list-skipped            # Show directories skipped by default
storageanalyser --web                     # Launch the web interface
storageanalyser --web --port 9000         # Web interface on a custom port

Web Interface

Launch the web UI with storageanalyser --web. Features include:

  • Live scan progress with cancel support
  • Disk usage pie chart and summary cards
  • Category breakdown bar chart
  • Clickable treemap (click to jump to the recommendation)
  • Recommendations organized by category tabs with per-tab sorting
  • Short/full path toggle for readability
  • Duplicate detection with full path listing and wasted space calculation
  • Configurable skipped directories (override defaults to include cloud storage, etc.)
  • Cleanup script download for selected items
  • Google Drive integration and cross-environment deduplication

Screenshots

Scan form with configurable skipped directories:

Scan Form

Results summary with disk usage pie chart and summary cards:

Results Summary

Category breakdown and clickable treemap:

Category & Treemap

Recommendations organized by category tabs:

Recommendations

Duplicate detection with copy count and wasted space:

Duplicates

Skipped Directories

By default, certain directories are skipped during scans (cloud storage, macOS system directories, Photos library, etc.). Use --list-skipped to see them and --includedir to override:

storageanalyser --list-skipped
storageanalyser --includedir Music --includedir Movies

Development

uv sync --extra dev
uv run python -m invoke test.run
uv run python -m invoke docs.build

Documentation

Full documentation is in the docs/ directory. Build with Sphinx:

uv run python -m invoke docs.build

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

storageanalyser-0.1.0.tar.gz (743.6 kB view details)

Uploaded Source

Built Distribution

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

storageanalyser-0.1.0-py3-none-any.whl (53.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: storageanalyser-0.1.0.tar.gz
  • Upload date:
  • Size: 743.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for storageanalyser-0.1.0.tar.gz
Algorithm Hash digest
SHA256 60e45f72d532912aec60b0bb1919f87ec8532d0a303286f3d75e40d4c2679247
MD5 2c03f7d0acf15924914f49c9b2ac218d
BLAKE2b-256 3cc022c01a1b1e8d27fe30db4ce8e59de01d340dc5cf30d75154d429157b2af1

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on jdrumgoole/storageanalyser

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

File details

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

File metadata

File hashes

Hashes for storageanalyser-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 231124934852f658041b20e7cbfb99ee29bb8272deabb1a2a4f86d4a1ce28520
MD5 6780c92c3185b9beccaf484744761093
BLAKE2b-256 67043082beb59c0c8331e598bed02c0d30b2ed4f4a2a6ddda58ef3fadf4a593d

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on jdrumgoole/storageanalyser

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