First commit
This commit is contained in:
83
README.md
Normal file
83
README.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 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**.
|
||||
Reference in New Issue
Block a user