Skip to main content

AI-powered local file management with state-of-the-art models

Project description

File Organizer v2.0

CI Docs Python 3.11+ License: MIT Version

AI-powered local file management. Local-first by default (Ollama, no cloud required) -- or connect any OpenAI-compatible endpoint or Anthropic Claude when you need it.

840 tests | 408 modules | 39 file types

TUI overview

Contents

Features

AI and Analysis

  • AI-Powered Organization: Qwen 2.5 3B (text) + Qwen 2.5-VL 7B (vision) via Ollama — or any OpenAI-compatible endpoint (OpenAI, LM Studio, vLLM) — or Anthropic Claude
  • Audio Transcription: Local speech-to-text with faster-whisper (GPU-accelerated)
  • Video Analysis: Scene detection and keyframe extraction
  • Intelligence: Pattern learning, preference tracking, smart suggestions, auto-tagging

Interfaces

  • Terminal UI: 8-view Textual TUI (Files, Analytics, Audio, History, Copilot, and more)
  • Web UI: Browser-based interface via FastAPI and HTMX
  • Desktop App: Native OS window via pywebview — single Python process, no Electron, no Rust
  • Full CLI: Organize, rules, suggest, dedupe, daemon, analytics, update, api-keys
  • Copilot Chat: Natural-language assistant -- "organize ./Downloads", "find report.pdf", "undo"

Organization

  • Organization Rules: Automated sorting with conditions, preview, and YAML persistence
  • PARA + Johnny Decimal: Built-in organizational methodologies
  • Deduplication: Hash and semantic duplicate detection
  • Undo/Redo: Full operation history
  • Auto-Update: Linux AppImage self-updates from GitHub Releases (verified downloads + rollback); macOS/Windows update via pip/pipx
  • Cross-Platform: Runs on macOS, Windows, and Linux (verified in CI). Linux ships a standalone AppImage plus executables; install on macOS/Windows via pip/pipx

How It Works

 Source Directory          AI Analysis              Organized Output
┌──────────────┐     ┌──────────────────┐     ┌──────────────────┐
│  ./Downloads │     │  Content         │     │  ./Organized     │
│              │     │  Extraction      │     │                  │
│  report.pdf  │────>│  (text, vision,  │────>│  Work/           │
│  photo.jpg   │     │   audio, video)  │     │    Reports/      │
│  meeting.mp3 │     │                  │     │  Photos/         │
│  clip.mp4    │     │  AI Categorize   │     │    Vacation/     │
│  notes.txt   │     │  (Ollama/OpenAI/ │     │  Audio/          │
│              │     │   Claude)        │     │    Meetings/     │
└──────────────┘     └──────────────────┘     └──────────────────┘
                              │
                     ┌────────┴────────┐
                     │  Learn & Adapt  │
                     │  (patterns,     │
                     │   preferences,  │
                     │   rules)        │
                     └─────────────────┘
  1. Scan — Reads files from a source directory, extracting text, metadata, and visual content per file type (80+ formats supported)
  2. Analyze — Sends extracted content to an AI model (Ollama, OpenAI, or Claude) for categorization and naming
  3. Organize — Moves or copies files into a structured folder hierarchy with AI-generated names
  4. Learn — Tracks your patterns and preferences over time for smarter future suggestions

Screenshots

TUI demo

Quick Start (Essentials)

With Ollama (local, default)

# Install from PyPI — pipx keeps it isolated and on your PATH:
pipx install local-file-organizer
# or: pip install local-file-organizer

# 1) Configure defaults
fo setup

# 2) Preview a folder before changing anything
fo preview ~/Downloads

# 3) Run organization
fo organize ~/Downloads ~/Organized

# 4) Roll back the most recent organize run if needed
fo undo

Prefer a browser?

file-organizer serve --reload

Then visit http://localhost:8000/ui/.

Need cloud providers instead of the default local flow?

Use the AI Provider Setup guide for OpenAI-compatible endpoints and Claude.

# OpenAI-compatible providers
export FO_PROVIDER=openai

# Anthropic Claude
export FO_PROVIDER=claude

Web UI

Start the FastAPI server and open the UI:

file-organizer serve --reload

Then visit http://localhost:8000/ui/ for the HTMX interface.

Documentation

Essentials

Advanced / Admin / Developer

Optional Feature Packs

Canonical extras matrix:

Common installs:

pip install "local-file-organizer[parsers,web]"
pip install "local-file-organizer[cloud,claude]"
pip install "local-file-organizer[all]"

