Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Kreateer/automatic-file-sorter

A small program that automatically moves and sorts files based on user input
https://github.com/Kreateer/automatic-file-sorter

automatic file files hacktoberfest hacktoberfest-starter hacktoberfest2020 mover pysimplegui python python3 python38 sort sorting tkinter tkinter-python windows

Last synced: about 1 month ago
JSON representation

A small program that automatically moves and sorts files based on user input

Awesome Lists containing this project

README

        

Automatic File Sorter πŸ—ƒοΈ

A program that automatically moves/copies and sorts bulk files




Project Goal(s) β€’ Contributors β€’ Installation & Usage β€’ How to Contribute? β€’ Compiling Into Executable



- This is a small program that automatically moves and sorts files from chosen source to destination. It uses [PySimpleGUI](https://github.com/PySimpleGUI/PySimpleGUI) to create a minimal GUI for the user.
- Anyone is welcome to work on it and add whatever features they wish, as long as they adhere to the [Code of Conduct](https://github.com/Kreateer/automatic-file-sorter/blob/master/CODE_OF_CONDUCT.md) and the [Contributing Guidelines](https://github.com/Kreateer/automatic-file-sorter/blob/master/CONTRIBUTING.md).
- This project is especially interesting **for Python beginners** who don't have a project idea, but would like to work on something or anyone participating in the annual **Hacktoberfest** and looking to contribute to a project.

## Project Goal(s) 🎯

This project aims to create a small, user-friendly tool to help people with organizing their files through use of simple algorithms that provide a number of sorting options.

Specifically, this project looks to provide the user with:

- A program that automatically moves/copies and sorts files from user-designated source to destination directory
- A user-friendly interface for managing files
- The option to automatically move/copy and sort files from removable devices
- The option to automatically sort directories or partitions as content is added, changed or removed

## Installation & Usage πŸ’»

First, clone this repository:
```bash
# Clone the repository
$ git clone https://github.com/Kreateer/automatic-file-sorter
```

### Linux

Make sure you have Python 3.8+ installed on your system:
```bash
# Install Python 3.8
$ sudo apt-get install python3.8
```

You may also need to install the `tkinter` module for Python:
```bash
# Install tkinter for Python 3
$ sudo apt-get python3-tk
```

Next, install the dependencies:
```bash
# Install dependencies
$ pip3 install -r requirements.txt
```

Finally, locate ``fmain.py`` and run the script through an IDE or through console:
```bash
# cd to where 'fmain.py' is located
$ cd /automatic-file-sorter/scripts

# run 'fmain.py'
$ sudo python3 fmain.py
```
Once you run the program, just follow the GUI instructions.

### Windows

Make sure you have Python 3.8+ installed.
If you don't, you can download the Windows release from the [official Python site](https://www.python.org/downloads/windows/).

Once Python is installed, you need to install the dependencies using pip.

*IMPORTANT: If you're using an IDE like PyCharm, preferably you can use the IDE options to install packages in a virtual environment*

In Command Prompt, type:
```bash
pip install -r requirements.txt
```

Then simply launch `fmain.py` through an IDE or through Command Prompt:
```bash
#cd to where 'fmain.py' is located
cd /automatic-file-sorter/scripts

#run 'fmain.py'
python fmain.py
```
Once you run the program, just follow the GUI instructions.

## Contributors ❀️

This is the 'hall of fame' for all the wonderful people who contributed to this project. It's a way to say a huge 'Thank You' to all contributors for helping out!

Every contribution, no matter how small or large, is welcome and equally important! ❀️❀️



Matija Milaković

πŸ“†πŸ€”πŸ’» πŸ“–

Pushp Vashisht

πŸ’»

Arjun K

πŸ’»

Saptarsi Saha

πŸ’»

Joseph Wang

πŸ’»

polynoman

πŸ’»

## How to Contribute? ✍️

- First, refer to the [Contributing Guidelines](https://github.com/Kreateer/automatic-file-sorter/blob/master/CONTRIBUTING.md)
- Take a look at the existing Issues or create your own Issues to work on!
- Wait for the Issue to be assigned to you before you start working on it.
- Fork the repository and create a Branch for any Issue that you are working on.
- Create a Pull Request which will be promptly reviewed and suggestions might be added to improve it.
- Optional, but it would be helpful if you added screenshots to help everyone know how your fix or new feature works.

Otherwise, if you are **new to GitHub** or have **never contributed** to GH projects, you can refer to these **helpful guides** on how to contribute:

- [Forking a Repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo)

- [Cloning a Repo](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request)

- [How to create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github)

- [Getting started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6)

- [Learn GitHub from Scratch](https://lab.github.com/githubtraining/introduction-to-github)

## Compiling Into Executable βš™οΈ

- If you wish to build the source yourself and run the program from an **executable** instead of running the script everytime, you can use [PyInstaller](https://www.pyinstaller.org/) to compile the script into an **`.exe`** file.