First release.

This commit is contained in:
Mr Finchum 2025-01-28 15:30:57 +01:00
parent 2b35cbc48b
commit b28278b691
4 changed files with 68 additions and 50 deletions

View file

@ -1,47 +1,55 @@
# **OPTIMA35**
[optima35](https://gitlab.com/CodeByMrFinchum/optima35) is a Python package for managing and editing images, with a focus on analog photography (using pillow and piexif). For a graphical user interface, see [OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35).
**OPTIMA35** stands for **Organizing, Processing, Tweaking Images, and Modifying Analogs from 35mm Film**. It is a Python package designed to simplify image editing and metadata management, providing an interface/API for handling image and EXIF data seamlessly. While OPTIMA35 was created with analog photography in mind—where scanned images often lack proper EXIF data or retain only scanner metadata—it is equally useful for digital images. Adding or managing EXIF data is invaluable for organizing private photo collections, making your photo library more structured and searchable.
## **Installation**
Install with pip (dependencies will be installed automatically):
```bash
pip install optima35
```
and the GUI with
```bash
pip install OptimaLab35
```
OPTIMA35 is a core package that acts as an interface for libraries like Pillow and piexif, simplifying image manipulation tasks. While it modifies images one at a time, it requires a dedicated program for flexible and batch processing. For a user-friendly graphical experience, consider using [OptimaLab35](https://gitlab.com/CodeByMrFinchum/OptimaLab35), a GUI designed specifically for OPTIMA35, also developed by me.
## **Overview**
Currently, there are no plans to create a formal API documentation. The code includes annotations and detailed function descriptions to explain its functionality. As this is a private hobby project, dedicating time to writing comprehensive documentation would take away from my limited free time.
**OPTIMA35** (**Organizing, Processing, Tweaking Images, and Modifying scanned Analogs from 35mm Film**) simplifies the editing and management of images and metadata. Though optimized for analog photography, it can handle any type of images.
---
## **Features**
### **Image Processing**
- Resize images
- Rename with custom order
- Grayscale conversion
- Brightness and contrast adjustment
- Resize images (upscale or downscale)
- Convert images to grayscale
- Adjust brightness and contrast
- Add customizable text-based watermarks
### **EXIF Management**
- Copy or add custom EXIF data
- Add GPS coordinates
- Add or modify EXIF dates
- Remove EXIF metadata
- Add EXIF data using a simple dictionary
- Copy EXIF data from the original image
- Remove EXIF metadata completely
- Add timestamps (e.g., original photo timestamp)
- Automatically adjust EXIF timestamps based on image file names
- Add GPS coordinates to images
### **Watermarking**
- Add customizable watermarks to images
### **Streamlined Integration**
- Handles all required EXIF byte conversions behind the scenes
- Provides an intuitive API for frequently needed operations
---
## **Installation**
Install the GUI (dependencies are installed automatically)
```bash
pip install OptimaLab35
```
Or in case you only want optima35 (dependencies are installed automatically):
```bash
pip install optima35
```
---
## **Current Status**
**Stable Release (v1.0)**
- The program follows semantic versioning (**major.minor.patch**).
- The current release is stable, and all changes within the same major version will remain backward compatible.
- Breaking changes, if any, will result in a new major version.
- Future development will primarily focus on the graphical user interface (OptimaLab35), with only minor updates or patches for OPTIMA35 as needed.
**Alpha Stage**
- Active development with frequent updates.
- Breaking changes may occur in minor version updates.
- Check the [CHANGELOG](https://gitlab.com/CodeByMrFinchum/optima35/-/blob/main/CHANGELOG.md?ref_type=heads) for details on changes and updates.
## **Contributing and Feedback**
Feedback, bug reports, and contributions are welcome! Please submit them through the [GitLab repository](https://gitlab.com/CodeByMrFinchum/optima35).
---
# Use of LLMs
In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAIs ChatGPT and Ollama models (e.g., OpenCoder and Qwen2.5-coder), have been used to assist in this project.