From source (development): clone the repo and use an editable install instead, e.g. pip install -e ".[all]".

Audio system dependencies

For full audio format support, the [audio] pack uses FFmpeg (all platforms) and optionally CUDA + cuDNN (NVIDIA GPU users).

FFmpeg — required for non-.wav formats (MP3, M4A, FLAC, OGG); optional if you only transcribe raw .wav:

# macOS
brew install ffmpeg

# Ubuntu / Debian
sudo apt install ffmpeg

# Windows (winget)
winget install ffmpeg

CUDA + cuDNN — optional, for significantly faster transcription (see faster-whisper benchmarks for hardware-specific numbers):

# Install CUDA Toolkit from https://developer.nvidia.com/cuda-downloads
# Install cuDNN from https://developer.nvidia.com/cudnn

# Verify the full transcription backend (not just PyTorch)
python3 -c "from faster_whisper import WhisperModel; print('faster-whisper OK')"
python3 -c "import torch; print('CUDA:', torch.cuda.is_available())"

Fallback behavior: without FFmpeg, only .wav files are transcribed; other formats are organized by filename/metadata but not content-analyzed. Without CUDA, transcription runs on CPU (slower but fully functional).

See the Installation Guide for troubleshooting and advanced configuration.

Project Structure

Click to expand
src/file_organizer/
├── api/              # FastAPI web backend
├── cli/              # CLI commands and entry points
├── client/           # HTTP client utilities
├── config/           # Configuration management
├── core/             # Organization engine and business logic
├── daemon/           # Background file watcher daemon
├── deploy/           # Deployment helpers
├── desktop/          # Native desktop app (pywebview)
├── events/           # Event system
├── history/          # Operation history and undo/redo
├── integrations/     # External service integrations
├── interfaces/       # Abstract interfaces and protocols
├── methodologies/    # PARA, Johnny Decimal implementations
├── models/           # Data models
├── optimization/     # Performance optimization
├── parallel/         # Parallel processing
├── pipeline/         # File processing pipeline
├── plugins/          # Plugin system (audio, video, archives, etc.)
├── review_regressions/ # Code quality detectors
├── services/         # Core services (analytics, dedup, text, etc.)
├── tui/              # Textual terminal UI (8 views)
├── undo/             # Undo/redo infrastructure
├── updater/          # Auto-update from GitHub Releases
├── utils/            # Shared utilities
├── watcher/          # File system watcher
└── web/              # HTMX web UI templates and assets

Development

# Run tests
pytest

# Lint
ruff check src/

Contributing

See CONTRIBUTING.md for development setup, coding standards, and how to submit changes.

Configuration

Configuration is stored in platform-appropriate locations using platformdirs:

  • macOS: ~/Library/Application Support/file-organizer/
  • Linux: ~/.config/file-organizer/ (or $XDG_CONFIG_HOME/file-organizer/)
  • Windows: %APPDATA%/file-organizer/

See Configuration Guide for details.

License

This project is licensed under the MIT License.


Status: Stable | Version: 2.0.0 | Last Updated: 2026-07-05

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

local_file_organizer-2.0.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

local_file_organizer-2.0.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file local_file_organizer-2.0.0.tar.gz.

File metadata

  • Download URL: local_file_organizer-2.0.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for local_file_organizer-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b7f4df5fa0aef1fba163453d989e83cde82371fd1cdd4ffe221be8b6db869a6e
MD5 b45b81f27939d7430767c126102c40fe
BLAKE2b-256 5ebb56fe32ed4e76a81536dbbf8f85fdfbbf009bdbcd3f7902c57fdfc3967fac

See more details on using hashes here.

Provenance

The following attestation bundles were made for local_file_organizer-2.0.0.tar.gz:

Publisher: release.yml on curdriceaurora/Local-File-Organizer

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

File details

Details for the file local_file_organizer-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for local_file_organizer-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3489bd3dda726cd5b02b7ae5df49fb079807325892f3d15f13255756de332237
MD5 ac84f8904534bbacb37c8bce93c592a9
BLAKE2b-256 45cd8fc1475bbc2c511623ed480353b42071932e62a2ee2780133983c3ec4580

See more details on using hashes here.

Provenance

The following attestation bundles were made for local_file_organizer-2.0.0-py3-none-any.whl:

Publisher: release.yml on curdriceaurora/Local-File-Organizer

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