click to expand
Messy is an app I made to help me with my downloads hoarding problem. Since I keep most of the things I download stay in that folder for months it has become a nightmare to navigate and find files.
And so here is Messy, the fix for my problem. The app will create a couple of folders for a few categories of files. Every time a new file is downloaded inside of the Downloads folder, Messy will detect what kind of file it is and sort it into a category to keep things organized and out of your way.
Messy currently works on Windows 10 & 11, and should work on linux as well. Mac support is not guaranteed because I don't own a mac device to test it.
Guide to using Messy.
You can use winget
to install it on Windows 11 and 10:
winget install 4ngel2769.MessyOrganizer
Or you can get it from releases/latest
and go through the installation steps.
After running, the app will start in the background. Settings can be accessed from the taskbar icon.
You have the options to:
- View the logs
- Open the configuration file
- Pause/resume file monitoring (
will stop moving files while paused
) - Enable/disable autostart (
Windows only
) - Reload configuration file
Run the app using the script.py only.
Make sure you have the necessary libraries installed in your environment by running:
pip install pyinstaller pystray pillow watchdog plyer
Clone and enter the repository:
# Windows Terminal and Linux/*nix-like systems
git clone https://github.com/4ngel2769/messy-file-organizer.git
cd messy-file-organizer
python script.py --help
usage: script.py [-h] [-c CONFIG] [-l] [-lf LOG_FILE_PATH] [-ll LOG_LEVEL] [-d DOWNLOADS_FOLDER] [-p] [-n]
[-ra RETRY_ATTEMPTS] [-rd RETRY_DELAY]
Monitor and organize your Downloads folder.
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
Path to the configuration file
-l, --log_to_file Enable logging to file
-lf LOG_FILE_PATH, --log_file_path LOG_FILE_PATH
Path to the log file
-ll LOG_LEVEL, --log_level LOG_LEVEL
Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
-d DOWNLOADS_FOLDER, --downloads_folder DOWNLOADS_FOLDER
Path to the Downloads folder
-p, --paused Start in paused state
-n, --notifications Enable desktop notifications
-ra RETRY_ATTEMPTS, --retry_attempts RETRY_ATTEMPTS
Number of retry attempts for file operations
-rd RETRY_DELAY, --retry_delay RETRY_DELAY
Delay between retry attempts in seconds
Run this in your terminal:
python script.py
Messy will not start in the background and can be used as if it was installed.
Guide to compiling the python script into an executable.
Navigate to the folder where the script.py
is and open your terminal.
Run these commands to create the executable:
# creates the .spec file
pyi-makespec \script.py
# Customize the .spec file as needed
# compiles the executable in ./dist/script.exe
pyinstaller --onefile --windowed --icon=mfo.ico .\script.spec
Use the same steps in Windows
Don't know how to yet.