From 4a8a6d074dfe7b55895ed3948edcadd78d9f6c42 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:17:41 +0300 Subject: [PATCH 01/10] Remove pandas as direct runtime dependency --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6eb96143..a1046ae9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,6 @@ license = {text = "MIT"} requires-python = ">=3.10" dependencies = [ "plotly<6.0.0,>=5.13.1", - "pandas>=2.2.3", "polarstate==0.1.8", "smoothstate>=0.1.1", "polars>=1.31.0", From 16b43e0d84a2289d63ad6c08b7dae408cc44e99d Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:18:28 +0300 Subject: [PATCH 02/10] Guard against pandas returning as direct dependency --- tests/test_runtime_dependencies.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tests/test_runtime_dependencies.py diff --git a/tests/test_runtime_dependencies.py b/tests/test_runtime_dependencies.py new file mode 100644 index 00000000..b8b67359 --- /dev/null +++ b/tests/test_runtime_dependencies.py @@ -0,0 +1,7 @@ +from pathlib import Path + + +def test_pandas_is_not_a_direct_runtime_dependency(): + pyproject = Path("pyproject.toml").read_text() + project_dependencies = pyproject.split("dependencies = [", 1)[1].split("]", 1)[0] + assert '"pandas' not in project_dependencies From a1b64fce4272fbf5c6b7a96bde179930fb031f35 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:19:15 +0300 Subject: [PATCH 03/10] Document pandas runtime audit --- PANDAS_AUDIT.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 PANDAS_AUDIT.md diff --git a/PANDAS_AUDIT.md b/PANDAS_AUDIT.md new file mode 100644 index 00000000..ec4deae6 --- /dev/null +++ b/PANDAS_AUDIT.md @@ -0,0 +1,11 @@ +# Pandas runtime audit + +Pandas is no longer declared as a direct runtime dependency. + +Remaining source references are legacy cleanup targets: + +- `processing/adjustments.py`: `ensure_no_categorical()` is an unused pandas-only helper; the active adjustment pipeline is Polars. +- `processing/send_post_request_to_r_rtichoke.py`: incomplete legacy R-API bridge whose request function is currently a stub. +- `calibration/calibration.py`: only a commented-out pandas import remains. + +The dependency benchmark should be rerun after this change to determine whether another runtime dependency still pulls pandas transitively before deleting legacy code. From dccd90f888504e40c640d7ee60841fddcdbb8279 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:19:38 +0300 Subject: [PATCH 04/10] Add pandas removal verification note --- .github/pandas-removal-note.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/pandas-removal-note.txt diff --git a/.github/pandas-removal-note.txt b/.github/pandas-removal-note.txt new file mode 100644 index 00000000..4d770b06 --- /dev/null +++ b/.github/pandas-removal-note.txt @@ -0,0 +1 @@ +Verify with the runtime dependency benchmark whether pandas remains transitively installed after removing it from project.dependencies. From 7e6f364d7ac45d7d1379451b154fe474f7f38ce4 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:20:00 +0300 Subject: [PATCH 05/10] Mark pandas dependency audit --- .github/pandas-audit-marker | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/pandas-audit-marker diff --git a/.github/pandas-audit-marker b/.github/pandas-audit-marker new file mode 100644 index 00000000..cbb66f8b --- /dev/null +++ b/.github/pandas-audit-marker @@ -0,0 +1 @@ +pandas direct runtime dependency removed; benchmark transitive presence before legacy-code deletion. From d15cd27ab43bfc969b493433dd0f51dfade1eb61 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:20:33 +0300 Subject: [PATCH 06/10] Record pandas cleanup follow-up --- .github/pandas-removal-plan.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/pandas-removal-plan.md diff --git a/.github/pandas-removal-plan.md b/.github/pandas-removal-plan.md new file mode 100644 index 00000000..a81cd86a --- /dev/null +++ b/.github/pandas-removal-plan.md @@ -0,0 +1 @@ +After CI passes, rerun the runtime benchmark. If pandas is absent, remove the unused `ensure_no_categorical` helper and obsolete R API bridge in a separate cleanup. If pandas remains, identify the transitive parent before further code changes. From 55614d4889f4e02f92c54dc203802cae2ce2df73 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:21:21 +0300 Subject: [PATCH 07/10] Remove temporary pandas audit marker --- .github/pandas-audit-marker | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/pandas-audit-marker diff --git a/.github/pandas-audit-marker b/.github/pandas-audit-marker deleted file mode 100644 index cbb66f8b..00000000 --- a/.github/pandas-audit-marker +++ /dev/null @@ -1 +0,0 @@ -pandas direct runtime dependency removed; benchmark transitive presence before legacy-code deletion. From 118871700d90bed1d58bfa85652f732cd7e267fa Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:21:38 +0300 Subject: [PATCH 08/10] Remove temporary pandas audit note --- .github/pandas-removal-note.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/pandas-removal-note.txt diff --git a/.github/pandas-removal-note.txt b/.github/pandas-removal-note.txt deleted file mode 100644 index 4d770b06..00000000 --- a/.github/pandas-removal-note.txt +++ /dev/null @@ -1 +0,0 @@ -Verify with the runtime dependency benchmark whether pandas remains transitively installed after removing it from project.dependencies. From aaa1849bf9d19f01e0a939c231992e2a55a63a4f Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:21:54 +0300 Subject: [PATCH 09/10] Remove temporary pandas cleanup plan --- .github/pandas-removal-plan.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/pandas-removal-plan.md diff --git a/.github/pandas-removal-plan.md b/.github/pandas-removal-plan.md deleted file mode 100644 index a81cd86a..00000000 --- a/.github/pandas-removal-plan.md +++ /dev/null @@ -1 +0,0 @@ -After CI passes, rerun the runtime benchmark. If pandas is absent, remove the unused `ensure_no_categorical` helper and obsolete R API bridge in a separate cleanup. If pandas remains, identify the transitive parent before further code changes. From a396b5f72e008d83a273bca1f41194af9b4ec521 Mon Sep 17 00:00:00 2001 From: Uriah Finkel Date: Wed, 19 Aug 2026 19:22:14 +0300 Subject: [PATCH 10/10] Keep pandas audit in PR description only --- PANDAS_AUDIT.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 PANDAS_AUDIT.md diff --git a/PANDAS_AUDIT.md b/PANDAS_AUDIT.md deleted file mode 100644 index ec4deae6..00000000 --- a/PANDAS_AUDIT.md +++ /dev/null @@ -1,11 +0,0 @@ -# Pandas runtime audit - -Pandas is no longer declared as a direct runtime dependency. - -Remaining source references are legacy cleanup targets: - -- `processing/adjustments.py`: `ensure_no_categorical()` is an unused pandas-only helper; the active adjustment pipeline is Polars. -- `processing/send_post_request_to_r_rtichoke.py`: incomplete legacy R-API bridge whose request function is currently a stub. -- `calibration/calibration.py`: only a commented-out pandas import remains. - -The dependency benchmark should be rerun after this change to determine whether another runtime dependency still pulls pandas transitively before deleting legacy code.