Downloads Organizer
Smart downloads folder organizer powered by local AI (Ollama). Compatible with macOS and Linux. Installs with pipx and runs as a system service.
Your files never leave your machine — all AI classification happens locally via Ollama.
Demo
~/Downloads/
├── 📥 Recién Descargado/ ← files from today
└── 📁 Organizado/
├── 🔴 Urgente/
│ ├── Trabajo/
│ │ └── documento/
│ └── Finanzas/
│ └── hoja_de_calculo/
├── 🟡 Normal/
│ └── Personal/
│ └── imagen/
└── 📦 Archivo/
Requirements
Installation
macOS
# 1. Install Ollama
brew install ollama
ollama serve &
ollama pull llama3.2
# 2. Install pipx (if needed)
brew install pipx
pipx ensurepath
# 3. Install Downloads Organizer
pipx install downloads-organizer
# 4. Enable system service
dorg install
Linux
# 1. Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3.2
# 2. Install pipx (if needed)
pip install pipx --user && pipx ensurepath
# 3. Install Downloads Organizer
pipx install downloads-organizer
# 4. Enable systemd service
dorg install
Usage
| Command | Description |
|---|---|
dorg install |
Install and enable system service |
dorg uninstall |
Remove system service |
dorg status |
Service status + statistics |
dorg classify |
Classify pending files now |
dorg watch |
Start in foreground (debug mode) |
dorg logs |
View service logs |
dorg logs -n 200 |
View last N log lines |
dorg config |
Edit configuration file |
dorg config --set ollama.model=mistral |
Change Ollama model |
dorg projects |
List approved projects |
dorg projects --add Trabajo |
Add project manually |
Configuration
File: ~/.config/downloads-organizer/config.yaml
downloads_folder: ~/Downloads
recent_folder_name: Recién Descargado # staging folder for new files
organized_folder_name: Organizado # destination for classified files
classify_time: "06:00" # daily classification time
ollama:
base_url: http://localhost:11434
model: llama3.2
timeout: 60
confidence_threshold: 0.65 # below this → ask user
projects: # approved project names
- Trabajo
- Personal
- Finanzas
- Estudio
Recommended Ollama Models
| Model | Size | Speed | Quality | Best for |
|---|---|---|---|---|
llama3.2 |
2 GB | Fast | Good | Default, everyday use |
mistral |
4 GB | Medium | Very good | More nuanced classification |
phi3 |
2 GB | Fast | Good | Low-RAM machines |
gemma2 |
5 GB | Slow | Excellent | Best accuracy |
Change model:
ollama pull mistral
dorg config --set ollama.model=mistral
How It Works
New file detected
│
▼
[watchdog event]
│
▼
_should_move()? ──No──► ignore
│
Yes
│
▼
wait for file ready (download complete)
│
▼
move → Recién Descargado/
+ native notification
│
▼
(daily at 06:00)
│
▼
[Ollama classification]
│
├─ confidence ≥ 0.65 + known project
│ └─► move automatically
│
├─ confidence < 0.65
│ └─► show interactive dialog
│
└─ new project suggested
└─► ask user to approve/rename/reject
└─► move to Organizado/
Contributing
See CONTRIBUTING.md for development setup, commit conventions, and the pull request process.
License
MIT — see LICENSE. Copyright (c) 2025 Jarsa Sistemas
Release files for downloads-organizer 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| downloads_organizer-1.0.4.tar.gz | 24.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| downloads_organizer-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.7 kB
Release files / downloads_organizer-1.0.4.tar.gz
| Download URL | downloads_organizer-1.0.4.tar.gz |
|---|---|
| Size | 24.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
482ee11e68372e69f23dcf7446b9c3b48f53a36e186d824dae7c00570e340541
|
|
BLAKE2b-256 checksum How to use checksums |
3853a260533826f6976fe9d981ea6d9d1d556e065a3ce3067d2eeb57b5717aef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency logRelease files / downloads_organizer-1.0.4-py3-none-any.whl
| Download URL | downloads_organizer-1.0.4-py3-none-any.whl |
|---|---|
| Size | 23.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2404c45b47f27a9a27031ab9c3aae825f06251906247af04c11323b6123144a4
|
|
BLAKE2b-256 checksum How to use checksums |
bf9fe0c8282ade6ee8fc1bdaa85a90b1c5724aa7357b5de606e35bbfb74aa15e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency log