Stripping alot of content, everything regarding UI.

This commit is contained in:
Mr Finchum 2025-01-02 17:07:47 +01:00
parent 9930488581
commit 53286817d5

View file

@ -1,4 +1,5 @@
# OPTIMA-35 # OPTIMA-35
Working on splitting OPTIMA-35 to its own package removing UI elements.
## Overview ## Overview
@ -6,28 +7,17 @@
This project replaces my earlier [analogphotography](https://gitlab.com/sf-bashscripts/analogphotography) bash script collection, which has now been archived in favor of OPTIMA-35. This project replaces my earlier [analogphotography](https://gitlab.com/sf-bashscripts/analogphotography) bash script collection, which has now been archived in favor of OPTIMA-35.
**OPTIMA-35** is a cross-platform program. The **GUI** works on Linux and Windows(1) and is expected to run on macOS. The **TUI** is currently Linux-only, as its dependency is exclusive to Linux.
(1): Windows' default image viewer has limitations in displaying some EXIF metadata. Use dedicated software for full EXIF data visibility.
## Current Status ## Current Status
### Development and Versioning Notes ### Development and Versioning Notes
**OPTIMA-35** is currently in an **alpha stage** and under active development. As a result: **OPTIMA-35** is currently in an **alpha stage** and under active development. As a result:
- The README may occasionally be outdated. - The README may occasionally be outdated.
- Users are encouraged to check for new branches and read the [**CHANGELOG**](https://gitlab.com/CodeByMrFinchum/optima-35/-/blob/main/CHANGELOG.md?ref_type=heads), which is consistently updated and well-documented. - Users are encouraged to check for new branches and read the [**CHANGELOG**](https://gitlab.com/CodeByMrFinchum/optima-35/-/blob/main/CHANGELOG.md?ref_type=heads), which is consistently updated and well-documented.
- Bugs or unforeseen behavior may occur. - Bugs or unforeseen behavior may occur.
While the project follows a semantic versioning structure (major.minor.patch), breaking changes—typically reserved for major version increments—may also occur in minor version updates during this development phase. Please review the changelog carefully before updating. While the project follows a semantic versioning structure (major.minor.patch), breaking changes—typically reserved for major version increments—may also occur in minor version updates during this development phase. Please review the changelog carefully before updating.
**OPTIMA-35** supports two modes: **GUI** and **TUI**.
- The **GUI** is loaded by default if **PySide6** is available.
- The **TUI** serves as a fallback when **PySide6** is unavailable or can be started explicitly using the `--tui` option with `main.py`.
While all features are implemented and functional, the designs of both the GUI and TUI are not yet finalized. Some safety checks are still under development.
### Available Features: ### Available Features:
**Implemented Features:** **Implemented Features:**
@ -45,55 +35,21 @@ While all features are implemented and functional, the designs of both the GUI a
- Remove EXIF - Remove EXIF
- **Watermarking** - **Watermarking**
### Preview GUI
**GUI for OPTIMA-35** with KvArcDark theme on Linux
**Main windows**
![main_tab](https://gitlab.com/CodeByMrFinchum/optima-35/-/raw/main/media/main_tab.png){width=40%}
**Exif tab when opened, settings disabled by default**
![exif_tab_disabled](https://gitlab.com/CodeByMrFinchum/optima-35/-/raw/main/media/exif_tab_disabled.png){width=40%}
**Exif tab after enabeling own exif data**
![exif_tab_enabled](https://gitlab.com/CodeByMrFinchum/optima-35/-/raw/main/media/exif_tab_enabled.png){width=40%}
**Dialog window to modify exif file without need to open yaml file**
![exifeditor](https://gitlab.com/CodeByMrFinchum/optima-35/-/raw/main/media/exifeditor.png){width=40%}
### Preview TUI
**asciinema recording for TUI**
![demo_gif](https://gitlab.com/CodeByMrFinchum/optima-35/-/raw/main/media/demo_v041.gif)
## Dependencies ## Dependencies
**OPTIMA-35** has two modes: **GUI** and **TUI**. Each mode has its own set of dependencies, so you dont need to install TUI dependencies if you only plan to use the GUI (and vice versa).
**Required Dependencies:** **Required Dependencies:**
- **pyyaml**: For handling YAML files (configuration and settings). - **pyyaml**: For handling YAML files (configuration and settings).
- **piexif**: For reading, modifying, and writing EXIF metadata. - **piexif**: For reading, modifying, and writing EXIF metadata.
- **pillow**: For image processing. - **pillow**: For image processing.
- **pyside6**: For the GUI mode.
- **simple_term_menu**: For the TUI mode.
### Installing Dependencies ### Installing Dependencies
You can install the dependencies using the respective requirements file for your desired mode (**TUI** or **GUI**). You can install the dependencies using the requirements.txt
Using `pip`: Using `pip`:
```bash ```bash
pip install -r requirements_gui.txt pip install -r requirements.txt
```
Alternatively, if you use **conda** or its alternatives (**anaconda**, **mamba**, **micromamba**), run:
```bash
conda install -c conda-forge --file requirements_gui.txt
``` ```
# Use of LLMs # Use of LLMs