Connor is a fast and fully local file classifier and organizer. It is written in Python and makes use of the sentence-transformers framework for the main organization process. It is by no means supposed to substitute for organzing files by hand. It is just a concept
demo.mp4
Connor runs locally using the sentence-transformers/paraphrase-MiniLM-L6-v2
model to analyze file content and organize them based on semantic similarity. It uses cosine similarity to group similar files and applies Latent Dirichlet Allocation (LDA) to name folders.
Unprocessable files (e.g., images, binaries) are sorted into a _misc
folder based on their extensions.
- Similarity Threshold: Set the minimum similarity percentage threshold for grouping.
- Reading Word Limit: Limit how much of a file is read.
- Folder Name Word Limit: Set max words for folder names.
git clone https://github.com/ycatsh/connor.git
cd connor
Linux:
python3 -m venv .venv
source .venv/bin/activate
Windows:
python -m venv .venv
.venv/bin/activate.bat
pip install -r requirements.txt
python src/connor/main.py -h
pip install .
Example:
connor -h
connor [command] [options]
Usage:
connor run <folder_path>
Options:
folder_path
: Required. Absolute path to the folder that you want to organize.
Example:
connor run /path/to/your/folder
Usage:
connor settings [options]
Options:
-f, --folder-word-limit
: Set the maximum length for folder names. (default: 3)-r, --reading-limit
: Specify the word limit for reading files. (default: 200)-s, --similarity-threshold
: Define the similarity threshold percentage. (default: 50)
Example:
$ connor settings -f 2 -r 150 -s 60
Settings updated successfully.
$ connor settings
To see how to update: Connor settings [-h]
Current settings:
folder words limit 2
reading limit 150
similarity threshold 60%
To view help information for commands and options use the -h
or --help
flag.
Example:
$ connor -h
usage: connor [-h] {settings,run} ...
Connor: Fast and local NLP file organizer
positional arguments:
{settings,run}
settings View or update settings.
run Organize a folder.
options:
-h, --help show this help message and exit
This project is distributed under MIT License, which can be found in LICENSE in the root dir of the project. I reserve the right to place future versions of this project under a different license.