What is organize (organize.readthedocs.io)?

Updated

organize is a command-line, open-source file management automation tool. You write rules that describe how files should be sorted, renamed, moved, copied, or cleaned up, and organize applies them for you. It is aimed at anyone whose desktop, downloads, or documents folder has become too messy to manage by hand, and it works on macOS, Windows, and Linux. The current version is v3, which the documentation describes as significantly faster with many bug fixes plus new actions, filters, and options.

What problem it solves

If sorting and renaming files by hand is tedious, organize lets you automate it once and benefit from it repeatedly. The documentation lists typical uses:

  • Sorting and tagging pictures into folder structures based on EXIF data
  • Sorting and renaming PDF invoices based on file content
  • Removing incomplete downloads from ~/Downloads
  • Cleaning up ~/Desktop from unused files
  • Freeing up disk space by removing duplicates
  • Automating various business processes

How it differs from manual sorting or GUI apps

organize is a command-line, open-source alternative to apps like Hazel (macOS) or File Juggler (Windows). The key difference is that you define rules in a configuration file rather than clicking through a graphical interface. That makes it scriptable and portable across operating systems, at the cost of working in a text editor instead of a window.

Key features

  • Safe moving, renaming, and copying of files and folders, with conflict resolution options
  • Fast duplicate file detection
  • EXIF tag extraction
  • Categorization via text extracted from PDF, DOCX, and other formats
  • A template engine for building names and paths
  • Inline Python and shell commands as filters and actions
  • Simulation: everything can be tested before touching your files
  • Cross-platform: macOS, Windows, Linux
  • Free and open source

Getting started

Installation

Only Python 3.9+ is required. Install it via your package manager or from python.org, then install organize with pip. Note the package name is organize-tool:

pip install -U organize-tool

The same command updates to the newest version. Verify the install with:

organize --help

Create your first rule

Run organize new, then organize edit to open the configuration. A minimal rule looks like this:

rules:
  - name: "Find PDFs"
    locations:
      - ~/Downloads
    subfolders: true
    filters:
      - extension: pdf
    actions:
      - echo: "Found PDF!"

This rule scans ~/Downloads including subfolders, matches files with a PDF extension, and echoes a message for each match. If you have trouble editing the configuration, the docs mention organize show --reveal as a way to locate it.

When to choose it

Choose organize if you are comfortable editing a text configuration, want the same rules to run on more than one operating system, and value being able to simulate changes before they happen. If you prefer a graphical interface and only work on one platform, a GUI tool like Hazel or File Juggler may fit better.