Skip to main content

OPTIMA35 is a package to modify images with pillow and piexif.

Project description

OPTIMA35

optima35 is a package utilizing pillow and piexif to modify images, I have also an GUI for this package, OptimaLab35

can be installed with pip, dependencies will be installed automaticly.

pip install optima35

Overview

OPTIMA35 (Organizing, Processing, Tweaking Images, and Modifying scanned Analogs from 35mm Film) is a Python-based project designed to streamline the management and editing of metadata and images from analog photography. While it was created with analog photography in mind, it is versatile enough to handle any type of images.

This project replaces my earlier analogphotography bash script collection, which has now been archived in favor of OPTIMA-35.

Current Status

Development and Versioning Notes

OPTIMA35 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, 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.

Available Features:

Image Processing:

  • Resizing
  • Renaming with order adjustment
  • Grayscale conversion
  • Brightness adjustment
  • Contrast adjustment EXIF Management:
  • Copy EXIF data
  • Add custom EXIF information
  • Add GPS data
  • Add a date to EXIF
  • Remove EXIF Watermarking

Dependencies

Required Dependencies:

  • piexif: For reading, modifying, and writing EXIF metadata.
  • pillow: For image processing.

Use of LLMs

In the interest of transparency, I disclose that Generative AI (GAI) large language models (LLMs), including OpenAI’s ChatGPT and Ollama models (e.g., OpenCoder and Qwen2.5-coder), have been used to assist in this project.

Areas of Assistance:

  • Project discussions and planning
  • Spelling and grammar corrections
  • Suggestions for suitable packages and libraries
  • Guidance on code structure and organization

In cases where LLMs contribute directly to code or provide substantial optimizations, such contributions will be disclosed and documented in the relevant sections of the codebase.

Ollama

  • mradermacher gguf Q4K-M Instruct version of infly/OpenCoder-1.5B
  • unsloth gguf Q4K_M Instruct version of both Qwen/QWEN2 1.5B and 3B

References

  1. Huang, Siming, et al. OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models. 2024. PDF

  2. Hui, Binyuan, et al. Qwen2.5-Coder Technical Report. arXiv preprint arXiv:2409.12186, 2024. arXiv

  3. Yang, An, et al. Qwen2 Technical Report. arXiv preprint arXiv:2407.10671, 2024. arXiv

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optima35-0.6.3a1.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

optima35-0.6.3a1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file optima35-0.6.3a1.tar.gz.

File metadata

  • Download URL: optima35-0.6.3a1.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for optima35-0.6.3a1.tar.gz
Algorithm Hash digest
SHA256 3f72a9ec88bac865cd47437fa101d5966e0ff6b4503ce17552f5e886a74ce4b0
MD5 ca39637ebcbadf38e8f0bb0b888555cf
BLAKE2b-256 089bdddae01738468fcb1363bd9baa0f3ec7e6d2e3f6118cf6517ec95b27fa09

See more details on using hashes here.

File details

Details for the file optima35-0.6.3a1-py3-none-any.whl.

File metadata

  • Download URL: optima35-0.6.3a1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for optima35-0.6.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 c47bc7e84b8e51c55bf62719b8552cdf9dc5a2b93c9f6ce5b8b8e281b99de064
MD5 ef95e2cd5ad739dd8e02b9bede7f24ab
BLAKE2b-256 49b6200d5a254afe1ec05ef330a03dc22f57fe43b3dd597883988066404be3e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page