Skip to main content

LLM-powered file organizer that safely moves files into categories

Project description

Agentic File Organizer

A Python-based file organizer that asks for a folder path at startup, uses an LLM to decide a category and descriptive name for each file, and only moves files (never deletes).

It now supports richer file inspection tools:

  • Text/code preview for common source and text formats
  • PDF extraction
  • DOCX/XLSX/PPTX extraction
  • OCR for images (via docTR)
  • VLM image understanding via Ollama (for image-only files)

Setup

From source

  1. Create and activate a virtual environment.
  2. Install dependencies:
    • pip install -e .
  3. Install and run Ollama locally.
  4. Run organize-files init --pull-models
  5. OCR uses docTR; model weights are downloaded on first OCR run.
  6. Copy .env.example to .env only if you want to override defaults while developing from source.

End-user install flow

  1. Install Python
  2. Install pipx
  3. Install Ollama from https://ollama.com/download
  4. Install the app:
    • pipx install agentic-file-organizer
  5. Complete guided setup:
    • organize-files init --pull-models

Useful .env options:

  • OLLAMA_MODEL (text LLM)
  • OLLAMA_VLM_MODEL (image model)
  • ENABLE_OCR=true|false
  • ENABLE_VLM=true|false
  • MAX_PREVIEW_CHARS=1200

Run

  • python -m agentic_file_organizer.main
  • or organize-files

CLI commands

  • Guided setup:
    • organize-files init
  • Guided setup + pull models:
    • organize-files init --pull-models
  • Interactive mode:
    • organize-files
  • Non-interactive organize:
    • organize-files organize /path/to/folder --preferences "group by project" --yes
  • Preview only (no changes):
    • organize-files organize /path/to/folder --dry-run
  • Skip verification pass:
    • organize-files organize /path/to/folder --no-verify --yes
  • Environment/model health check:
    • organize-files doctor
  • Pull missing required models:
    • organize-files setup-models

Recommended release model

  • Publish the package to PyPI
  • Have users install with pipx
  • Keep Ollama and local models separate from the Python package
  • Use organize-files init and organize-files doctor for setup validation

Safety

  • Operates only on files directly inside the folder you manually enter.
  • Moves files into category folders under that same root folder.
  • Never deletes files.
  • Prevents moving outside the chosen root.

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

agentic_file_organizer-0.1.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

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

agentic_file_organizer-0.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file agentic_file_organizer-0.1.0.tar.gz.

File metadata

  • Download URL: agentic_file_organizer-0.1.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for agentic_file_organizer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9457ef7620d1ea7f071297d12eb5f1cf1a2146ad245a523b06a3af962bb36c74
MD5 ca2f5a223cb4bd7148b7dbc602dfc67b
BLAKE2b-256 5ece950ecd9eeecce9064f9c83a929d7abaac1865226f6499830c7627e36047f

See more details on using hashes here.

File details

Details for the file agentic_file_organizer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_file_organizer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 220fd5eca0dbbd451365dbf1819c0a53cd94bedfe992096d49bcdc2478f45ba8
MD5 0fb1277438167b1f9f2b27f564d0c684
BLAKE2b-256 114637de3926d24b87ca7099ed15e8a74f119c39e4efc66fd9c0b67dc843dd9c

See more details on using hashes here.

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