fix(fc2a): bump Pillow, asyncpg, psycopg, cryptography for Python 3.14 wheel coverage

CI failed at 'pip install -r requirements.txt' with Pillow 10.4.0 sdist
building from source under Python 3.14 and exiting with KeyError: '__version__'
(no 3.14 wheel exists for the 10.x line). The same risk applied to
asyncpg 0.29 (also no 3.14 wheel) and to psycopg 3.1.x (dep resolver was
backtracking through every minor trying to find a 3.14-compatible combo).

Bumps:
- pillow:       10.2-10.x -> 11.1-11.x   (11.x has 3.13+ wheels)
- asyncpg:      0.29       -> 0.30       (0.30 added 3.13/3.14 wheels)
- psycopg:      3.1.x      -> 3.2.x      (current line, stable resolver)
- cryptography: 42         -> 44-45      (current abi3 wheels; the 42 line
                                          worked via abi3 but bumping aligns
                                          with the newer cffi-on-3.14 path)

This is the operator-flagged risk from FC-1 ("scientific stack may still be
catching up on 3.14 wheels — worth confirming before locking in"), realized.
The fix is to pin newer minimums, not to back off to 3.13.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-14 13:02:47 -04:00
parent 90686e6deb
commit 8988423c95
+12 -6
View File
@@ -4,8 +4,12 @@ hypercorn>=0.16,<0.17
# DB
sqlalchemy[asyncio]>=2.0,<2.1
asyncpg>=0.29,<0.30
psycopg[binary]>=3.1,<3.2
# asyncpg 0.30 was the first release with Python 3.13/3.14 wheels (0.29 builds
# from source on 3.14 and fails).
asyncpg>=0.30,<0.31
# psycopg 3.2 stabilized the resolver story; staying on 3.1 caused pip to
# backtrack through dozens of versions trying to find a 3.14-compatible combo.
psycopg[binary]>=3.2,<3.3
alembic>=1.13,<1.14
pgvector>=0.2,<0.3
@@ -13,11 +17,13 @@ pgvector>=0.2,<0.3
celery>=5.4,<5.5
redis>=5.0,<6.0
# Crypto for credential storage (lands in FC-3, but pinned now for stability)
cryptography>=42,<43
# Crypto for credential storage (lands in FC-3, but pinned now for stability).
# 44+ aligns with current cffi/abi3 wheels under Python 3.14.
cryptography>=44,<46
# Image handling (lands in FC-2)
pillow>=10.2,<11.0
# Image handling (lands in FC-2). 11.x is the line with Python 3.13+ wheels;
# 10.x has no 3.14 wheel and fails to build from source.
pillow>=11.1,<12
imagehash>=4.3,<4.4
# Gallery-dl wrapper (lands in FC-3)