Metadata-Version: 2.4
Name: cleanupx
Version: 2.0.2
Summary: Comprehensive LLM-enhanced file processing and organization tool
Home-page: https://github.com/lukeslp/cleanupx
Author: Luke Steuber
Author-email: Luke Steuber <luke@dr.eamer.dev>
License: MIT
Project-URL: Homepage, https://lukesteuber.com
Project-URL: Documentation, https://github.com/lukeslp/cleanupx#readme
Project-URL: Repository, https://github.com/lukeslp/cleanupx
Project-URL: Bug Tracker, https://github.com/lukeslp/cleanupx/issues
Project-URL: Changelog, https://github.com/lukeslp/cleanupx/blob/main/CHANGELOG.md
Project-URL: Author Website, https://lukesteuber.com
Project-URL: Assistant Platform, https://assisted.site
Project-URL: Newsletter, https://lukesteuber.substack.com/
Project-URL: Support, https://usefulai.lemonsqueezy.com/buy/bf6ce1bd-85f5-4a09-ba10-191a670f74af
Keywords: file-processing,ai,deduplication,organization,cleanup,images,accessibility,privacy,automation,cli,productivity,utilities,xai,machine-learning
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: System :: Archiving
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Text Processing
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Natural Language :: English
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: python-dotenv>=0.15.0
Requires-Dist: rich>=13.7.0
Requires-Dist: inquirer>=3.4.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: backoff>=2.2.0
Provides-Extra: ai
Requires-Dist: openai>=1.0.0; extra == "ai"
Provides-Extra: documents
Requires-Dist: PyPDF2>=3.0.1; extra == "documents"
Requires-Dist: python-docx>=1.1.2; extra == "documents"
Provides-Extra: images
Requires-Dist: pyheif>=0.7.1; extra == "images"
Provides-Extra: archives
Requires-Dist: rarfile>=4.0; extra == "archives"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Requires-Dist: build>=0.8.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Provides-Extra: all
Requires-Dist: openai>=1.0.0; extra == "all"
Requires-Dist: PyPDF2>=3.0.1; extra == "all"
Requires-Dist: python-docx>=1.1.2; extra == "all"
Requires-Dist: pyheif>=0.7.1; extra == "all"
Requires-Dist: rarfile>=4.0; extra == "all"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# cleanupx

File organization and processing tool with optional LLM features for image alt-text and content analysis.

## Install

```bash
pip install cleanupx
```

Set `XAI_API_KEY` in your environment for LLM-powered features (optional).

## Usage

```bash
# Organize files by type
cleanupx organize --dir ~/Downloads

# Find and handle duplicates
cleanupx deduplicate --dir ~/Projects

# Generate alt text for images (requires XAI_API_KEY)
cleanupx images --dir ./photos

# Run all processing steps
cleanupx comprehensive --dir ./documents

# Scramble filenames for privacy (reversible)
cleanupx scramble --dir ./sensitive_data
```

## What It Does

- **Deduplication** — SHA256 hash-based duplicate detection
- **File Organization** — Categorize by type: images, code, documents, archives
- **Image Alt Text** — Generate accessibility descriptions via vision models
- **Code Extraction** — Pull and analyze code snippets from files
- **Filename Scrambling** — Randomize names for privacy, with undo log
- **PDF/DOCX Support** — Process documents alongside plain text

## Supported File Types

Images (jpg, png, gif, webp, bmp, tiff), code (py, js, html, css, md, json, yaml), documents (pdf, doc, docx, rtf, pptx), archives (zip, tar, gz, rar).

## Structure

```
cleanupx/
├── cleanupx.py           # CLI entry point
├── cleanupx_core/        # Core processing modules
│   ├── api/              # XAI integration
│   ├── processors/       # File type handlers
│   └── utils/            # Common utilities
└── storage/              # Experimental/archived code
```

## Configuration

```bash
XAI_API_KEY=your-key      # Required for LLM features
CLEANUP_OUTPUT_DIR=./out  # Custom output directory
CLEANUP_LOG_LEVEL=INFO    # Logging verbosity
```

## Dependencies

Core: requests, rich, inquirer, pillow, PyPDF2, python-docx. Optional: openai, PyHEIF, rarfile.

## License

MIT — Luke Steuber (luke@dr.eamer.dev)
