Universal cleanup tool for ANY files/folders - works with all languages and build systems
Project description
🧹 jhadoo - Universal Cleanup Tool
Smart cleanup for any unused files/folders in your projects. Works with Python, Node.js, Rust, Go, Java, C++, or custom folders.
Quick Start
# Install
pip install jhadoo
# Preview (safe)
jhadoo --dry-run
# Run cleanup
jhadoo
# Archive mode (safer)
jhadoo --archive
# Schedule daily cleanup
jhadoo --schedule daily --archive
# View stats
jhadoo --dashboard
Features
- Universal: Works with ANY file/folder name (venv, node_modules, build, dist, target, or custom)
- Safe: Dry-run mode, size caps, confirmations, archive mode
- Scheduled: Built-in cron/Task Scheduler integration
- Cross-platform: macOS, Windows, Linux
- Smart: Dashboard with trends, progress bars, notifications
Configuration
# Generate config
jhadoo --generate-config
# Edit and use
jhadoo --config jhadoo_config.json
Example config:
{
"targets": [
{"name": "venv", "days_threshold": 7, "enabled": true},
{"name": "node_modules", "days_threshold": 14, "enabled": true},
{"name": "build", "days_threshold": 14, "enabled": true},
{"name": "YOUR_CUSTOM_FOLDER", "days_threshold": 7, "enabled": true}
],
"exclusions": ["~/important-project"],
"safety": {
"size_threshold_mb": 5000,
"require_confirmation_above_mb": 500
}
}
Scheduling
# Daily at 2 AM
jhadoo --schedule daily
# Weekly (Sunday 2 AM)
jhadoo --schedule weekly
# Custom cron
jhadoo --cron "0 3 * * 1" # Monday 3 AM
# Manage
jhadoo --list-schedules
jhadoo --remove-schedule
Examples
See examples/ for detailed code examples:
- 01_basic_usage.py - Dry-run, archive, actual cleanup
- 02_custom_config.py - Custom configuration
- 03_scheduling.py - Automated scheduling
Universal Support
Works with all languages and build systems:
| Language | Folders |
|---|---|
| Python | venv, __pycache__, .pytest_cache, .tox |
| Node.js | node_modules, .next, .nuxt |
| Rust | target |
| Go | vendor, bin |
| Java | target, build, .gradle |
| C/C++ | build, *.o |
| .NET | bin, obj |
| Custom | Any folder you specify! |
Python API
from jhadoo import Config, CleanupEngine, Scheduler
# Run cleanup
config = Config()
engine = CleanupEngine(config, dry_run=True)
result = engine.run()
# Schedule
scheduler = Scheduler()
scheduler.schedule('daily', archive=True)
Command Reference
jhadoo [OPTIONS]
Options:
-c, --config FILE Custom config file
-n, --dry-run Preview without deleting
-a, --archive Move to archive instead of delete
-d, --dashboard Show statistics
--schedule FREQ Schedule cleanup (daily/weekly/monthly/hourly)
--cron EXPR Custom cron expression
--list-schedules List scheduled tasks
--remove-schedule Remove scheduled tasks
--generate-config Create sample config
-v, --version Show version
Safety
- Size warnings: Alerts if deletion exceeds 5GB
- Confirmations: Asks before deleting >500MB
- Exclusions: Protect critical folders
- System protection: Never touches OS directories
- Deletion manifest: JSON log for recovery
File Locations
- Logs:
~/.jhadoo/cleanup_log.csv - Manifest:
~/.jhadoo/deletion_manifest.json - Archive:
~/.jhadoo_archive/
License
MIT License - see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jhadoo-1.0.1.tar.gz.
File metadata
- Download URL: jhadoo-1.0.1.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d59ea42b4136af07b5dcce609201d2a5808b89897939729b73d6e5d019521a5e
|
|
| MD5 |
7a3a45184e600a38a15124b0c8d919cc
|
|
| BLAKE2b-256 |
812d16681f48b87e02b43d6586ce04ba9bc63728fa7a18820715254afd86273a
|
File details
Details for the file jhadoo-1.0.1-py3-none-any.whl.
File metadata
- Download URL: jhadoo-1.0.1-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06b4746dfcb381f771ca4e6f872b6f78f3e5c9da8a84d78a9a21ffa2e5de7c34
|
|
| MD5 |
d81a42562d6b4f40c165f9897f487592
|
|
| BLAKE2b-256 |
86a9fa9d6cee3e3723986d1a1fa669b7e3d6dd4761ffa21e8707b7bf2ef6bb42
|