Skip to main content

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

Project description

๐Ÿง  smart-mv โ€” AI-powered File Organization Tool

smart-mv (Smart Move) is an intelligent file organization tool that automatically classifies, renames, and organizes your files based on their actual contents โ€” not just filenames. It makes the decision process of "where should this file go?" effortless by analyzing content, context, and your existing folder structure.

โœ… Key Features

smart-mv goes beyond filenames. It reasons like a human:

  • Analyzes textual and visual content - Extracts and understands text from documents first, then falls back to visual analysis for PDFs and images when needed
  • Matches files with your folder structure - Finds the perfect location
  • Maintains naming consistency - Follows existing patterns in target folders
  • Removes clutter - Identifies disposable files for trash
  • Human-in-the-loop - Asks for input when uncertain and accepts human hints for better suggestions

๐Ÿ“ฅ Installation

You can install smart-mv using pip:

# Install from PyPI
pip install smart-mv

# Or install directly from GitHub
pip install git+https://github.com/kariszhuang/smart-mv.git

๐Ÿš€ Usage

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

# Get help
smv --help

# Show version
smv -v

๐Ÿงฌ Real-World Example

Model: gemma3:12b

Before

~/Downloads/
โ”œโ”€โ”€ label.pdf                          # Nike return instructions
โ”œโ”€โ”€ Document_20250419_0001.pdf         # Scanned passport page
โ”œโ”€โ”€ HttpToolkit-1.19.3.dmg             # Installer
โ”œโ”€โ”€ HWSolutions10.2025.pdf             # Handwritten physics equations

~/Documents/Notes/Journals/
โ””โ”€โ”€ 2025-05-19.md                      # Markdown journal entry

After:

~/Documents/
โ”œโ”€โ”€ Legal Documents/
โ”‚   โ”œโ”€โ”€ Receipts/
โ”‚   โ”‚   โ””โ”€โ”€ Nike_Return_Label_1ZXXXXXXXXXXXXXXX.pdf   # Renamed w/ tracking placeholder
โ”‚   โ””โ”€โ”€ Passport_Page_20250419.pdf                    # Archived passport scan
โ”‚
โ”œโ”€โ”€ School/
โ”‚   โ””โ”€โ”€ 2025 Spring/
โ”‚       โ””โ”€โ”€ PHYS 311/
โ”‚           โ””โ”€โ”€ HW/
โ”‚               โ””โ”€โ”€ Homework_Solutions/
โ”‚                   โ”œโ”€โ”€ SolnsHmwk9_2025.pdf           # Existing solution file
โ”‚                   โ””โ”€โ”€ SolnsHmwk10_2025.pdf          # NEW โ€” Renamed to match pattern
โ”‚
โ””โ”€โ”€ Notes/
    โ””โ”€โ”€ Journals/
        โ””โ”€โ”€ 2025-05-19.md                             # Recent journal โ€” left in place

~/.Trash/
โ””โ”€โ”€ HttpToolkit-1.19.3.dmg                            # 3 months old installer โ€” moved to Trash

e.g.

$ smv ~/Downloads/HWSolutions10.2025.pdf

Moved:
  From: /Users/<user>/Downloads/HWSolutions10.2025.pdf
    To: /Users/<user>/Documents/School/.../Homework_Solutions/SolnsHmwk10_2025.pdf

Step 1: Initial assessment notices it's a PDF in Downloads

Step 2: Content analysis identifies handwritten equations and diagrams

Step 3: Extracts keywords: "solutions, homework, physics, equations"

Step 4: Searches folders, finds matching homework solutions directory

Step 5: Examines existing files in target location for naming patterns

Step 6: Renames file to match pattern, maintaining consistency

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.1.1.tar.gz (65.9 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.1.1-py3-none-any.whl (56.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for smart_mv-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c33b8fff4a4a59532487929f05fd1ec9764a005a343aed0fa92d51c767625340
MD5 46c1a6b6ca2369e2fde9d23a985b696d
BLAKE2b-256 c324554f52b734afa7b061d97c810581015030134513cbdd00693710dcd34c23

See more details on using hashes here.

Provenance

The following attestation bundles were made for smart_mv-0.1.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.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for smart_mv-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a125dd8255d04e2a2cc484dced49fc1d3eccf6aa359e211b6dc3f927dd4a0ba
MD5 2be36a3b68097751e05438602d34cc9e
BLAKE2b-256 69dbd6e33573097747cd7a13ec7807884b641b320ebd3731709703a4db0051af

See more details on using hashes here.

Provenance

The following attestation bundles were made for smart_mv-0.1.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