Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DEVELOPMENT_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Project Overview

**Repository**: [https://github.com/DandelionBold/GIF-Tools.git](https://github.com/DandelionBold/GIF-Tools.git)
**Repository**: [https://github.com/KamalNady/GIF-Tools.git](https://github.com/KamalNady/GIF-Tools.git)
**License**: MIT
**Architecture**: Modular design with core library, desktop GUI, and future web API
**Testing Strategy**: Unit tests, integration tests, and performance benchmarks
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2025 DandelionBold
Copyright (c) 2025 Kamal Nady

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,21 @@ A comprehensive library and desktop application for GIF processing and manipulat
## 🚀 Features

### ✅ **IMPLEMENTED TOOLS** (Ready to Use)

- **Video to GIF** - Convert video files to animated GIFs with auto-optimization
- **Resize** - Change GIF dimensions with aspect ratio control and quality settings
- **Rotate** - Rotate GIFs by 90°, 180°, or 270° degrees with progress tracking
- **Crop** - Professional visual crop tool with aspect ratio presets and drag selection
- **Rearrange** - Advanced drag-and-drop frame reordering with visual preview

### 🔄 **IN PROGRESS** (Partially Implemented)

- **Split** - Extract individual frames from GIFs
- **Merge** - Combine multiple GIFs or images into one
- **Add Text** - Overlay text with customizable fonts and colors

### 📋 **PLANNED TOOLS** (Coming Soon)

- **Reverse** - Play GIF animations backwards
- **Optimize** - Reduce file size while maintaining quality
- **Speed Control** - Adjust playback speed
Expand All @@ -33,6 +36,7 @@ A comprehensive library and desktop application for GIF processing and manipulat
- **Watermark** - Add image or text watermarks

### 🎨 **Desktop Application Features**

- **Modern GUI** - Professional interface built with tkinter
- **Visual Crop Tool** - Click-and-drag cropping with 15+ aspect ratio presets
- **Auto-Loading** - Tools automatically load selected GIFs from main dashboard
Expand All @@ -42,31 +46,36 @@ A comprehensive library and desktop application for GIF processing and manipulat
- **Aspect Ratio Presets** - Free, Square, Classic, Camera, Widescreen, Portrait, Vertical, and more

### 🌐 **Future Web API**

- RESTful API for web integration
- Async processing for large files
- Docker containerization ready

## 📊 **Current Development Status**

### **Phase 1: Core Infrastructure** ✅ **COMPLETED**

- Project structure and architecture
- Core library with modular design
- Desktop GUI framework
- Basic tool integration

### **Phase 2: Basic Tools** ✅ **COMPLETED**

- Video to GIF conversion with auto-optimization
- Resize tool with aspect ratio control
- Rotate tool with progress tracking
- Professional visual crop tool with 15+ aspect ratios
- Advanced rearrange tool with drag-and-drop

### **Phase 3: Advanced Tools** 🔄 **IN PROGRESS**

- Split tool (frames extraction)
- Merge tool (combine GIFs)
- Add Text tool (text overlay)

### **Phase 4: Polish & Optimization** 📋 **PLANNED**

- Performance optimization
- Additional effects and filters
- Batch processing
Expand All @@ -75,13 +84,15 @@ A comprehensive library and desktop application for GIF processing and manipulat
## 📦 Installation

### Prerequisites

- Python 3.8 or higher
- FFmpeg (for video processing)

### Quick Start

```bash
# Clone the repository
git clone https://github.com/DandelionBold/GIF-Tools.git
git clone https://github.com/KamalNady/GIF-Tools.git
cd GIF-Tools

# Create virtual environment
Expand All @@ -101,6 +112,7 @@ python -m desktop_app.main
```

### Development Installation

```bash
# Install development dependencies
pip install -r requirements/dev.txt
Expand All @@ -118,11 +130,13 @@ flake8 gif_tools desktop_app web_api tests
## 🛠️ Usage

### Desktop Application

```bash
python -m desktop_app.main
```

### Python Library

```python
from gif_tools import video_to_gif, resize, rotate

Expand Down Expand Up @@ -199,10 +213,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

## 📞 Support

- 🐛 [Report a bug](https://github.com/DandelionBold/GIF-Tools/issues)
- 💡 [Request a feature](https://github.com/DandelionBold/GIF-Tools/issues)
- 📧 [Contact us](mailto:dandelionbold@example.com)
- 🐛 [Report a bug](https://github.com/KamalNady/GIF-Tools/issues)
- 💡 [Request a feature](https://github.com/KamalNady/GIF-Tools/issues)
- 📧 [Contact us](mailto:kamalnady@example.com)

---

**Made with ❤️ by DandelionBold**
**Made with ❤️ by Kamal Nady**
4 changes: 2 additions & 2 deletions desktop_app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
A comprehensive desktop GUI application for GIF manipulation with 17 powerful tools.
Built with Tkinter for cross-platform compatibility.

Author: DandelionBold
Author: Kamal Nady
License: MIT
"""

Expand Down Expand Up @@ -761,7 +761,7 @@ def show_about(self):
• Extract frames, loop settings, format conversion
• Batch processing and watermarking

Author: DandelionBold
Author: Kamal Nady
License: MIT
"""
messagebox.showinfo("About GIF-Tools", about_text)
Expand Down
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = 'GIF-Tools'
copyright = '2025, DandelionBold'
author = 'DandelionBold'
copyright = '2025, Kamal Nady'
author = 'Kamal Nady'
release = '0.1.0'

# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ For development installation:

.. code-block:: bash

git clone https://github.com/DandelionBold/GIF-Tools.git
git clone https://github.com/KamalNady/GIF-Tools.git
cd GIF-Tools
pip install -e .

Expand Down
4 changes: 2 additions & 2 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ Installing GIF-Tools
**From source:**
.. code-block:: bash

git clone https://github.com/DandelionBold/GIF-Tools.git
git clone https://github.com/KamalNady/GIF-Tools.git
cd GIF-Tools
pip install -e .

**Development installation:**
.. code-block:: bash

git clone https://github.com/DandelionBold/GIF-Tools.git
git clone https://github.com/KamalNady/GIF-Tools.git
cd GIF-Tools
pip install -r requirements/dev.txt
pip install -e .
Expand Down
4 changes: 2 additions & 2 deletions gif_tools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"""

__version__ = "0.1.0"
__author__ = "DandelionBold"
__email__ = "dandelionbold@example.com"
__author__ = "Kamal Nady"
__email__ = "kamalnady@example.com"
__license__ = "MIT"

# Import core modules
Expand Down
12 changes: 6 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ description = "A comprehensive library and GUI application for GIF processing an
readme = "README.md"
license = {text = "MIT"}
authors = [
{name = "DandelionBold", email = "dandelionbold@example.com"}
{name = "Kamal Nady", email = "kamalnady@example.com"}
]
maintainers = [
{name = "DandelionBold", email = "dandelionbold@example.com"}
{name = "Kamal Nady", email = "kamalnady@example.com"}
]
keywords = [
"gif",
Expand Down Expand Up @@ -77,11 +77,11 @@ all = [
]

[project.urls]
Homepage = "https://github.com/DandelionBold/GIF-Tools"
Homepage = "https://github.com/KamalNady/GIF-Tools"
Documentation = "https://gif-tools.readthedocs.io"
Repository = "https://github.com/DandelionBold/GIF-Tools.git"
Issues = "https://github.com/DandelionBold/GIF-Tools/issues"
Changelog = "https://github.com/DandelionBold/GIF-Tools/blob/main/CHANGELOG.md"
Repository = "https://github.com/KamalNady/GIF-Tools.git"
Issues = "https://github.com/KamalNady/GIF-Tools/issues"
Changelog = "https://github.com/KamalNady/GIF-Tools/blob/main/CHANGELOG.md"

[project.scripts]
gif-tools = "desktop_app.main:main"
Expand Down
Loading