From 5a426142ffcd4a6502fd7dc48ab77d8730373e62 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Tue, 22 Sep 2026 18:59:21 +0300 Subject: [PATCH] deps: drop the redundant pydantic floor for 3.13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `pydantic>=2.8.1; python_version == '3.13'` never binds. The `aiohttp>=3.10.5` marker on the same interpreter already rules out aiogram 3.2, whose `aiohttp~=3.9.0` pin is incompatible with it; the lowest aiogram that survives is 3.11.0, and it requires `pydantic>=2.4.1,<2.9`, which resolves to 2.8.2 — above the 2.8.1 the line asks for. Removing it changes no resolution the package's own declarations produce. The aiohttp markers stay: without them the floor resolution lands on aiohttp 3.9.5, which has no cp313 wheel, and the job fails. That one is load-bearing. Verified on all six matrix entries with `uv.lock` deleted before each resolve: the floors sync succeeds wheel-only and the suite passes 27/27. The resolved-newest path is unchanged (`just install && just lint-ci && just test-ci`). --- pyproject.toml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a9b327d..704749b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,9 +21,8 @@ classifiers = [ dependencies = [ "aiogram>=3.2,<4", # Not imported here: aiogram 3.2 pins both to versions with no wheel for these interpreters - - # pydantic-core gets a cp313 wheel at pydantic 2.8.1 and a cp314 one at 2.12, aiohttp at 3.10.5 - # and 3.13 respectively. - "pydantic>=2.8.1; python_version == '3.13'", + # pydantic-core gets a cp314 wheel at pydantic 2.12, aiohttp a cp313 one at 3.10.5 and a + # cp314 one at 3.13. "pydantic>=2.12; python_version >= '3.14'", "aiohttp>=3.10.5; python_version == '3.13'", "aiohttp>=3.13; python_version >= '3.14'",