Metadata-Version: 2.4
Name: filevix
Version: 0.1.0
Summary: A local file conversion desktop tool.
Author-email: Jay Kshirsagar <jaykshirsagar339@gmail.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: customtkinter
Requires-Dist: Pillow
Requires-Dist: pydub
Requires-Dist: pikepdf
Requires-Dist: pdf2docx
Requires-Dist: markdown
Requires-Dist: reportlab
Dynamic: license-file

<div align="center">

# 🛠️ Filevix – Local File Converter
**Your 100% offline, privacy-first, cross-platform file processing powerhouse.**

![Banner Placeholder]([https://via.placeholder.com/1200x400/2C3E50/FFFFFF?text=Filevix+-+Local+File+Converter](https://images.pexels.com/photos/1269789/pexels-photo-1269789.jpeg))

[![Python](https://img.shields.io/badge/Python-3.10+-3776AB.svg?style=flat-square&logo=python&logoColor=white)](https://www.python.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg?style=flat-square)](#)
[![Offline](https://img.shields.io/badge/100%25-Offline-4CAF50.svg?style=flat-square)](#)
[![Privacy First](https://img.shields.io/badge/Privacy-First-blue.svg?style=flat-square)](#)
[![Open Source](https://img.shields.io/badge/Open-Source-F05032.svg?style=flat-square)](https://github.com/yourusername/Filevix)

</div>

---

## 📖 Table of Contents

- [Project Overview](#-project-overview)
- [Features](#-features)
  - [Image Tools](#️-image-tools)
  - [PDF Tools](#-pdf-tools)
  - [Office Tools](#-office-tools)
  - [Audio Tools](#-audio-tools)
  - [Video Tools](#-video-tools)
  - [Utilities](#️-utilities)
- [Screenshots](#-screenshots)
- [User Workflow](#-user-workflow)
- [Installation](#-installation)
- [Project Structure](#-project-structure)
- [Technologies Used](#-technologies-used)
- [Privacy](#️-privacy)
- [Performance](#-performance)
- [Security](#-security)
- [Configuration](#️-configuration)
- [Supported Formats](#️-supported-formats)
- [Keyboard Shortcuts](#️-keyboard-shortcuts)
- [Roadmap](#️-roadmap)
- [Contributing](#-contributing)
- [Building Executable](#-building-executable)
- [FAQ](#-faq)
- [Troubleshooting](#-troubleshooting)
- [License](#-license)
- [Credits](#-credits)

---

## 🌟 Project Overview

Filevix is a **100% offline**, **privacy-first**, **cross-platform** desktop application built in **Python** for converting, organizing, and managing files.

Unlike online converters, Filevix **never uploads files to the internet**. Every conversion is performed locally on your computer, ensuring maximum privacy and security.

**Supported Platforms:**
- Windows 🪟
- macOS 🍎
- Linux 🐧

---

## ✨ Features

### 🖼️ Image Tools
- 🔄 **Format Conversion:** JPG ↔ PNG, WebP, TIFF, BMP
- 📄 **To PDF:** JPG → PDF, PNG → PDF
- 📏 **Manipulation:** Resize, Rotate, Crop
- 🗜️ **Optimization:** Compress Images
- 📦 **Batch:** Batch Conversion supported

### 📑 PDF Tools
- 🔗 **Merge/Split:** Merge PDFs, Split PDFs
- 🗜️ **Optimization:** Compress PDFs
- 🔄 **Manipulation:** Rotate Pages, Delete Pages
- 📤 **Extraction:** Extract Images, Extract Pages
- 🔒 **Security:** Watermark, Password Protection, Unlock PDF

### 🏢 Office Tools
- 📝 **To PDF:** Word → PDF, Excel → PDF, PowerPoint → PDF
- 📜 **Text to PDF:** TXT → PDF, Markdown → PDF

### 🎵 Audio Tools
- 🔄 **Format Conversion:** MP3 ↔ WAV, FLAC, AAC
- 🔗 **Manipulation:** Audio Merge

### 🎬 Video Tools
- 🎵 **Extraction:** MP4 → MP3
- 🔄 **Format Conversion:** MOV → MP4, AVI → MP4
- 🗜️ **Optimization:** Compress Video

### 🛠️ Utilities
- 📦 Batch Processing
- 🖱️ Drag & Drop interface
- 📁 Folder Conversion
- 👀 File Preview
- 🕒 History Log
- 🌗 Dark Mode / ☀️ Light Mode
- 📊 Progress Tracking

---

## 📸 Screenshots

| UI Home | Converter |
| :---: | :---: |
| ![UI Home](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=UI+Home) | ![Converter](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=Converter) |

| Settings | History |
| :---: | :---: |
| ![Settings](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=Settings) | ![History](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=History) |

| Progress Window | Output Folder |
| :---: | :---: |
| ![Progress](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=Progress+Window) | ![Output Folder](https://via.placeholder.com/600x400/2C3E50/FFFFFF?text=Output+Folder) |

---

## 🔄 User Workflow

```mermaid
graph TD;
    A[App Launch] --> B[Select Converter];
    B --> C[Choose Files];
    C --> D[Choose Output Folder];
    D --> E[Convert];
    E --> F[Open Output Folder];
```

---

## 🚀 Installation

### 1. Clone Repository
```bash
git clone https://github.com/yourusername/Filevix.git
cd Filevix
```

### 2. Create Virtual Environment
```bash
# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate
```

### 3. Install Requirements
```bash
pip install -r requirements.txt
```

### 4. Run Application
```bash
python main.py
```

---

## 📁 Project Structure

```text
Filevix/
├── assets/
├── modules/
│   ├── __pycache__/
│   ├── audio_tools.py
│   ├── image_tools.py
│   ├── main_window.py
│   ├── office_tools.py
│   ├── pdf_tools.py
│   ├── settings.py
│   └── video_tools.py
├── venv/
├── main.py
├── requirements.txt
└── README.md
```

---

## 💻 Technologies Used

- **GUI & Core:** `Python`, `CustomTkinter`, `TkinterDnD2`, `Threading`
- **Images:** `Pillow`, `OpenCV`
- **PDFs:** `PyMuPDF`, `img2pdf`, `pypdf`, `ReportLab`
- **Media:** `MoviePy`, `Pydub`, `FFmpeg`
- **Office:** `LibreOffice` (under the hood)

---

## 🛡️ Privacy

Filevix is built with a **Privacy-First** architecture:
- ❌ No cloud processing
- ❌ No uploads to external servers
- ❌ No telemetry tracking
- ❌ No user analytics
- ✅ Fully offline operation
- ✅ Your files always remain on your device

---

## ⚡ Performance

- **Multi-threading:** UI remains responsive while heavy conversions run in the background.
- **Batch Processing:** Convert hundreds of files simultaneously without breaking a sweat.
- **Optimized Memory Usage:** Smart buffering for large files to prevent RAM exhaustion.
- **Fast Conversion Engine:** Leveraging C-based bindings (like PyMuPDF and OpenCV) for maximum speed.

---

## 🔒 Security

- **Local-only processing:** Eliminates the risk of intercepted data during transit.
- **Temporary file cleanup:** Any intermediate files created during complex conversions are securely wiped immediately after.
- **Secure overwrite handling:** Prevents accidental data loss by renaming/warning before overwriting existing files.
- **No network communication:** The application operates in a completely sandboxed local environment.

---

## ⚙️ Configuration

Customize Filevix to fit your workflow:
- **Default output folder:** Set a permanent destination for all converted files.
- **Theme:** Choose between Light, Dark, or System default modes.
- **Auto-open folder:** Automatically open the destination folder upon completion.
- **Remember settings:** Persist your last used conversion settings across sessions.
- **Language:** Support for multiple interface languages (planned).
- **Compression level:** Fine-tune the balance between file size and quality.

---

## 🗂️ Supported Formats

| Category | Input Formats | Output Formats |
| :--- | :--- | :--- |
| **Image** | `JPG`, `JPEG`, `PNG`, `WEBP`, `TIFF`, `BMP` | `JPG`, `PNG`, `WEBP`, `PDF` |
| **PDF** | `PDF` | `PDF`, `JPG`, `PNG` |
| **Office** | `DOCX`, `DOC`, `XLSX`, `XLS`, `PPTX`, `PPT`, `TXT`, `MD` | `PDF` |
| **Audio** | `MP3`, `WAV`, `FLAC`, `AAC`, `M4A` | `MP3`, `WAV` |
| **Video** | `MP4`, `MOV`, `AVI`, `MKV` | `MP4`, `MP3` |

---

## ⌨️ Keyboard Shortcuts

| Action | Shortcut (Windows/Linux) | Shortcut (macOS) |
| :--- | :--- | :--- |
| Open File | `Ctrl` + `O` | `Cmd` + `O` |
| Open Folder | `Ctrl` + `Shift` + `O` | `Cmd` + `Shift` + `O` |
| Save / Convert | `Ctrl` + `S` | `Cmd` + `S` |
| Open History | `Ctrl` + `H` | `Cmd` + `H` |
| Quit Application| `Ctrl` + `Q` | `Cmd` + `Q` |

---

## 🗺️ Roadmap

- [ ] Cloud plugins (optional integration for Google Drive/Dropbox)
- [ ] OCR (Optical Character Recognition) for PDFs/Images
- [ ] AI Image Upscaling (Local models)
- [ ] QR Code Generator / Scanner
- [ ] Digital Signature embedding for PDFs
- [ ] Fillable PDF Forms editor
- [ ] Extensible Plugin System for community modules

---

## 🤝 Contributing

Contributions are what make the open-source community such an amazing place to 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 Request**

---

## 📦 Building Executable

You can compile Filevix into a standalone executable using `PyInstaller`.

```bash
# Install PyInstaller
pip install pyinstaller

# Build for your current OS
pyinstaller --noconfirm --onedir --windowed --icon "assets/icon.ico" "main.py"
```
*Note: The icon extension should be `.ico` for Windows and `.icns` for macOS.*

---

## ❓ FAQ

<details>
<summary><b>1. Is Filevix really 100% free?</b></summary>
Yes, Filevix is open-source and completely free to use for personal and commercial projects.
</details>

<details>
<summary><b>2. Do I need an internet connection to use it?</b></summary>
No. Filevix works entirely offline once installed.
</details>

<details>
<summary><b>3. Are my files uploaded anywhere?</b></summary>
Never. All processing happens on your local CPU/RAM.
</details>

<details>
<summary><b>4. Does it work on macOS Apple Silicon (M1/M2/M3)?</b></summary>
Yes, Python and the required libraries fully support Apple Silicon natively.
</details>

<details>
<summary><b>5. Why do I need LibreOffice installed for Office conversions?</b></summary>
We use LibreOffice's headless mode to ensure perfectly accurate rendering of Word, Excel, and PowerPoint files into PDF formats locally.
</details>

<details>
<summary><b>6. Can it handle files larger than 1GB?</b></summary>
Yes, depending on your system RAM. Video and audio files are streamed in chunks to minimize memory footprint.
</details>

<details>
<summary><b>7. Why is my video conversion taking so long?</b></summary>
Video transcoding (e.g., MOV to MP4) is CPU-intensive. Converting large videos locally depends heavily on your processor's speed.
</details>

<details>
<summary><b>8. Can I add my own custom tools?</b></summary>
Yes! The codebase is modular. You can add new scripts inside the `modules/` folder and link them in the UI. A formal Plugin System is on our roadmap.
</details>

<details>
<summary><b>9. How do I report a bug?</b></summary>
Please open an issue on our GitHub repository with steps to reproduce the problem.
</details>

<details>
<summary><b>10. Is batch processing limited to a certain number of files?</b></summary>
No hard limit, though processing thousands of massive files at once might take a while.
</details>

<details>
<summary><b>11. Can I use Filevix via command line?</b></summary>
Currently, Filevix is a GUI-first application. A CLI wrapper is being considered for future releases.
</details>

<details>
<summary><b>12. Why is FFmpeg required?</b></summary>
FFmpeg is the industry standard for audio and video processing. We use it to perform all media conversions and extractions quickly and reliably.
</details>

<details>
<summary><b>13. How do I change the default output folder?</b></summary>
Go to the Settings panel (gear icon) and specify your preferred default destination path.
</details>

<details>
<summary><b>14. Does it support Dark Mode?</b></summary>
Absolutely. You can toggle between Dark Mode, Light Mode, or sync it with your system's appearance setting.
</details>

<details>
<summary><b>15. Will you add support for format X?</b></summary>
If you need a specific format, feel free to open a Feature Request on GitHub, or fork the repository and add it yourself!
</details>

---

## 🔧 Troubleshooting

- **Common installation issues:** Ensure you are using Python 3.10+ and have activated your virtual environment before running `pip install`.
- **Missing FFmpeg:** For audio/video features to work, FFmpeg must be installed on your system and added to your PATH environment variable.
- **Missing LibreOffice:** Office to PDF conversions require LibreOffice to be installed. Ensure it's in your system PATH or defined in the app settings.
- **Permission errors:** Try running the application as an Administrator (Windows) if you are unable to save files to certain protected directories.
- **Large files:** If the application crashes on massive files, ensure you have sufficient swap/pagefile space and available RAM.
- **macOS Gatekeeper:** If running a built executable on macOS, you might need to go to `System Settings > Privacy & Security` and click `Open Anyway`.
- **Windows Defender:** Windows might flag newly built local executables (via PyInstaller) as suspicious. You can safely add an exclusion for the Filevix folder.

---

## 📄 License

Distributed under the MIT License. See `LICENSE` for more information.

---

## 🙏 Credits

Filevix is built on the shoulders of giants. Major thanks to the maintainers of these amazing libraries:
- `CustomTkinter`
- `Pillow`
- `PyMuPDF`
- `OpenCV`
- `MoviePy`
- `Pydub`
- `FFmpeg`

---

<div align="center">
Made with ❤️ in Python
</div>
