From 8da2fa8bc421bd6c6445251ede233d954b39f171 Mon Sep 17 00:00:00 2001 From: Madison May Date: Tue, 29 Jul 2025 21:18:54 -0400 Subject: [PATCH 1/9] feat: email pipeline improvements --- indico/types/dataset.py | 3 +++ tests/integration/queries/test_dataset.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/indico/types/dataset.py b/indico/types/dataset.py index da155fec..2bf25774 100644 --- a/indico/types/dataset.py +++ b/indico/types/dataset.py @@ -155,6 +155,9 @@ class EmailOptions(BaseType): include_sections: Optional[IncludeSections] unpack: Optional[bool] preserve_body_whitespace: Optional[bool] + embed_inline_images: Optional[bool] + html_renderer_version: Optional[int] + msg_converter_version: Optional[int] class OcrOptionsInput: diff --git a/tests/integration/queries/test_dataset.py b/tests/integration/queries/test_dataset.py index aff3c6cc..f851c9ae 100644 --- a/tests/integration/queries/test_dataset.py +++ b/tests/integration/queries/test_dataset.py @@ -439,6 +439,9 @@ def test_create_with_email_options_readapi(indico): email_config = { "include_sections": {"header": True, "body": True, "attachments": True}, "unpack": True, + "embed_inline_images": True, + "html_renderer_version": 1, + "msg_converter_version": 1, } dataset = client.call( CreateEmptyDataset( From 0371f464719ec432b42e75b2d32014b5fcad794f Mon Sep 17 00:00:00 2001 From: Madison May Date: Wed, 8 Oct 2025 07:34:42 -0400 Subject: [PATCH 2/9] Add header_version and sanitize_css options --- indico/types/dataset.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indico/types/dataset.py b/indico/types/dataset.py index 2bf25774..f0406db5 100644 --- a/indico/types/dataset.py +++ b/indico/types/dataset.py @@ -158,6 +158,8 @@ class EmailOptions(BaseType): embed_inline_images: Optional[bool] html_renderer_version: Optional[int] msg_converter_version: Optional[int] + header_version: Optional[int] + sanitize_css: Optional[bool] class OcrOptionsInput: From 89eabdd21eedfb0d80bda12762739dc03cbcdd58 Mon Sep 17 00:00:00 2001 From: Madison May Date: Wed, 8 Oct 2025 07:35:51 -0400 Subject: [PATCH 3/9] Add header_version and sanitize_css to dataset config --- tests/integration/queries/test_dataset.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/queries/test_dataset.py b/tests/integration/queries/test_dataset.py index f851c9ae..4eb97db8 100644 --- a/tests/integration/queries/test_dataset.py +++ b/tests/integration/queries/test_dataset.py @@ -442,6 +442,8 @@ def test_create_with_email_options_readapi(indico): "embed_inline_images": True, "html_renderer_version": 1, "msg_converter_version": 1, + "header_version": 1, + "sanitize_css": False } dataset = client.call( CreateEmptyDataset( From e12aedbec60b0348ad2c67f2cecab51c5ef637a0 Mon Sep 17 00:00:00 2001 From: Madison May Date: Wed, 8 Oct 2025 07:55:22 -0400 Subject: [PATCH 4/9] fix: missing email configs, readapi tables v2 --- indico/queries/datasets.py | 2 +- indico/types/dataset.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/indico/queries/datasets.py b/indico/queries/datasets.py index 9bd9d565..7cc8ca91 100644 --- a/indico/queries/datasets.py +++ b/indico/queries/datasets.py @@ -206,7 +206,7 @@ class CreateDataset(RequestChain["Dataset"]): from_local_images (bool, optional): Flag whether files are local images or not. Defaults to False. image_filename_col (str, optional): Image filename column. Defaults to 'filename'. batch_size (int, optional): Size of file batch to upload at a time. Defaults to 20. - ocr_engine (OcrEngine, optional): Specify an OCR engine [OMNIPAGE, READAPI, READAPI_V2, READAPI_TABLES_V1]. Defaults to None. + ocr_engine (OcrEngine, optional): Specify an OCR engine [OMNIPAGE, READAPI, READAPI_V2, READAPI_TABLES_V1, READAPI_TABLES_V2]. Defaults to None. omnipage_ocr_options (OmnipageOcrOptionsInput, optional): If using Omnipage, specify Omnipage OCR options. Defaults to None. read_api_ocr_options: (ReadApiOcrOptionsInput, optional): If using ReadAPI, specify ReadAPI OCR options. Defaults to None. request_interval (int or float, optional): The maximum time in between retry calls when waiting. Defaults to 5 seconds. diff --git a/indico/types/dataset.py b/indico/types/dataset.py index f0406db5..aa03a4c6 100644 --- a/indico/types/dataset.py +++ b/indico/types/dataset.py @@ -84,6 +84,7 @@ class OcrEngine(Enum): READAPI = 1 READAPI_V2 = 2 READAPI_TABLES_V1 = 3 + READAPI_TABLES_V2 = 4 class OmnipageOcrOptionsInput(BaseType): From b83dd05eda9b1c3039bd576417f6b4001c01f780 Mon Sep 17 00:00:00 2001 From: Madison May Date: Wed, 8 Oct 2025 13:00:21 -0400 Subject: [PATCH 5/9] fix: ruff format --- tests/integration/queries/test_dataset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/queries/test_dataset.py b/tests/integration/queries/test_dataset.py index 4eb97db8..a9edfbb7 100644 --- a/tests/integration/queries/test_dataset.py +++ b/tests/integration/queries/test_dataset.py @@ -443,7 +443,7 @@ def test_create_with_email_options_readapi(indico): "html_renderer_version": 1, "msg_converter_version": 1, "header_version": 1, - "sanitize_css": False + "sanitize_css": False, } dataset = client.call( CreateEmptyDataset( From 956dd33b9cc3a9a5f49f6e9b6429370b6738ec91 Mon Sep 17 00:00:00 2001 From: Madison May Date: Wed, 8 Oct 2025 13:45:12 -0400 Subject: [PATCH 6/9] fix: newer ubuntu version --- tox.Dockerfile | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/tox.Dockerfile b/tox.Dockerfile index 728c9f32..b86c3baa 100644 --- a/tox.Dockerfile +++ b/tox.Dockerfile @@ -1,24 +1,25 @@ -FROM ubuntu:20.04 +FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get install -yqq apt-transport-https +RUN apt-get update && apt-get install -yqq --no-install-recommends \ + apt-transport-https \ + software-properties-common && \ + rm -rf /var/lib/apt/lists/* -#deadsnakes holds old versions of python for ubuntu -RUN apt-get install -yqq software-properties-common && \ - add-apt-repository ppa:deadsnakes/ppa - -RUN apt-get update && \ - apt-get -yqq install \ +# deadsnakes holds additional Python versions for Ubuntu +RUN add-apt-repository -y 'ppa:deadsnakes/ppa' && \ + apt-get update && \ + apt-get -yqq install --no-install-recommends \ python3.8 \ python3.9 \ python3.10 \ python3.11 \ python3.12 \ python3.13 \ - python3-pip - -RUN pip3 install tox==4.11.3 + python3-pip \ + tox && \ + rm -rf /var/lib/apt/lists/* COPY . /indico-client WORKDIR /indico-client From 1fe318a52e4d94e9ce25720b18fb084341e2115a Mon Sep 17 00:00:00 2001 From: Madison May Date: Thu, 9 Oct 2025 11:47:18 -0400 Subject: [PATCH 7/9] fix: 38,39 EOL --- tox.Dockerfile | 2 -- tox.ini | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tox.Dockerfile b/tox.Dockerfile index b86c3baa..dc831cde 100644 --- a/tox.Dockerfile +++ b/tox.Dockerfile @@ -11,8 +11,6 @@ RUN apt-get update && apt-get install -yqq --no-install-recommends \ RUN add-apt-repository -y 'ppa:deadsnakes/ppa' && \ apt-get update && \ apt-get -yqq install --no-install-recommends \ - python3.8 \ - python3.9 \ python3.10 \ python3.11 \ python3.12 \ diff --git a/tox.ini b/tox.ini index 139d77df..c410e749 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ # content of: tox.ini , put in same dir as setup.py [tox] -envlist = py38,py39,py310,py311,py312,py313 +envlist = py310,py311,py312,py313 [testenv] extras = all From 590f45f31bba057a7777fa59450f59a50b46565f Mon Sep 17 00:00:00 2001 From: Madison May Date: Thu, 9 Oct 2025 13:23:07 -0400 Subject: [PATCH 8/9] feat!: 38,39 EOL From 8fb3798dc6d2c611a6fd8c6f5dfa1d2a306d6618 Mon Sep 17 00:00:00 2001 From: Madison May Date: Thu, 9 Oct 2025 13:32:43 -0400 Subject: [PATCH 9/9] fix: add docs changes for removal of 3.8 / 3.9 support --- README.md | 2 +- docs/_sources/intro.rst.txt | 2 +- docs/intro.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c0f2c13..1885fcf2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ --- -Required: Python 3.9+ +Required: Python 3.10+ From PyPI: diff --git a/docs/_sources/intro.rst.txt b/docs/_sources/intro.rst.txt index 21df1d58..979a0d6b 100644 --- a/docs/_sources/intro.rst.txt +++ b/docs/_sources/intro.rst.txt @@ -4,7 +4,7 @@ Getting Started Installation ============ -Requires Python 3.6, 3.7 or 3.8. +Requires Python 3.10 or newer. To install the Python Client Library:: diff --git a/docs/intro.html b/docs/intro.html index 41889a65..bf13b063 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -358,7 +358,7 @@

>

-

Requires Python 3.6, 3.7 or 3.8.

+

Requires Python 3.10 or newer.

To install the Python Client Library: