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
Working on splitting OPTIMA-35 to its own package removing UI elements.
## 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.
**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
### Development and Versioning Notes
**OPTIMA-35** is currently in an **alpha stage** and under active development. As a result:
- 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.
- Bugs or unforeseen behavior may occur.
**OPTIMA-35** is currently in an **alpha stage** and under active development. As a result:
- 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.
- 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.
**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:
**Implemented Features:**
@ -45,55 +35,21 @@ While all features are implemented and functional, the designs of both the GUI a
- Remove EXIF
- **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
**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:**
- **pyyaml**: For handling YAML files (configuration and settings).
- **piexif**: For reading, modifying, and writing EXIF metadata.
- **pillow**: For image processing.
- **pyside6**: For the GUI mode.
- **simple_term_menu**: For the TUI mode.
### 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`:
```bash
pip install -r requirements_gui.txt
```
Alternatively, if you use **conda** or its alternatives (**anaconda**, **mamba**, **micromamba**), run:
```bash
conda install -c conda-forge --file requirements_gui.txt
pip install -r requirements.txt
```
# Use of LLMs