# 📂 OneFile - The Ultimate File Organizer
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/)
[](https://github.com/psf/black)
[](https://pypi.org/project/onefile-organizer/)
[](https://github.com/Aditya-Ranjan1234/onefile-organizer)
OneFile is a powerful, configurable file organization tool that automatically sorts your files into appropriate folders based on their types, names, and other attributes. It's designed to help you keep your digital life organized with minimal effort. It can run as a one-time organizer or as a background daemon that watches for new files.
## ✨ Features
- **Smart File Organization**: Automatically sorts files into appropriate folders by type (documents, images, videos, etc.)
- **Custom Rules**: Define your own file organization rules using simple JSON configuration
- **Watch Mode**: Run as a daemon to automatically organize files as they appear
- **Duplicate Detection**: Identify and handle duplicate files using content hashing
- **Flexible Filtering**: Filter files by size, age, and other attributes
- **MIME Type Detection**: Advanced file type detection beyond just extensions
- **Cross-Platform**: Works on Windows, macOS, and Linux
- **Safe Operations**: Dry-run mode to preview changes before applying them
- **Progress Tracking**: Real-time progress updates for large operations
- **Logging**: Comprehensive logging for troubleshooting and auditing
## 🚀 Quick Install
### Prerequisites
- Python 3.7 or higher
- pip (Python package manager)
### From PyPI (Recommended)
```bash
pip install onefile-organizer
```
### System Dependencies (for MIME type detection)
| OS | Command |
|----|---------|
| **Windows** | No additional dependencies needed |
| **Ubuntu/Debian** | `sudo apt-get install libmagic1` |
| **Fedora** | `sudo dnf install file-devel` |
| **macOS (Homebrew)** | `brew install libmagic` |
### From Source (Development)
```bash
git clone https://github.com/Aditya-Ranjan1234/onefile-organizer.git
cd onefile
pip install -e ".[dev]" # For development with all dependencies
# or
pip install -e . # For production use
```
## 🚀 Quick Start
### Organize Files Once
Organize files in a directory with a single command:
```bash
onefile --src ~/Downloads --once
```
**Example Output:**
```
[INFO] Starting OneFile v1.0.0
[INFO] Source directory: /home/user/Downloads
[INFO] Destination directory: /home/user/Downloads (same as source)
[INFO] Processing 15 files...
[INFO] Documents/PDFs: 3 files moved
[INFO] Images: 5 files moved
[INFO] Videos: 2 files moved
[INFO] Archives: 3 files moved
[INFO] Other: 2 files skipped
[INFO] Organization complete. Processed: 15, Moved: 13, Skipped: 2, Errors: 0
```
### Watch a Directory
Automatically organize files as they appear in a directory:
```bash
onefile --src ~/Downloads --watch --interval 300
```
This will check the directory every 300 seconds (5 minutes) for new files and organize them automatically.
### Dry Run (Preview Changes)
Preview what changes would be made without actually moving any files:
```bash
onefile --src ~/Downloads --once --dry-run
```
**Example Output:**
```
[DRY RUN] Would move: /home/user/Downloads/report.pdf -> /home/user/Downloads/Documents/PDFs/report.pdf
[DRY RUN] Would move: /home/user/Downloads/photo.jpg -> /home/user/Downloads/Images/photo.jpg
[DRY RUN] Would skip (duplicate): /home/user/Downloads/photo (1).jpg
[INFO] Dry run complete. Would process: 10 files (8 moved, 2 skipped)
```
## 🔧 Advanced Usage
### Configuration File
Create a `onefile_config.json` file in your home directory or specify a custom path:
```json
{
"rules": {
"Documents/PDFs": [".pdf", ".xps", ".oxps"],
"Documents/Books": [".epub", ".mobi", ".azw3"],
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".tiff", ".svg"],
"Videos": [".mp4", ".mkv", ".avi", ".mov", ".wmv", ".flv", ".webm"],
"Audio": [".mp3", ".wav", ".flac", ".aac", ".ogg", ".m4a", ".wma"],
"Archives": [".zip", ".rar", ".7z", ".tar", ".gz", ".bz2", ".xz"],
"Code": [".py", ".js", ".html", ".css", ".java", ".c", ".cpp", ".h", ".sh", ".bat"],
"Executables": [".exe", ".msi", ".dmg", ".pkg", ".appimage", ".deb", ".rpm"]
},
"options": {
"recursive": false,
"overwrite_existing": false,
"skip_existing": true,
"preserve_filenames": true,
"date_format": "%Y-%m-%d",
"log_level": "INFO"
}
}
```
### Using Configuration
```bash
# Use default config location (~/.config/onefile/config.json)
onefile --src ~/Downloads --once
# Specify custom config file
onefile --src ~/Downloads --once --config ./custom_config.json
# Override specific options from command line
onefile --src ~/Downloads --once --no-skip-existing --min-size 1M
```
### Advanced Filtering
```bash
# Filter by size (supports K, M, G suffixes)
onefile --src ~/Downloads --min-size 100K --max-size 10M
# Filter by age (in days)
onefile --src ~/Downloads --min-age 1 --max-age 30
# Only process specific file types
onefile --src ~/Downloads --extensions .pdf,.docx,.xlsx
# Exclude hidden files and system files
onefile --src ~/Downloads --no-hidden --no-system
```
### Handling Duplicates
```bash
# Skip duplicate files (default)
onefile --src ~/Downloads --duplicates skip
# Rename duplicate files with a suffix
onefile --src ~/Downloads --duplicates rename
# Move duplicates to a separate folder
onefile --src ~/Downloads --duplicates move --duplicates-dir _duplicates
# Delete duplicate files (use with caution!)
onefile --src ~/Downloads --duplicates delete
```
### Watch Mode Options
```bash
# Watch directory and process new files as they appear
onefile --src ~/Downloads --watch
# Set polling interval in seconds (default: 300)
onefile --src ~/Downloads --watch --interval 60
# Process existing files on startup
onefile --src ~/Downloads --watch --process-existing
# Run in background as a daemon (Unix-like systems)
nohup onefile --src ~/Downloads --watch --daemon &
```
### Output and Logging
```bash
# Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
onefile --src ~/Downloads --log-level DEBUG
# Output results to a JSON file
onefile --src ~/Downloads --output results.json
# Generate a report after processing
onefile --src ~/Downloads --report report.html
```
### Programmatic Usage
You can also use OneFile as a Python library:
```python
from onefile.core import FileOrganizer
# Create an organizer instance
organizer = FileOrganizer(
source_dir="~/Downloads",
min_size="1M",
max_size="100M",
min_age_days=1,
dry_run=True
)
# Run the organizer
stats = organizer.organize()
print(f"Processed {stats['processed']} files, moved {stats['moved']}")
```
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 📊 Sample Output
### Organizing Files
```
$ onefile --src ~/Downloads --once
[INFO] Starting OneFile v1.0.0
[INFO] Source directory: /home/user/Downloads
[INFO] Destination directory: /home/user/Downloads
[INFO] Loading configuration from: /home/user/.config/onefile/config.json
[INFO] Processing 15 files...
[INFO] Created directory: /home/user/Downloads/Documents/PDFs
[INFO] Moved: report.pdf -> Documents/PDFs/report.pdf
[INFO] Moved: document.pdf -> Documents/PDFs/document.pdf
[INFO] Created directory: /home/user/Downloads/Images
[INFO] Moved: photo1.jpg -> Images/photo1.jpg
[INFO] Moved: screenshot.png -> Images/screenshot.png
[INFO] Skipped duplicate: photo1 (1).jpg
[INFO] Created directory: /home/user/Downloads/Archives
[INFO] Moved: archive.zip -> Archives/archive.zip
[INFO] Organization complete. Processed: 15, Moved: 12, Skipped: 3, Errors: 0
[INFO] Time taken: 2.34s
```
### Watching a Directory
```
$ onefile --src ~/Downloads --watch --interval 60
[INFO] Starting OneFile v1.0.0 in watch mode
[INFO] Watching directory: /home/user/Downloads
[INFO] Check interval: 60 seconds
[INFO] Press Ctrl+C to stop
[INFO] Detected new file: /home/user/Downloads/document.pdf
[INFO] Moved: document.pdf -> Documents/PDFs/document.pdf
[INFO] Detected new file: /home/user/Downloads/photo.jpg
[INFO] Moved: photo.jpg -> Images/photo.jpg
```
## 🛠️ Development
### Setting Up Development Environment
1. Clone the repository:
```bash
git clone https://github.com/Aditya-Ranjan1234/onefile-organizer.git
cd onefile
```
2. Create and activate a virtual environment:
```bash
# Windows
python -m venv venv
.\venv\Scripts\activate
# Unix/macOS
python3 -m venv venv
source venv/bin/activate
```
3. Install development dependencies:
```bash
pip install -e ".[dev]"
```
### Running Tests
```bash
# Run all tests
pytest
# Run with coverage report
pytest --cov=onefile --cov-report=html
# Run a specific test
pytest tests/test_core.py -v
```
### Building the Package
```bash
# Build source distribution and wheel
python -m build
# Check package metadata
twine check dist/*
# Upload to TestPyPI (for testing)
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# Upload to PyPI (production)
twine upload dist/*
```
## 🤝 Contributing
Contributions are welcome! Here's how you can help:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
Please make sure to update tests as appropriate and ensure your code follows the project's style guidelines.
## 📄 License
Distributed under the MIT License. See `LICENSE` for more information.
## 📬 Contact
Aditya Ranjan - [GitHub](https://github.com/Aditya-Ranjan1234) - [Email](mailto:adityaranjan@email.com)
Project Link: [https://github.com/Aditya-Ranjan1234/onefile-organizer](https://github.com/Aditya-Ranjan1234/onefile-organizer)
## 🙏 Acknowledgments
- [python-magic](https://github.com/ahupp/python-magic) - For MIME type detection
- [Click](https://click.palletsprojects.com/) - For the beautiful command line interface
- [PyYAML](https://pyyaml.org/) - For configuration file parsing
- [tqdm](https://github.com/tqdm/tqdm) - For progress bars
- [colorama](https://github.com/tartley/colorama) - For cross-platform colored terminal output
Raw data
{
"_id": null,
"home_page": null,
"name": "onefile-organizer",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "file, organization, organizer, automation, productivity",
"author": null,
"author_email": "Aditya Ranjan <aditya87331@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b7/04/3a62f9bfc0eaf697128887e8753a55151bef34187bc7f9dc8c33b981d99a/onefile_organizer-0.1.1.tar.gz",
"platform": null,
"description": "# \ud83d\udcc2 OneFile - The Ultimate File Organizer\r\n\r\n[](https://opensource.org/licenses/MIT)\r\n[](https://www.python.org/)\r\n[](https://github.com/psf/black)\r\n[](https://pypi.org/project/onefile-organizer/)\r\n[](https://github.com/Aditya-Ranjan1234/onefile-organizer)\r\n\r\nOneFile is a powerful, configurable file organization tool that automatically sorts your files into appropriate folders based on their types, names, and other attributes. It's designed to help you keep your digital life organized with minimal effort. It can run as a one-time organizer or as a background daemon that watches for new files.\r\n\r\n## \u2728 Features\r\n\r\n- **Smart File Organization**: Automatically sorts files into appropriate folders by type (documents, images, videos, etc.)\r\n- **Custom Rules**: Define your own file organization rules using simple JSON configuration\r\n- **Watch Mode**: Run as a daemon to automatically organize files as they appear\r\n- **Duplicate Detection**: Identify and handle duplicate files using content hashing\r\n- **Flexible Filtering**: Filter files by size, age, and other attributes\r\n- **MIME Type Detection**: Advanced file type detection beyond just extensions\r\n- **Cross-Platform**: Works on Windows, macOS, and Linux\r\n- **Safe Operations**: Dry-run mode to preview changes before applying them\r\n- **Progress Tracking**: Real-time progress updates for large operations\r\n- **Logging**: Comprehensive logging for troubleshooting and auditing\r\n\r\n## \ud83d\ude80 Quick Install\r\n\r\n### Prerequisites\r\n\r\n- Python 3.7 or higher\r\n- pip (Python package manager)\r\n\r\n### From PyPI (Recommended)\r\n\r\n```bash\r\npip install onefile-organizer\r\n```\r\n\r\n### System Dependencies (for MIME type detection)\r\n\r\n| OS | Command |\r\n|----|---------|\r\n| **Windows** | No additional dependencies needed |\r\n| **Ubuntu/Debian** | `sudo apt-get install libmagic1` |\r\n| **Fedora** | `sudo dnf install file-devel` |\r\n| **macOS (Homebrew)** | `brew install libmagic` |\r\n\r\n### From Source (Development)\r\n\r\n```bash\r\ngit clone https://github.com/Aditya-Ranjan1234/onefile-organizer.git\r\ncd onefile\r\npip install -e \".[dev]\" # For development with all dependencies\r\n# or\r\npip install -e . # For production use\r\n```\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n### Organize Files Once\r\n\r\nOrganize files in a directory with a single command:\r\n\r\n```bash\r\nonefile --src ~/Downloads --once\r\n```\r\n\r\n**Example Output:**\r\n```\r\n[INFO] Starting OneFile v1.0.0\r\n[INFO] Source directory: /home/user/Downloads\r\n[INFO] Destination directory: /home/user/Downloads (same as source)\r\n[INFO] Processing 15 files...\r\n[INFO] Documents/PDFs: 3 files moved\r\n[INFO] Images: 5 files moved\r\n[INFO] Videos: 2 files moved\r\n[INFO] Archives: 3 files moved\r\n[INFO] Other: 2 files skipped\r\n[INFO] Organization complete. Processed: 15, Moved: 13, Skipped: 2, Errors: 0\r\n```\r\n\r\n### Watch a Directory\r\n\r\nAutomatically organize files as they appear in a directory:\r\n\r\n```bash\r\nonefile --src ~/Downloads --watch --interval 300\r\n```\r\n\r\nThis will check the directory every 300 seconds (5 minutes) for new files and organize them automatically.\r\n\r\n### Dry Run (Preview Changes)\r\n\r\nPreview what changes would be made without actually moving any files:\r\n\r\n```bash\r\nonefile --src ~/Downloads --once --dry-run\r\n```\r\n\r\n**Example Output:**\r\n```\r\n[DRY RUN] Would move: /home/user/Downloads/report.pdf -> /home/user/Downloads/Documents/PDFs/report.pdf\r\n[DRY RUN] Would move: /home/user/Downloads/photo.jpg -> /home/user/Downloads/Images/photo.jpg\r\n[DRY RUN] Would skip (duplicate): /home/user/Downloads/photo (1).jpg\r\n[INFO] Dry run complete. Would process: 10 files (8 moved, 2 skipped)\r\n```\r\n\r\n## \ud83d\udd27 Advanced Usage\r\n\r\n### Configuration File\r\n\r\nCreate a `onefile_config.json` file in your home directory or specify a custom path:\r\n\r\n```json\r\n{\r\n \"rules\": {\r\n \"Documents/PDFs\": [\".pdf\", \".xps\", \".oxps\"],\r\n \"Documents/Books\": [\".epub\", \".mobi\", \".azw3\"],\r\n \"Images\": [\".jpg\", \".jpeg\", \".png\", \".gif\", \".bmp\", \".webp\", \".tiff\", \".svg\"],\r\n \"Videos\": [\".mp4\", \".mkv\", \".avi\", \".mov\", \".wmv\", \".flv\", \".webm\"],\r\n \"Audio\": [\".mp3\", \".wav\", \".flac\", \".aac\", \".ogg\", \".m4a\", \".wma\"],\r\n \"Archives\": [\".zip\", \".rar\", \".7z\", \".tar\", \".gz\", \".bz2\", \".xz\"],\r\n \"Code\": [\".py\", \".js\", \".html\", \".css\", \".java\", \".c\", \".cpp\", \".h\", \".sh\", \".bat\"],\r\n \"Executables\": [\".exe\", \".msi\", \".dmg\", \".pkg\", \".appimage\", \".deb\", \".rpm\"]\r\n },\r\n \"options\": {\r\n \"recursive\": false,\r\n \"overwrite_existing\": false,\r\n \"skip_existing\": true,\r\n \"preserve_filenames\": true,\r\n \"date_format\": \"%Y-%m-%d\",\r\n \"log_level\": \"INFO\"\r\n }\r\n}\r\n```\r\n\r\n### Using Configuration\r\n\r\n```bash\r\n# Use default config location (~/.config/onefile/config.json)\r\nonefile --src ~/Downloads --once\r\n\r\n# Specify custom config file\r\nonefile --src ~/Downloads --once --config ./custom_config.json\r\n\r\n# Override specific options from command line\r\nonefile --src ~/Downloads --once --no-skip-existing --min-size 1M\r\n```\r\n\r\n### Advanced Filtering\r\n\r\n```bash\r\n# Filter by size (supports K, M, G suffixes)\r\nonefile --src ~/Downloads --min-size 100K --max-size 10M\r\n\r\n# Filter by age (in days)\r\nonefile --src ~/Downloads --min-age 1 --max-age 30\r\n\r\n# Only process specific file types\r\nonefile --src ~/Downloads --extensions .pdf,.docx,.xlsx\r\n\r\n# Exclude hidden files and system files\r\nonefile --src ~/Downloads --no-hidden --no-system\r\n```\r\n\r\n### Handling Duplicates\r\n\r\n```bash\r\n# Skip duplicate files (default)\r\nonefile --src ~/Downloads --duplicates skip\r\n\r\n# Rename duplicate files with a suffix\r\nonefile --src ~/Downloads --duplicates rename\r\n\r\n# Move duplicates to a separate folder\r\nonefile --src ~/Downloads --duplicates move --duplicates-dir _duplicates\r\n\r\n# Delete duplicate files (use with caution!)\r\nonefile --src ~/Downloads --duplicates delete\r\n```\r\n\r\n### Watch Mode Options\r\n\r\n```bash\r\n# Watch directory and process new files as they appear\r\nonefile --src ~/Downloads --watch\r\n\r\n# Set polling interval in seconds (default: 300)\r\nonefile --src ~/Downloads --watch --interval 60\r\n\r\n# Process existing files on startup\r\nonefile --src ~/Downloads --watch --process-existing\r\n\r\n# Run in background as a daemon (Unix-like systems)\r\nnohup onefile --src ~/Downloads --watch --daemon &\r\n```\r\n\r\n### Output and Logging\r\n\r\n```bash\r\n# Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)\r\nonefile --src ~/Downloads --log-level DEBUG\r\n\r\n# Output results to a JSON file\r\nonefile --src ~/Downloads --output results.json\r\n\r\n# Generate a report after processing\r\nonefile --src ~/Downloads --report report.html\r\n```\r\n\r\n### Programmatic Usage\r\n\r\nYou can also use OneFile as a Python library:\r\n\r\n```python\r\nfrom onefile.core import FileOrganizer\r\n\r\n# Create an organizer instance\r\norganizer = FileOrganizer(\r\n source_dir=\"~/Downloads\",\r\n min_size=\"1M\",\r\n max_size=\"100M\",\r\n min_age_days=1,\r\n dry_run=True\r\n)\r\n\r\n# Run the organizer\r\nstats = organizer.organize()\r\nprint(f\"Processed {stats['processed']} files, moved {stats['moved']}\")\r\n```\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\udcca Sample Output\r\n\r\n### Organizing Files\r\n```\r\n$ onefile --src ~/Downloads --once\r\n[INFO] Starting OneFile v1.0.0\r\n[INFO] Source directory: /home/user/Downloads\r\n[INFO] Destination directory: /home/user/Downloads\r\n[INFO] Loading configuration from: /home/user/.config/onefile/config.json\r\n[INFO] Processing 15 files...\r\n[INFO] Created directory: /home/user/Downloads/Documents/PDFs\r\n[INFO] Moved: report.pdf -> Documents/PDFs/report.pdf\r\n[INFO] Moved: document.pdf -> Documents/PDFs/document.pdf\r\n[INFO] Created directory: /home/user/Downloads/Images\r\n[INFO] Moved: photo1.jpg -> Images/photo1.jpg\r\n[INFO] Moved: screenshot.png -> Images/screenshot.png\r\n[INFO] Skipped duplicate: photo1 (1).jpg\r\n[INFO] Created directory: /home/user/Downloads/Archives\r\n[INFO] Moved: archive.zip -> Archives/archive.zip\r\n[INFO] Organization complete. Processed: 15, Moved: 12, Skipped: 3, Errors: 0\r\n[INFO] Time taken: 2.34s\r\n```\r\n\r\n### Watching a Directory\r\n```\r\n$ onefile --src ~/Downloads --watch --interval 60\r\n[INFO] Starting OneFile v1.0.0 in watch mode\r\n[INFO] Watching directory: /home/user/Downloads\r\n[INFO] Check interval: 60 seconds\r\n[INFO] Press Ctrl+C to stop\r\n[INFO] Detected new file: /home/user/Downloads/document.pdf\r\n[INFO] Moved: document.pdf -> Documents/PDFs/document.pdf\r\n[INFO] Detected new file: /home/user/Downloads/photo.jpg\r\n[INFO] Moved: photo.jpg -> Images/photo.jpg\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Setting Up Development Environment\r\n\r\n1. Clone the repository:\r\n ```bash\r\n git clone https://github.com/Aditya-Ranjan1234/onefile-organizer.git\r\n cd onefile\r\n ```\r\n\r\n2. Create and activate a virtual environment:\r\n ```bash\r\n # Windows\r\n python -m venv venv\r\n .\\venv\\Scripts\\activate\r\n \r\n # Unix/macOS\r\n python3 -m venv venv\r\n source venv/bin/activate\r\n ```\r\n\r\n3. Install development dependencies:\r\n ```bash\r\n pip install -e \".[dev]\"\r\n ```\r\n\r\n### Running Tests\r\n\r\n```bash\r\n# Run all tests\r\npytest\r\n\r\n# Run with coverage report\r\npytest --cov=onefile --cov-report=html\r\n\r\n# Run a specific test\r\npytest tests/test_core.py -v\r\n```\r\n\r\n### Building the Package\r\n\r\n```bash\r\n# Build source distribution and wheel\r\npython -m build\r\n\r\n# Check package metadata\r\ntwine check dist/*\r\n\r\n# Upload to TestPyPI (for testing)\r\ntwine upload --repository-url https://test.pypi.org/legacy/ dist/*\r\n\r\n# Upload to PyPI (production)\r\ntwine upload dist/*\r\n```\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nContributions are welcome! Here's how you can help:\r\n\r\n1. Fork the repository\r\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\r\n4. Push to the branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\nPlease make sure to update tests as appropriate and ensure your code follows the project's style guidelines.\r\n\r\n## \ud83d\udcc4 License\r\n\r\nDistributed under the MIT License. See `LICENSE` for more information.\r\n\r\n## \ud83d\udcec Contact\r\n\r\nAditya Ranjan - [GitHub](https://github.com/Aditya-Ranjan1234) - [Email](mailto:adityaranjan@email.com)\r\n\r\nProject Link: [https://github.com/Aditya-Ranjan1234/onefile-organizer](https://github.com/Aditya-Ranjan1234/onefile-organizer)\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- [python-magic](https://github.com/ahupp/python-magic) - For MIME type detection\r\n- [Click](https://click.palletsprojects.com/) - For the beautiful command line interface\r\n- [PyYAML](https://pyyaml.org/) - For configuration file parsing\r\n- [tqdm](https://github.com/tqdm/tqdm) - For progress bars\r\n- [colorama](https://github.com/tartley/colorama) - For cross-platform colored terminal output\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Automatically organize your messy folders with smart file sorting",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://github.com/Aditya-Ranjan1234/onefile-organizer#readme",
"Homepage": "https://github.com/Aditya-Ranjan1234/onefile-organizer",
"Issues": "https://github.com/Aditya-Ranjan1234/onefile-organizer/issues",
"Source": "https://github.com/Aditya-Ranjan1234/onefile-organizer"
},
"split_keywords": [
"file",
" organization",
" organizer",
" automation",
" productivity"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "39d322a634868435faaa6f2cbb51b3a9270e062b2fdbeaeb77d5799d93496154",
"md5": "e48103f0b4cd75bc862d6172d86dd20e",
"sha256": "ec7e99d274587a886d669bf2d18cbb1f0286743e319e51e7b7afe2e52c2aa835"
},
"downloads": -1,
"filename": "onefile_organizer-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e48103f0b4cd75bc862d6172d86dd20e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17535,
"upload_time": "2025-08-10T13:05:54",
"upload_time_iso_8601": "2025-08-10T13:05:54.886862Z",
"url": "https://files.pythonhosted.org/packages/39/d3/22a634868435faaa6f2cbb51b3a9270e062b2fdbeaeb77d5799d93496154/onefile_organizer-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b7043a62f9bfc0eaf697128887e8753a55151bef34187bc7f9dc8c33b981d99a",
"md5": "46ed41ac82db0db61311857d8f3d9ded",
"sha256": "be0a1019fbf7660736f3707ed930e7d22415a28a22023a7b92732ed92b3a6cb2"
},
"downloads": -1,
"filename": "onefile_organizer-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "46ed41ac82db0db61311857d8f3d9ded",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25570,
"upload_time": "2025-08-10T13:05:56",
"upload_time_iso_8601": "2025-08-10T13:05:56.311552Z",
"url": "https://files.pythonhosted.org/packages/b7/04/3a62f9bfc0eaf697128887e8753a55151bef34187bc7f9dc8c33b981d99a/onefile_organizer-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-10 13:05:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Aditya-Ranjan1234",
"github_project": "onefile-organizer#readme",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "onefile-organizer"
}