Metadata-Version: 2.4
Name: tidyfiles
Version: 0.6.3
Summary: TidyFiles is a user-friendly, lightweight CLI tool designed to bring order to your Downloads (or any other) folder! It intelligently organizes files by type and keep logs of all the sorting magic.
Project-URL: Homepage, https://github.com/RYZHAIEV-SERHII/TidyFiles
Project-URL: Documentation, https://github.com/RYZHAIEV-SERHII/TidyFiles#readme
Project-URL: Repository, https://github.com/RYZHAIEV-SERHII/TidyFiles.git
Project-URL: Issues, https://github.com/RYZHAIEV-SERHII/TidyFiles/issues
Author-email: Serhii Ryzhaiev <serhii.ryzhaiev@gmail.com>
License: MIT
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: cfgv==3.4.0
Requires-Dist: click==8.1.8
Requires-Dist: distlib==0.3.9
Requires-Dist: filelock==3.18.0
Requires-Dist: identify==2.6.9
Requires-Dist: iniconfig==2.0.0
Requires-Dist: loguru==0.7.3
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: mdurl==0.1.2
Requires-Dist: nodeenv==1.9.1
Requires-Dist: packaging==24.2
Requires-Dist: pip==25.0.1
Requires-Dist: platformdirs==4.3.6
Requires-Dist: pluggy==1.5.0
Requires-Dist: pre-commit==4.1.0
Requires-Dist: pygments==2.19.1
Requires-Dist: pytest-cov>=6.0.0
Requires-Dist: pytest==8.3.5
Requires-Dist: python-semantic-release>=9.21.0
Requires-Dist: pyyaml==6.0.2
Requires-Dist: rich==13.9.4
Requires-Dist: ruff==0.11.0
Requires-Dist: shellingham==1.5.4
Requires-Dist: toml==0.10.2
Requires-Dist: typer==0.15.2
Requires-Dist: typing-extensions==4.12.2
Requires-Dist: virtualenv==20.29.3
Description-Content-Type: text/markdown

# TidyFiles

![TidyFiles Logo](https://i.imgur.com/VkDL4QU.jpeg)

[![PyPI version](https://badge.fury.io/py/tidyfiles.svg)](https://badge.fury.io/py/tidyfiles)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/RYZHAIEV-SERHII/TidyFiles)](https://github.com/RYZHAIEV-SERHII/TidyFiles/releases)
[![Python 3.10-3.13](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue.svg)](https://www.python.org/downloads/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![codecov](https://codecov.io/gh/RYZHAIEV-SERHII/TidyFiles/branch/main/graph/badge.svg)](https://codecov.io/gh/RYZHAIEV-SERHII/TidyFiles)
[![Tests](https://github.com/RYZHAIEV-SERHII/TidyFiles/workflows/tests/badge.svg)](https://github.com/RYZHAIEV-SERHII/TidyFiles/actions)
[![GitHub last commit](https://img.shields.io/github/last-commit/RYZHAIEV-SERHII/TidyFiles)](https://github.com/RYZHAIEV-SERHII/TidyFiles/commits)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**TidyFiles** is a user-friendly, lightweight CLI tool designed to bring order to your Downloads (or any other) folder! It intelligently organizes files by type and keeps logs of all the sorting magic.

## 🌟 Features
- **Smart Organization**: Automatically categorizes files by type (images, documents, videos, etc.)
- **Dry Run Mode**: Preview changes with `--dry-run` before actual organization
- **Flexible Configuration**: Customize source and destination directories
- **Detailed Logging**: Track all operations with console and file logging
- **Rich CLI Interface**: Beautiful command-line interface with progress indicators
- **Safe Operations**: Maintains file integrity during organization

## 🔧 Tech Stack
- **Python >=3.10**: Modern Python features for robust performance
- **Typer**: For elegant CLI interface
- **Rich**: Beautiful terminal formatting and output
- **Loguru**: Advanced logging capabilities
- **Ruff**: For code formatting and linting
- **Pre-commit**: Automated code quality checks
- **PyTest**: Comprehensive test coverage

## 🚀 Getting Started

### Installation
```bash
pip install tidyfiles
```

### Basic Usage
```bash
tidyfiles --source-dir /path/to/your/downloads
```

### Advanced Usage
```bash
# Dry run to preview changes
tidyfiles --source-dir ~/Downloads --dry-run

# Specify custom destination
tidyfiles --source-dir ~/Downloads --destination-dir ~/Organized

# Custom logging
tidyfiles --source-dir ~/Downloads --log-console-level DEBUG
```

## 📁 Example Organization
### Before:
```plaintext
Downloads/
├── photo.jpg
├── document.pdf
├── video.mp4
```
### After:
```plaintext
Downloads/
├── images/
│   └── photo.jpg
├── documents/
│   └── document.pdf
├── videos/
│   └── video.mp4
```

## 📝 Logging
TidyFiles generates detailed logs in:
- Console output (configurable level)
- Log file (`~/.tidyfiles/tidyfiles.log`)

## 🛠️ Contributing
We welcome contributions! Check out our [Contributing Guidelines](CONTRIBUTING.md).

## 📄 License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## 🎯 Roadmap

### Coming Soon (v0.7.0)
- [ ] `--lang` flag for multi-language support
- [ ] `--undo` operation to reverse recent changes
- [ ] Custom file category definitions
- [ ] Subdirectory organization support

### Future Plans (v0.8.0+)
- [ ] File deduplication detection
- [ ] Bulk rename operations
- [ ] File content-based organization
- [ ] GUI interface option
- [ ] Integration with cloud storage services
- [ ] Schedule automated organization
- [ ] File compression options
- [ ] Organization templates/presets
- [ ] Statistics and reports generation

## 📊 Stats
- **First Release**: March 2025
- **Latest Version**: [![PyPI version](https://badge.fury.io/py/tidyfiles.svg)](https://badge.fury.io/py/tidyfiles)
- **Python Compatibility**: [![Python 3.10-3.13](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue.svg)](https://www.python.org/downloads/)
- **Platform Support**: Windows, macOS, Linux

#### Created with ❤️ by Serhii Ryzhaiev
