bloatr 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ __pycache__/
2
+ *.egg-info/
3
+ dist/
4
+ build/
5
+ .pytest_cache/
6
+ .venv/
7
+ *.pyc
8
+ .coverage
bloatr-0.1.0/Makefile ADDED
@@ -0,0 +1,19 @@
1
+ .PHONY: install test run build publish clean
2
+
3
+ install:
4
+ pip install -e ".[dev]" 2>/dev/null || pip install -e . && pip install pytest pytest-cov
5
+
6
+ test:
7
+ pytest tests/ -v --cov=bloatr --cov-report=term-missing
8
+
9
+ run:
10
+ python -m bloatr
11
+
12
+ build:
13
+ python -m build
14
+
15
+ publish:
16
+ python -m twine upload dist/*
17
+
18
+ clean:
19
+ rm -rf dist/ build/ *.egg-info src/*.egg-info .pytest_cache __pycache__
bloatr-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,131 @@
1
+ Metadata-Version: 2.4
2
+ Name: bloatr
3
+ Version: 0.1.0
4
+ Summary: Kill your Mac's bloat. Select. Delete. Done.
5
+ Project-URL: Homepage, https://github.com/suhasdinesh/bloatr
6
+ Project-URL: Repository, https://github.com/suhasdinesh/bloatr
7
+ Project-URL: Bug Tracker, https://github.com/suhasdinesh/bloatr/issues
8
+ License: MIT
9
+ Keywords: cleanup,developer,disk,macos,storage
10
+ Requires-Python: >=3.11
11
+ Requires-Dist: textual>=0.60
12
+ Description-Content-Type: text/markdown
13
+
14
+ # bloatr
15
+
16
+ > Kill your Mac's bloat. Select. Delete. Done.
17
+
18
+ A dead-simple macOS CLI that finds your biggest developer cache directories, lets you browse them, and deletes what you don't need — with a clean terminal UI.
19
+
20
+ ```
21
+ SIZE LOCATION
22
+ 24.3 GB ▶ ~/Library/Developer/Xcode/DerivedData
23
+ 11.2 GB ~/Library/Caches
24
+ 4.1 GB ~/Library/Android/sdk
25
+ 3.1 GB ~/.expo
26
+ 1.9 GB ~/.gradle/caches
27
+ 515 MB ~/.npm
28
+
29
+ space:select enter:explore esc:back d:delete q:quit
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Install
35
+
36
+ ```bash
37
+ pipx install bloatr
38
+ ```
39
+
40
+ Or with pip:
41
+
42
+ ```bash
43
+ pip install bloatr
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Usage
49
+
50
+ ```bash
51
+ # Launch interactive TUI (scans known developer bloat locations)
52
+ bloatr
53
+
54
+ # Scan any directory — like `du` but interactive
55
+ bloatr ~/
56
+ bloatr ~/Documents
57
+ bloatr ~/Library/Caches
58
+
59
+ # Preview what would be deleted (safe mode)
60
+ bloatr --dry-run
61
+
62
+ # Only show items > 1 GB
63
+ bloatr --min-size 1G
64
+
65
+ # JSON output (pipe-friendly)
66
+ bloatr --json
67
+ bloatr --json ~/Library | jq '.[].size_human'
68
+ ```
69
+
70
+ ---
71
+
72
+ ## What it scans
73
+
74
+ | Location | What it is |
75
+ |---|---|
76
+ | `~/Library/Developer/Xcode/DerivedData` | Xcode build artifacts |
77
+ | `~/Library/Developer/Xcode/Archives` | Xcode app archives |
78
+ | `~/Library/Developer/CoreSimulator/Runtimes` | iOS/watchOS simulator runtimes |
79
+ | `~/Library/Developer/Xcode/iOS DeviceSupport` | Per-device debug symbols |
80
+ | `~/Library/Caches` | App caches |
81
+ | `~/.gradle/caches` | Gradle build cache |
82
+ | `~/.npm` | npm package cache |
83
+ | `~/.yarn/cache` | Yarn package cache |
84
+ | `~/.pnpm-store` | pnpm content-addressable store |
85
+ | `~/.cocoapods/repos` | CocoaPods spec repos |
86
+ | `~/.cargo/registry` | Rust crate registry |
87
+ | `~/.cargo/git` | Rust git dependencies |
88
+ | `~/.pub-cache` | Flutter/Dart package cache |
89
+ | `~/go/pkg/mod` | Go module cache |
90
+ | `~/.expo` | Expo/React Native cache |
91
+ | `~/Library/Android/sdk` | Android SDK |
92
+ | `~/Library/Application Support/JetBrains` | JetBrains IDE caches |
93
+ | Homebrew cache | `brew --cache` output |
94
+
95
+ ---
96
+
97
+ ## Keyboard shortcuts
98
+
99
+ | Key | Action |
100
+ |---|---|
101
+ | `j` / `↓` | Move down |
102
+ | `k` / `↑` | Move up |
103
+ | `space` | Toggle select |
104
+ | `enter` | Drill into folder |
105
+ | `esc` / `backspace` | Go back |
106
+ | `d` | Delete selected items |
107
+ | `r` | Rescan from scratch |
108
+ | `q` | Quit |
109
+
110
+ ---
111
+
112
+ ## Safety
113
+
114
+ bloatr will **never** delete:
115
+ - Anything outside your home directory (`~`)
116
+ - Top-level protected directories (`~/Library`, `~/Documents`, `~/Desktop`, etc.)
117
+ - The home directory itself
118
+
119
+ Every deletion requires an explicit confirmation prompt. Use `--dry-run` to preview without touching anything.
120
+
121
+ ---
122
+
123
+ ## Credits
124
+
125
+ Idea and direction by a human who lost 100 GB to Mac bloat one too many times. Code written entirely by [Claude Code](https://claude.ai/code).
126
+
127
+ ---
128
+
129
+ ## License
130
+
131
+ MIT
bloatr-0.1.0/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # bloatr
2
+
3
+ > Kill your Mac's bloat. Select. Delete. Done.
4
+
5
+ A dead-simple macOS CLI that finds your biggest developer cache directories, lets you browse them, and deletes what you don't need — with a clean terminal UI.
6
+
7
+ ```
8
+ SIZE LOCATION
9
+ 24.3 GB ▶ ~/Library/Developer/Xcode/DerivedData
10
+ 11.2 GB ~/Library/Caches
11
+ 4.1 GB ~/Library/Android/sdk
12
+ 3.1 GB ~/.expo
13
+ 1.9 GB ~/.gradle/caches
14
+ 515 MB ~/.npm
15
+
16
+ space:select enter:explore esc:back d:delete q:quit
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Install
22
+
23
+ ```bash
24
+ pipx install bloatr
25
+ ```
26
+
27
+ Or with pip:
28
+
29
+ ```bash
30
+ pip install bloatr
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Usage
36
+
37
+ ```bash
38
+ # Launch interactive TUI (scans known developer bloat locations)
39
+ bloatr
40
+
41
+ # Scan any directory — like `du` but interactive
42
+ bloatr ~/
43
+ bloatr ~/Documents
44
+ bloatr ~/Library/Caches
45
+
46
+ # Preview what would be deleted (safe mode)
47
+ bloatr --dry-run
48
+
49
+ # Only show items > 1 GB
50
+ bloatr --min-size 1G
51
+
52
+ # JSON output (pipe-friendly)
53
+ bloatr --json
54
+ bloatr --json ~/Library | jq '.[].size_human'
55
+ ```
56
+
57
+ ---
58
+
59
+ ## What it scans
60
+
61
+ | Location | What it is |
62
+ |---|---|
63
+ | `~/Library/Developer/Xcode/DerivedData` | Xcode build artifacts |
64
+ | `~/Library/Developer/Xcode/Archives` | Xcode app archives |
65
+ | `~/Library/Developer/CoreSimulator/Runtimes` | iOS/watchOS simulator runtimes |
66
+ | `~/Library/Developer/Xcode/iOS DeviceSupport` | Per-device debug symbols |
67
+ | `~/Library/Caches` | App caches |
68
+ | `~/.gradle/caches` | Gradle build cache |
69
+ | `~/.npm` | npm package cache |
70
+ | `~/.yarn/cache` | Yarn package cache |
71
+ | `~/.pnpm-store` | pnpm content-addressable store |
72
+ | `~/.cocoapods/repos` | CocoaPods spec repos |
73
+ | `~/.cargo/registry` | Rust crate registry |
74
+ | `~/.cargo/git` | Rust git dependencies |
75
+ | `~/.pub-cache` | Flutter/Dart package cache |
76
+ | `~/go/pkg/mod` | Go module cache |
77
+ | `~/.expo` | Expo/React Native cache |
78
+ | `~/Library/Android/sdk` | Android SDK |
79
+ | `~/Library/Application Support/JetBrains` | JetBrains IDE caches |
80
+ | Homebrew cache | `brew --cache` output |
81
+
82
+ ---
83
+
84
+ ## Keyboard shortcuts
85
+
86
+ | Key | Action |
87
+ |---|---|
88
+ | `j` / `↓` | Move down |
89
+ | `k` / `↑` | Move up |
90
+ | `space` | Toggle select |
91
+ | `enter` | Drill into folder |
92
+ | `esc` / `backspace` | Go back |
93
+ | `d` | Delete selected items |
94
+ | `r` | Rescan from scratch |
95
+ | `q` | Quit |
96
+
97
+ ---
98
+
99
+ ## Safety
100
+
101
+ bloatr will **never** delete:
102
+ - Anything outside your home directory (`~`)
103
+ - Top-level protected directories (`~/Library`, `~/Documents`, `~/Desktop`, etc.)
104
+ - The home directory itself
105
+
106
+ Every deletion requires an explicit confirmation prompt. Use `--dry-run` to preview without touching anything.
107
+
108
+ ---
109
+
110
+ ## Credits
111
+
112
+ Idea and direction by a human who lost 100 GB to Mac bloat one too many times. Code written entirely by [Claude Code](https://claude.ai/code).
113
+
114
+ ---
115
+
116
+ ## License
117
+
118
+ MIT
@@ -0,0 +1,35 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "bloatr"
7
+ version = "0.1.0"
8
+ description = "Kill your Mac's bloat. Select. Delete. Done."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = { text = "MIT" }
12
+ keywords = ["macos", "disk", "cleanup", "developer", "storage"]
13
+ dependencies = [
14
+ "textual>=0.60",
15
+ ]
16
+
17
+ [project.scripts]
18
+ bloatr = "bloatr.cli:main"
19
+
20
+ [project.urls]
21
+ Homepage = "https://github.com/suhasdinesh/bloatr"
22
+ Repository = "https://github.com/suhasdinesh/bloatr"
23
+ "Bug Tracker" = "https://github.com/suhasdinesh/bloatr/issues"
24
+
25
+ [tool.hatch.build.targets.wheel]
26
+ packages = ["src/bloatr"]
27
+
28
+ [tool.pytest.ini_options]
29
+ testpaths = ["tests"]
30
+
31
+ [dependency-groups]
32
+ dev = [
33
+ "pytest>=8.0",
34
+ "pytest-cov>=5.0",
35
+ ]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,3 @@
1
+ from bloatr.cli import main
2
+
3
+ main()