From 7c77eeb39232179de4ed3f32b22bed835dec4032 Mon Sep 17 00:00:00 2001 From: Mathias Date: Tue, 6 Oct 2026 08:02:24 +0200 Subject: [PATCH] install exiftool in pipeline runner --- .gitea/workflows/ci.yml | 9 +++++++++ AGENTS.md | 5 +++++ src/photools3/metadata_writer.py | 1 - test/test_metadata_writer.py | 1 - 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index e8097c2..b0ff10b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -18,6 +18,15 @@ jobs: run: uv sync --frozen - name: copy env run: cp .env.template .env + - name: Install exiftool (system dependency) + run: | + if command -v exiftool >/dev/null 2>&1; then + echo "exiftool already installed" + elif command -v sudo >/dev/null 2>&1; then + sudo apt-get update && sudo apt-get install -y --no-install-recommends libimage-exiftool-perl + else + apt-get update && apt-get install -y --no-install-recommends libimage-exiftool-perl + fi - name: Run pytest run: uv run pytest . - name: Check formatting (black) diff --git a/AGENTS.md b/AGENTS.md index fd16e82..eb30161 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,6 +6,11 @@ Requires a `.env` file with the following variables: - `llm_api_base_url`: Base URL for the LLM API. - `llm_default_temperature`: Float value for temperature. +## System Dependencies +- `exiftool` binary: required by `pyexiftool` at runtime, not installable via pip/uv. + - Arch: `perl-image-exiftool` + - Debian/Ubuntu: `libimage-exiftool-perl` + ## Development Toolchain - **Dependency Management**: Use `uv`. - **Python Version**: Requires Python `>=3.14`. diff --git a/src/photools3/metadata_writer.py b/src/photools3/metadata_writer.py index ca7714a..0e2df60 100644 --- a/src/photools3/metadata_writer.py +++ b/src/photools3/metadata_writer.py @@ -44,7 +44,6 @@ def read_metadata(path: Path) -> XmpMetadata | None: log.error(f"Could not read metadata from {path}: {exc}") - class MetadataWriter: """ Write metadata (captions and keywords) to image files. diff --git a/test/test_metadata_writer.py b/test/test_metadata_writer.py index dc0a938..062f25b 100644 --- a/test/test_metadata_writer.py +++ b/test/test_metadata_writer.py @@ -1,4 +1,3 @@ - from photools3.metadata_writer import read_metadata from test.test_photo import PATHS_DNG_EXAMPLES