From bae0d7424a7fd1392884e7a43a48c2656e804c67 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 8 Sep 2026 06:56:43 +0000 Subject: [PATCH 1/2] Raise the skrub floor to 0.10.1 to fix the highest-resolution CI legs joblib 1.6.0 stopped vendoring cloudpickle and now depends on it as a regular requirement, so `joblib.externals.cloudpickle` no longer exists. skrub versions below 0.10.1 import it from there in skrub/_data_ops/_utils.py, which makes `import tabpfn` fail with ImportError on every `--resolution highest` leg. skrub 0.10.1 imports cloudpickle directly, so pinning the floor there fixes the resolution. The lowest-direct legs were never affected: they resolve joblib 1.2.0, which still ships the vendored copy. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018cs3ut9LQr8f3KojMikV12 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0b25b490d..7f0a71cdb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ "filelock>=3.11.0", "lightgbm>=4.4", # Capped: skrub is pre-1.0 and its minor releases change transformer behavior. - "skrub>=0.7,<0.11", + "skrub>=0.10.1,<0.11", # For plotting utils; skrub already pulls it in transitively anyway. "matplotlib>=3.6.1", "mlx>=0.29.3; sys_platform == 'darwin' and platform_machine == 'arm64'", From 697184b29fc4952ce3410bf08a5484c3d1a9a6d2 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 8 Sep 2026 07:00:29 +0000 Subject: [PATCH 2/2] Add changelog entry for the skrub floor bump Uses the `changed` category, matching changelog/1231.changed.md, which was the previous edit to the same dependency line. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018cs3ut9LQr8f3KojMikV12 --- changelog/1248.changed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/1248.changed.md diff --git a/changelog/1248.changed.md b/changelog/1248.changed.md new file mode 100644 index 000000000..c1a0baea9 --- /dev/null +++ b/changelog/1248.changed.md @@ -0,0 +1 @@ +Raise the minimum `skrub` version from 0.7 to 0.10.1. joblib 1.6.0 stopped vendoring cloudpickle, so `joblib.externals.cloudpickle` no longer exists, and skrub versions below 0.10.1 import it from there. Installing TabPFN alongside joblib 1.6.0 and an older skrub made `import tabpfn` fail with an `ImportError`.