Skip to main content

Smart Move (smv) - AI-powered file organization tool

Project description

smart-mv

smart-mv helps you clean up messy folders by looking at what a file actually is, then suggesting the right place, the right name, or when it should just go to Trash.

Instead of sorting by filename alone, it uses file content, folder context, and your existing naming patterns so your files end up where they already make sense.

Why People Use It

  • Turn a chaotic Downloads folder into an organized system
  • Rename vague files like Document_20250419_0001.pdf into something useful
  • Match the naming style already used in your folders
  • Catch old installers and obvious clutter before they pile up
  • Keep you in control when the choice is not obvious

Quick Start

pip install smart-mv
smv ai setup
smv /path/to/file.pdf

If you use local models, Ollama is supported. OpenAI, Anthropic, and Gemini are also available.

What It Handles

  • PDFs
  • DOCX files
  • Text files
  • Images
  • Common clutter like old installers and temporary downloads

Demo 1: Homework PDF sorted and renamed

Before

~/Downloads/
└── HWSolutions10.2025.pdf

~/Documents/School/2025 Spring/PHYS 311/HW/Homework_Solutions/
└── SolnsHmwk9_2025.pdf

After

~/Documents/School/2025 Spring/PHYS 311/HW/Homework_Solutions/
├── SolnsHmwk9_2025.pdf
└── SolnsHmwk10_2025.pdf

smart-mv reads the file, figures out it is a physics homework solution set, finds the matching course folder, and renames it to fit the pattern already used there.

Demo 2: Downloads folder cleanup

Before

~/Downloads/
├── label.pdf
├── Document_20250419_0001.pdf
└── HttpToolkit-1.19.3.dmg

After

~/Documents/
├── Legal Documents/
│   ├── Passport_Page_20250419.pdf
│   └── Receipts/
│       └── Nike_Return_Label_1ZXXXXXXXXXXXXXXX.pdf

~/.Trash/
└── HttpToolkit-1.19.3.dmg

The return label gets renamed clearly, the passport scan is archived somewhere sensible, and the old installer is treated like clutter instead of living in Downloads forever.

Basic Commands

# Organize a file
smv /path/to/file.pdf

# Same thing, explicit form
smv sort /path/to/file.pdf

# Set up or change your AI provider
smv ai setup

# See current AI settings
smv ai show

Install From Source

git clone https://github.com/kariszhuang/smart-mv.git
cd smart-mv
pip install -e .
smv --version

Python Version

Python 3.10+

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

smart_mv-0.2.1.tar.gz (53.0 kB view details)

Uploaded Source

Built Distribution

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

smart_mv-0.2.1-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file smart_mv-0.2.1.tar.gz.

File metadata

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

File hashes

Hashes for smart_mv-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a96449d687aef97c08dc2102c2f583e6478cd9f008af32ab8ba1f8b726508ffe
MD5 61e6fb6673c4e868601c4eb4d4f81c4d
BLAKE2b-256 875f72bd425128943b2136c0d225cddc45fbf12eca54baae22c1085844fb3278

See more details on using hashes here.

Provenance

The following attestation bundles were made for smart_mv-0.2.1.tar.gz:

Publisher: release-pypi.yml on kariszhuang/smart-mv

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

File details

Details for the file smart_mv-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: smart_mv-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for smart_mv-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9def3bf1e3045ea7fcff7af947077bd00608dabe63904c2d9536edcaefab537a
MD5 5b50701fe71e95bbce5dd4d96852cfe1
BLAKE2b-256 76d047b1665130fa84b2a180997db05d5500f51d122df2f61f7e465c66a25eb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for smart_mv-0.2.1-py3-none-any.whl:

Publisher: release-pypi.yml on kariszhuang/smart-mv

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