deps(pypi): bump anthropic 2.1.0, coverage, hypothesis, ruff, websockets, types-python-dateutil

Upstream releases since 10-19 left 8 pins in meta/requirements*.txt behind,
turning the dependency-freshness and pre-commit CI jobs red. code_tutor (the
only anthropic importer) passes its 16 tests on 2.1.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBScELfMUiieK9ManFbS3Y
This commit is contained in:
Krzysztof Rudnicki 2026-10-22 21:57:47 +02:00
parent 4c7a8c832e
commit e4ca3717a5
3 changed files with 35 additions and 8 deletions

View File

@ -0,0 +1,27 @@
{
"intent": "Python pins in meta/requirements*.txt are the newest stable releases again, so the dependency-freshness gate and Pre-commit checks go green in CI.",
"scope": [
"meta/requirements.txt, meta/requirements-test.txt (anthropic, coverage, hypothesis, ruff, types-python-dateutil, websockets)",
"Non-goal: typescript 6.0.3 allowlist entry (unchanged, predicate still blocking)"
],
"changes": [
"anthropic 1.15.0 -> 2.1.0, coverage 7.16.2 -> 7.17.0, hypothesis 6.170.2 -> 6.170.5",
"ruff 0.17.1 -> 0.17.2, types-python-dateutil 2.9.0.20260807 -> 2.9.0.20261021, websockets 17.2 -> 17.3"
],
"verification": [
{
"command": "scripts/check_dependency_freshness.sh --all --strict",
"result": "pass",
"evidence": "see commit run; CI run 39843132891 listed exactly these 8 findings before the bump"
},
{
"command": "PYTHONPATH=<anthropic 2.1.0 target> pytest python_pkg/code_tutor/tests/test_claude_backend.py python_pkg/code_tutor/tests/test_llm_fallback.py",
"result": "pass",
"evidence": "16 passed with anthropic 2.1.0 (only importer: python_pkg/code_tutor)"
}
],
"risks": [
"anthropic is a major bump; only code_tutor uses anthropic.Anthropic/APIError/messages.create/stream, covered by the 16 tests above"
],
"rollback": ["git revert this commit"]
}

View File

@ -21,9 +21,9 @@
# suite itself fails loudly here on a missing import. # suite itself fails loudly here on a missing import.
# ============================================================================== # ==============================================================================
anthropic==1.15.0 anthropic==2.1.0
beautifulsoup4==4.15.0 beautifulsoup4==4.15.0
coverage==7.16.2 coverage==7.17.0
defusedxml==0.7.1 defusedxml==0.7.1
genanki==0.13.1 genanki==0.13.1
markdownify==1.2.3 markdownify==1.2.3

View File

@ -6,7 +6,7 @@
add-trailing-comma==4.0.0 add-trailing-comma==4.0.0
aiohttp==3.14.5 aiohttp==3.14.5
anthropic==1.15.0 anthropic==2.1.0
autoflake==2.4.0 autoflake==2.4.0
autopep8==2.3.2 autopep8==2.3.2
bandit==1.9.4 bandit==1.9.4
@ -15,7 +15,7 @@ berserk==0.14.0
black==26.10.1 black==26.10.1
bottle==0.13.4 bottle==0.13.4
codespell==2.4.3 codespell==2.4.3
coverage==7.16.2 coverage==7.17.0
cryptography==50.0.2 cryptography==50.0.2
darglint==1.8.1 darglint==1.8.1
dead==2.1.0 dead==2.1.0
@ -39,7 +39,7 @@ gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.11.0#subdirectory=gate
genanki==0.13.1 genanki==0.13.1
geopandas==1.2.0 geopandas==1.2.0
howlongtobeatpy==1.0.24 howlongtobeatpy==1.0.24
hypothesis==6.170.2 hypothesis==6.170.5
importlib-metadata==9.0.1 importlib-metadata==9.0.1
interrogate==1.7.0 interrogate==1.7.0
# isort is deliberately not pinned: nothing here imports it (ruff's isort # isort is deliberately not pinned: nothing here imports it (ruff's isort
@ -77,16 +77,16 @@ radon==6.0.1
reorder-python-imports==3.19.0 reorder-python-imports==3.19.0
requests==2.34.2 requests==2.34.2
rich==15.0.0 rich==15.0.0
ruff==0.17.1 ruff==0.17.2
# safety is deliberately not pinned: its only reference in this repo is a # safety is deliberately not pinned: its only reference in this repo is a
# commented-out pre-commit hook, and safety 3.8.1 declares `typer<0.26`, # commented-out pre-commit hook, and safety 3.8.1 declares `typer<0.26`,
# which would hold the typer this repo actually imports below latest. # which would hold the typer this repo actually imports below latest.
secretstorage==3.5.0 secretstorage==3.5.0
selenium==4.51.0 selenium==4.51.0
typer==0.27.3 typer==0.27.3
types-python-dateutil==2.9.0.20260807 types-python-dateutil==2.9.0.20261021
types-PyYAML==6.0.12.20260906 types-PyYAML==6.0.12.20260906
types-requests==2.33.0.20261006 types-requests==2.33.0.20261006
types-setuptools==84.0.0.20261006 types-setuptools==84.0.0.20261006
typing_extensions==4.16.0 # Self annotation on py310 target (session_autopsy store lock) typing_extensions==4.16.0 # Self annotation on py310 target (session_autopsy store lock)
websockets==17.2 websockets==17.3