From 1cdb09348c9e471ca78d1d5329572cb1c5b15e80 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 7 Sep 2026 15:27:14 +0000 Subject: [PATCH] build: keep matplotlib below 3.11 while Python 3.10 is supported matplotlib 3.11 requires Python >= 3.11, and this package still declares requires-python >= 3.10 with a 3.10 job in CI. Dependabot's bump in #47 was compiled on a newer interpreter, so its lockfile dropped the pins that only 3.10 needs (typing-extensions, tomli, exceptiongroup) and the hashed install failed on the first job; it also rewrote the floor in ci.in to >= 3.11.1. Pin the ceiling in ci.in with the reason beside it, and tell Dependabot to skip feature bumps of matplotlib under /requirements so the same PR does not reopen every week. Patch releases still flow. The regenerated ci.txt is byte-identical to the current one, which confirms the lock was already the 3.10-compatible resolution. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_014gwmBVUHSgohCLkNVqAR77 Signed-off-by: Claude --- .github/dependabot.yml | 5 +++++ requirements/ci.in | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 754df1f..e9d82ea 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -20,6 +20,11 @@ updates: default-days: 7 open-pull-requests-limit: 5 labels: [dependencies] + ignore: + # matplotlib 3.11 dropped Python 3.10, which this package still supports; a + # feature bump would also rewrite the floor in ci.in. Patch releases still flow. + - dependency-name: matplotlib + update-types: ["version-update:semver-major", "version-update:semver-minor"] groups: # One PR for the routine patch churn, individual PRs for anything that could # change behaviour. diff --git a/requirements/ci.in b/requirements/ci.in index 0483129..d4f4cb9 100644 --- a/requirements/ci.in +++ b/requirements/ci.in @@ -2,5 +2,6 @@ jsonschema>=4.18,<5 pyyaml>=6 pytest>=8 ruff>=0.6 -matplotlib>=3.8 +# matplotlib 3.11 dropped Python 3.10; lift the ceiling when requires-python does. +matplotlib>=3.8,<3.11 markdown>=3.7