Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jsuyog2/duplicate-finder
A Python application for detecting and managing duplicate images and videos in a specified folder. Features include a user-friendly GUI built with PySimpleGUI, real-time progress updates, and automatic moving of duplicates to organized directories. Utilizes the difPy library for image comparisons and a custom video comparison class.
https://github.com/jsuyog2/duplicate-finder
automation difpy duplicate-detection file-management filesystem-operations gui image-processing progress-bar pysimplegui python video-processing
Last synced: 24 days ago
JSON representation
A Python application for detecting and managing duplicate images and videos in a specified folder. Features include a user-friendly GUI built with PySimpleGUI, real-time progress updates, and automatic moving of duplicates to organized directories. Utilizes the difPy library for image comparisons and a custom video comparison class.
- Host: GitHub
- URL: https://github.com/jsuyog2/duplicate-finder
- Owner: jsuyog2
- License: mit
- Created: 2023-03-14T07:22:33.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-23T07:16:03.000Z (6 months ago)
- Last Synced: 2024-11-14T04:42:32.776Z (3 months ago)
- Topics: automation, difpy, duplicate-detection, file-management, filesystem-operations, gui, image-processing, progress-bar, pysimplegui, python, video-processing
- Language: Python
- Homepage: https://github.com/jsuyog2/duplicate-finder
- Size: 19.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Duplicate Finder
## Overview
Duplicate Finder is a Python application designed to identify and handle duplicate images and videos in a specified directory. The application uses the `difPy` library for image comparison and a custom `DuplicateFinder` class for video comparison. It provides a graphical user interface (GUI) built with PySimpleGUI to facilitate user interaction and display results.
## Features
- **Image Duplicate Finder**: Detects duplicate images in a specified folder and moves them to a dedicated directory.
- **Video Duplicate Finder**: Identifies duplicate videos and moves them to a separate directory.
- **Progress Bar**: Visual feedback of the scan progress through a progress bar in the GUI.
- **Results Display**: Shows a summary of found duplicates in the application window.## Installation
To run the Duplicate Finder application, follow these steps:
1. **Clone the Repository**
```bash
git clone https://github.com/jsuyog2/duplicate-finder.git
cd duplicate-finder
```2. **Install Dependencies**
```bash
pip install -r requirements.txt
```## Usage
1. **Run the Application**
```bash
python app.py
```2. **Using the GUI**
- Click on **"Browse"** to select the folder you want to scan for duplicates.
- Click on **"Find Duplicates"** to start the scanning process.
- The progress bar will update as the scan progresses.
- The results will be displayed in the results area, showing duplicate images and videos.## File Structure
- `app.py`: The main application file that initializes and runs the GUI.
- `lib/`
- `ImageDuplicateFinder.py`: Contains the `ImageDuplicateFinder` class for finding duplicate images.
- `VideoDuplicateFinder.py`: Contains the `VideoDuplicateFinder` class for finding duplicate videos.
- `DuplicateFinder.py`: Custom class for finding duplicate videos (used by `VideoDuplicateFinder`).
- `requirements.txt`: Lists the required Python packages.## Example
Here's how the output might look after scanning a folder:
```
Duplicate images found:
Original: /path/to/original/image1.jpg
Duplicates: /path/to/duplicate/image1_1.jpg, /path/to/duplicate/image1_2.jpgDuplicate videos found:
Original: /path/to/original/video1.mp4
Duplicates: /path/to/duplicate/video1_1.mp4, /path/to/duplicate/video1_2.mp4
```## Contributing
Feel free to contribute to this project by submitting issues or pull requests.
1. Fork the repository.
2. Create a feature branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -am 'Add new feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Create a new Pull Request.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
For any questions or feedback, please contact [[email protected]](mailto:[email protected]).