# BagheeraView BagheeraView is an image viewer specifically designed for the KDE ecosystem. Built with **Python** and **PySide6**, it leverages Baloo to deliver a powerful, agile, and fluid metadata-based image management experience without abandoning classic folder management. ## 🚀 Key Features - **Enhanced Baloo Search:** Blazing fast image retrieval using the KDE Baloo indexing framework, featuring advanced capabilities not natively available in Baloo, such as **folder recursive search** and results **text exclusion**. - **Versatile Thumbnail Grid:** A fluid and responsive browser for large collections, offering both **Flat View, Date View** and **Folder View** modes. - **Face Detection:** Integrated computer vision to detect faces within your photos and assign person names. - **Metadata:** A basic viewer for **EXIF, IPTC, and XMP** data. - **Tagging & Rating & Comments System:** Effortlessly manage tags, ratings and comments that integrate directly with your filesystem's extended attributes. - **Smart State Persistence:** The application remembers your workflow. Your **last used sort order** and view settings are automatically saved and restored upon startup. ## 🛠 Technical Stack - **Language:** Python 3 - **GUI Framework:** PySide6 (Qt for Python) - **KDE Integration:** Baloo search and management - **Metadata Handling:** Advanced image header manipulation to store faces and support to file extended attributes ## 🌐 Internationalization (i18n) BagheeraView is designed for a global audience with localized interface support. Initial supported languages include: - **English** (Base development language) - **Galician** - **Spanish** > **Note:** Following internal configuration standards, all source code labels and developer logs are maintained in English for technical consistency. ## ⚙️ Configuration & Persistence BagheeraView is built for workflow continuity. The application stores the user's environment state in the local configuration: - **Restore Last Layout:** Last layout and preferences are automatically saved and restored every time you launch it. - **Keyboard configuration:** All hotkeys can be parametriced by the user. - **Interface Language:** The application automatically detects the system locale and applies the corresponding translation on startup or user can decide main language. ## 📥 Installation (Development) Ensure you have the necessary PySide6 dependencies and KDE development headers for Baloo installed on your system. Bash ``` # Clone the repository git clone https://github.com/youruser/BagheeraView.git cd BagheeraView # Install dependencies pip install -r requirements.txt # Run the application python main.py ``` ## 🤝 Contributing We follow an **English-first policy** for the codebase and documentation. 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**.