From a270d9bf1ad2284c267ff38113d16fb20c34035e Mon Sep 17 00:00:00 2001 From: Valter Silva Date: Sat, 27 Jun 2026 12:23:57 +0800 Subject: [PATCH] fix(upload_trigger): migrate from EOL PyPDF2 to maintained pypdf PyPDF2 was discontinued by py-pdf and merged into the maintained `pypdf` package; PyPDF2==3.0.1 is end-of-life. The sibling generate_embeddings Lambda already uses pypdf==3.17.0, so the upload_trigger path was the only place still pinned to abandoned code. pypdf 3.x is a drop-in successor with an identical API at this version: - requirements.txt: PyPDF2==3.0.1 -> pypdf==3.17.0 (matches sibling) - main.py: `import PyPDF2` -> `from pypdf import PdfReader` - main.py: `PyPDF2.PdfReader(f)` -> `PdfReader(f)` `reader.pages` access is unchanged. Verified the migrated path returns the correct page count against pypdf 3.17.0. --- backend/src/upload_trigger/main.py | 4 ++-- backend/src/upload_trigger/requirements.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/upload_trigger/main.py b/backend/src/upload_trigger/main.py index fb96367..1040f26 100644 --- a/backend/src/upload_trigger/main.py +++ b/backend/src/upload_trigger/main.py @@ -1,7 +1,7 @@ import os, json from datetime import datetime import boto3 -import PyPDF2 +from pypdf import PdfReader import shortuuid import urllib from aws_lambda_powertools import Logger @@ -32,7 +32,7 @@ def lambda_handler(event, context): s3.download_file(BUCKET, key, f"/tmp/{file_name}") with open(f"/tmp/{file_name}", "rb") as f: - reader = PyPDF2.PdfReader(f) + reader = PdfReader(f) pages = str(len(reader.pages)) conversation_id = shortuuid.uuid() diff --git a/backend/src/upload_trigger/requirements.txt b/backend/src/upload_trigger/requirements.txt index 93b71e7..b9c6798 100644 --- a/backend/src/upload_trigger/requirements.txt +++ b/backend/src/upload_trigger/requirements.txt @@ -1,4 +1,4 @@ boto3==1.28.57 botocore==1.31.57 -PyPDF2==3.0.1 +pypdf==3.17.0 shortuuid==1.0.11