Metadata-Version: 2.4
Name: storageanalyser
Version: 0.1.1
Summary: Storage Analyzer & Cleanup Recommender
Project-URL: Homepage, https://github.com/jdrumgoole/storageanalyser
Project-URL: Repository, https://github.com/jdrumgoole/storageanalyser
Project-URL: Issues, https://github.com/jdrumgoole/storageanalyser/issues
Author-email: Joe Drumgoole <joe@joedrumgoole.com>
License: MIT
License-File: LICENSE
Keywords: analyzer,cleanup,disk,duplicate,macos,storage,windows
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=3.13
Requires-Dist: fastapi>=0.111
Requires-Dist: google-api-python-client>=2.0
Requires-Dist: google-auth-httplib2>=0.1
Requires-Dist: google-auth-oauthlib>=1.0
Requires-Dist: jinja2>=3.1
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: uvicorn[standard]>=0.30
Provides-Extra: dev
Requires-Dist: httpx; extra == 'dev'
Requires-Dist: invoke; extra == 'dev'
Requires-Dist: myst-parser; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: shot-scraper; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Description-Content-Type: text/markdown

# 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

```bash
uv pip install -e ".[dev]"
```

## Usage

```bash
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](https://raw.githubusercontent.com/jdrumgoole/storageanalyser/main/docs/screenshot-scan-form.png)

**Results summary** with disk usage pie chart and summary cards:

![Results Summary](https://raw.githubusercontent.com/jdrumgoole/storageanalyser/main/docs/screenshot-results-summary.png)

**Category breakdown** and clickable **treemap**:

![Category & Treemap](https://raw.githubusercontent.com/jdrumgoole/storageanalyser/main/docs/screenshot-category-treemap.png)

**Recommendations** organized by category tabs:

![Recommendations](https://raw.githubusercontent.com/jdrumgoole/storageanalyser/main/docs/screenshot-recommendations.png)

**Duplicate detection** with copy count and wasted space:

![Duplicates](https://raw.githubusercontent.com/jdrumgoole/storageanalyser/main/docs/screenshot-duplicates.png)

## 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:

```bash
storageanalyser --list-skipped
storageanalyser --includedir Music --includedir Movies
```

## Development

```bash
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:

```bash
uv run python -m invoke docs.build
```
