Connor is a file organizer written in Python. It makes use of the sentence-transformers framework for the main organization process and the PyQt6 GUI toolkit for the graphical user interface. It is by no means supposed to substitute for organzing files by hand. It is just a concept. Connor features a fast and fully local file organizer that uses natural language processing to organize computer files based on their textual content.
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.
Command Line Interface: Quick folder organization.
Graphical Interface: Simple GUI with file upload support.
There are installation instructions for both GUI and CLI. You can choose the one you want to install. If you're opting for building the application from source then adding the run file to path is recommended.
Install Connor via pip:
- Make sure you have
python
andpip
installed and added to path. - Run
pip install connor-nlp
Install the GUI version of Connor (executable)
- Go to the latest release.
- Follow the steps there.
- Run the executable (
.exe
).
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)-t, --similarity-threshold
: Define the similarity threshold percentage. (default: 50)--show
: Show current settings
Example:
connor settings -f 2 -r 150 -t 60
$ connor settings --show
To see how to update: Connor settings [-h]
Current settings:
folder words limit 3
reading limit 200
similarity threshold 50%
Usage:
connor --gui
To view help information for commands and options use the -h
or --help
flag.
Example:
$ connor -h
usage: Connor [-h] [--gui] {settings,run} ...
Connor: Fast and local NLP file organizer
positional arguments:
{settings,run}
settings Update the settings for the organizer
run Run the folder organization process
options:
-h, --help show this help message and exit
--gui Run the application in GUI mode.
git clone https://github.com/ycatsh/connor.git
cd connor
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
For GUI:
python3 run.py --gui
For CLI:
python3 run.py -h
pip3 install .
Example:
connor --gui
connor -h
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.