Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prashantsengar/ArrangePy
Organizes files in folders and helps you to clean your PC
https://github.com/prashantsengar/ArrangePy
clean-pc easy python python3 windows
Last synced: about 2 months ago
JSON representation
Organizes files in folders and helps you to clean your PC
- Host: GitHub
- URL: https://github.com/prashantsengar/ArrangePy
- Owner: prashantsengar
- License: mit
- Created: 2019-11-10T13:46:27.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-01T22:15:55.000Z (over 1 year ago)
- Last Synced: 2024-11-05T18:57:51.126Z (2 months ago)
- Topics: clean-pc, easy, python, python3, windows
- Language: Python
- Homepage:
- Size: 505 KB
- Stars: 28
- Watchers: 3
- Forks: 21
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
ArrangePy
Organizes files in folders and helps you to clean your PC
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
## What it does
Organizes the files based on their extensions in folders.
If you run the script in a directory containing hundreds of files of multiple filetypes, the script will arrange all of them in different directories based on the file type. For example, all PDFs are arranged in a directory for PDFs, all document based files (docx, doc, xlsx, pptx etc) are moved to the **docs** directory.
All these files are moved to a directory named **ArrangedPy** in the directory on which the script was executed. So if you ran the script on your **Downloads** directory, a directory named *ArrangedPy* will be created in **Downloads**.
You can specify which files to move to which directory using the config.ini file.
* Read about it on my [blog](https://prashants.in/blog/CleanPy-python-script-to-organize-your-files/)
## Features
Currently it has 2 modes
- Easy mode: Organzises files in the current directory
- Hard mode: Organizes files in the current directory and its subdirectories### Built With
* [Python](https://python.org/)
* and some dedication by the [awesome contributors](https://github.com/prashantsengar/ArrangePy/graphs/contributors)## Getting Started
Follow the given steps to get started with ArrangePy
### Prerequisites
You should have Python installed on your system. You can move to Installation if you have it, otherwise continue with the next steps.
* Install [Python](https://python.org/) from python.org
* Make sure to add Python to PATH if you are on Windows
* To check that Python has been installed on your PC, open Command Prompt or Terminal and type in following command
`python --version`This should output `Python 3.x.x` where x.x is the version of your Python installation.
Note: If that does not work, try `python3 --version` or `py --version`In the next part of the readme, `python` will be used, change it with the command that works for your PC
### Installation
#### Installation from PyPI
* Open command prompt/terminal and type the following command
```sh
pip install arrangepy
```
or
```sh
pip3 install arrangepy
```
depending on the version.It will install ArrangePy and the required packages.
* To confirm that ArrangePy has been installed successfully, type the following command in terminal
```sh
arrange -h
```
It should show you a message on how to use it.#### Installation from GitHub
* Clone the ArrangePy
```sh
git clone https://github.com/prashantsengar/ArrangePy
```
* Change to the project directory
```sh
cd ArrangePy
```
* Install requirements
```sh
pip install -r requirements.txt
```
* Run ArrangePy
```sh
python -m arrangepy
```For the usage examples, replace `arrange` with `python -m arrangepy`
## Usage
```sh
usage: arrange [-h] [-w | -s | -b] [-nw] [directory]positional arguments:
directory The directory to arrange, default is current working directoryoptional arguments:
-h, --help show this help message and exit
-w, --weak Weak arrange
-s, --strong Strong arrange
-b, --web Run web GUI
-nw, --no-warning Don't show any warnings when running strong arrange
```**Examples**
- `arrange` (Arranges current directory, asks for type of arrange [WEAK/STRONG] )
- `arrange -w` (Weak arranges current directory)
- `arrange -w PATH/TO/DIRECTORY` (Weak arranges given directory)
- `arrange -s -nw PATH/TO/DIRECTORY` (Strong arranges given directory without any warning)### Running the Web GUI
- `arrange -b` # for the web interface
### Editing the CONFIG file
You can edit the config.ini file to change how the directories are created.
Say the initial configuration is this:```
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico'],
```This will move all PDF files to a directory named *PDF* and all images of mentioned extensions to a directory named *Images*.
#### To add a new file type
(say .eps) to the *Images* directory, add the new extension to the Images list. So it will change to:```
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
```#### To add a new type of file (new directory)
Say you want to move all the video files along with PDFs and images. You can do that in this way:```
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
Videos=['mp4','mkv','avi','3gp'],
```Now it will arrange all mp4, mkv, avi, 3gp files to the Videos directory.
## Roadmap
See the [open issues](https://github.com/prashantsengar/ArrangePy/issues) for a list of proposed features (and known issues).
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull RequestYou can contribue to this project using multiple ways. **Here are a few things that you can work on**
- Improve this README to explain the idea better. GIFs can be added, for example.
- Adding extensions to the config.ini file will improve the experience for everyone.
- Improve the code, add new features or fix [issues](https://github.com/prashantsengar/ArrangePy/issues/).Please read the [contribution guide](./CONTRIBUTING.md)
## Community
Read the [contributing guide](./CONTRIBUTING.md)
Join the Telegram group for support and contributing. If you want to contribute, joining the group helps us all a lot because you can get instant feedback.
[](https://t.me/joinchat/INDdLlDf-SFDPURESGgdrQ)
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contact
Prashant Sengar - [@prashanttgs](https://twitter.com/prashanttgs) - contact--AT--prashants.in
Project Link: [https://github.com/prashantsengar/ArrangePy](https://github.com/prashantsengar/ArrangePy)
[contributors-shield]: https://img.shields.io/github/contributors/prashantsengar/ArrangePy.svg?style=for-the-badge
[contributors-url]: https://github.com/prashantsengar/ArrangePy/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/prashantsengar/ArrangePy.svg?style=for-the-badge
[forks-url]: https://github.com/prashantsengar/ArrangePy/network/members
[stars-shield]: https://img.shields.io/github/stars/prashantsengar/ArrangePy.svg?style=for-the-badge
[stars-url]: https://github.com/prashantsengar/ArrangePy/stargazers
[issues-shield]: https://img.shields.io/github/issues/prashantsengar/ArrangePy.svg?style=for-the-badge
[issues-url]: https://github.com/prashantsengar/ArrangePy/issues
[license-shield]: https://img.shields.io/github/license/prashantsengar/ArrangePy.svg?style=for-the-badge
[license-url]: https://github.com/prashantsengar/ArrangePy/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/prashant-sengar