Skip to main content

A powerful tool to automatically organize your downloads folder

Project description

Downloads Sorter

🗂️ A powerful Python tool to automatically organize your downloads folder.

Features

  • 📂 Automatically sorts files into folders based on file type
  • 🧠 Intelligently categorizes files based on content patterns
  • 📊 Provides statistics about your download organization
  • 🔄 Can be set up to run automatically
  • 🧹 Clean up your downloads folder with a single command

Installation

pip install downloads-sorter

Usage

Basic Usage

Simply run the command to organize your downloads folder:

downloads-sorter

Options

  • --dry-run: Show what would be done without actually moving files
  • --stats: Show statistics about your downloads folder organization
  • --directory PATH: Specify a custom downloads directory
  • --verbose: Show detailed logging
  • --setup: Set up automatic sorting with cron (Linux/macOS)
  • --version: Show the version number

Examples

# Sort downloads with a dry run (no actual changes)
downloads-sorter --dry-run

# View organization statistics
downloads-sorter --stats

# Sort files in a custom directory
downloads-sorter --directory /path/to/directory

# Set up automatic hourly sorting
downloads-sorter --setup

Folder Structure

Downloads Sorter organizes files into the following folder structure:

  • _pdf: PDF documents
  • _docx: Word documents
  • _xlsx: Excel spreadsheets
  • _csv: CSV data files
  • _png, _jpeg, _svg: Images
  • _receipts: Invoices and receipts
  • _contracts: Legal documents and contracts
  • _meetings: Meeting notes and calendar invites
  • _applications: Software installers
  • _projects: Project-related files
  • _misc: Miscellaneous files

Using as a Library

You can also use Downloads Sorter as a Python library in your own scripts:

from downloads_sorter import sort_downloads, get_stats

# Sort downloads
result = sort_downloads()
print(f"Organized {result['moved']} files")

# Get statistics
stats = get_stats()
print(f"Total files: {stats['total_files']}")
print(f"Organized files: {stats['organized_files']}")

Customizing

You can customize the sorting rules by creating your own script using the library:

from downloads_sorter import sort_downloads
from downloads_sorter.sorter import FILE_TYPES, SPECIAL_PATTERNS

# Add custom extensions
FILE_TYPES['.custom'] = '_custom_folder'

# Add custom patterns
SPECIAL_PATTERNS[('mypattern', 'pattern2')] = '_pattern_folder'

# Run with custom rules
sort_downloads()

Contributing

Contributions are welcome! Feel free to open issues or pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

downloads_sorter-0.3.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

downloads_sorter-0.3.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file downloads_sorter-0.3.0.tar.gz.

File metadata

  • Download URL: downloads_sorter-0.3.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for downloads_sorter-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2e5de859a48c843530bf6a71b85773fe1adcfa4cce4c7c7eb539fe91a5eb59a7
MD5 f26043a1258b3d7f4e32d4d8aa361f03
BLAKE2b-256 49e7570c28b86023e9265ecbd409f44a7a029929862206b3f63e7489f83c1714

See more details on using hashes here.

Provenance

The following attestation bundles were made for downloads_sorter-0.3.0.tar.gz:

Publisher: publish.yml on dkd-dobberkau/downloads-sorter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file downloads_sorter-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for downloads_sorter-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0fabd4ccf2342754e368bbfafdcc6e474511d464ab23f187a2cc4a986b4f7ff
MD5 1b70bc9bc881698c8ea347834dd76a72
BLAKE2b-256 6b464cfe68d18325aea62d182baf66acba41d5c9ab052f691491441dee53b4af

See more details on using hashes here.

Provenance

The following attestation bundles were made for downloads_sorter-0.3.0-py3-none-any.whl:

Publisher: publish.yml on dkd-dobberkau/downloads-sorter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page