# FinderZ

Full File Management Library for Python. And growing (V2 is out!)

![logo-color](https://github.com/PatzEdi/FinderZ/raw/main/logo/logo-color.jpg)

<p align="center">
	<img src="https://img.shields.io/badge/License-GPL--3.0-brightgreen"
		height="23">
	<img src="https://img.shields.io/badge/Creator-PatzEdi-brightgreen"
		height="23">
	<img src="https://img.shields.io/badge/Version-Latest-brightgreen"
		height="23">
	
	
</p>
<p align = "center">
	<img src="https://static.pepy.tech/badge/finderz"
		height="23">
</p>

## **IMPORTANT: ** 
**V2 is finally out! To check out the details, go to the readthedocs documentation under the update v2 section!**
**LINK TO READ THE DOCS: [Documentation](https://finderz.readthedocs.io/en/latest/index.html)** 
**IF YOU WANT TO USE THE SYNCHRONIZATION AND BACKUP CLASSeS, MAKE SURE TO THOROUGHLY READ THE [DOCUMENTATION](https://finderz.readthedocs.io/en/latest/index.html) IN ORDER TO PREVENT DATA LOSS**

## **Written in python, this library provides you with different file operation commands as well as info gathering commands on directories as well as files.** 
____________________________________________________________________________
## **CHANGELOG: V2.0.0**

To check out the details of V2, go to the [documentation](https://finderz.readthedocs.io/en/latest/index.html). This is a big update with many new things!


## **Usage**
Installation:
```
pip3 install FinderZ
```
Importing:
```
import FinderZ
```

## **Features**
- Consists of three classes: GatherInfo, fileOperands, Synchronize, Backup, and callBash.
- Advanced file operations, already built for you (including many options to choose from!) 
- Supports regex operations for some functions, as well as specific filters and multiple other choices to choose from. Options such as exact search or something even just containing a keyword, or even having the option to choose to seaerch recursively, are all included.
- Includes full-featured, reliable synchronization and backup classes.
- Full set of info gathering tools under the GatherInfo class.
- Full-featured documentation to guide you through each function in detail. 
- In case of functionality restrictions, callBash is a function that calls a bash script in order to expand functionality at its peak.
- Easy to use.
- You no longer have to take your time in making those file management algorithms that take a while to complete.
- Fast and efficient, includes a plethora of other features. 
____________________________________________________________________________
## **Why?**
- FinderZ is a way to easily expand on the file system of many operating system. It supports, MacOS, Windows, Linux, and Android.
- Who wouldn't want a tool to manage their files easily in their python scripts? This will save time!
____________________________________________________________________________
## **How?**
- FinderZ is composed of many iterating techniques and parametric options. Based on these options, the core of each function deals with a user's choice of what to do or what not to do.
- More info under the documentation!
____________________________________________________________________________
## **User notice**
- I am not responsible for any damage or data lost using the FinderZ library. 
- If using the Synchronize class, make sure renaming files or directories is never the last thing you do before synchronization, unless it is the only thing you did do (no adding, removing, copying, etc. files before)
- This project has just been released to version 2! It has grown so much, but it is still growing and improving.
____________________________________________________________________________
## **Services used (Credits):**
- [OS module](https://docs.python.org/3/library/os.html)
- [Shutil module](https://docs.python.org/3/library/shutil.html)
- [Time module](https://docs.python.org/3/library/time.html)
- [Hashlib module](https://docs.python.org/3/library/hashlib.html)
- [re](https://docs.python.org/3/library/re.html)
- [Subprocess module](https://docs.python.org/3/library/subprocess.html)

____________________________________________________________________________
## **Make sure to leave a star!**
- If you like this project, leaving a star is what motivates me in doing more. Thank you, and I hope this is useful to all.
