Summary
The 3.14t integration-test matrix jobs started failing during the uv sync step after gevent 26.4.0 was published to PyPI.
This is not caused by the tablets change in 50941184b1c8e5a3aed2b23fc392a50bc540d63b; the job fails before project code is built or tests run.
Failure
Failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622
Failing job:
https://github.com/scylladb/python-driver/actions/runs/24181832622/job/70576498419
Error:
error: Distribution `gevent==26.4.0 @ registry+https://pypi.org/simple` can't be installed because it doesn't have a source distribution or wheel for the current platform
The affected jobs are the free-threaded Python lanes, for example:
test asyncio (3.14t)
test libev (3.14t)
Regression Window
Previous green master integration run:
https://github.com/scylladb/python-driver/actions/runs/24151571818
That run used commit db317eb3645495232664f99c4a452da67b74903e and completed successfully on 2026-04-08 before the gevent 26.4.0 release.
gevent 26.4.0 was published to PyPI on 2026-04-08 at 21:54:11 UTC.
First observed failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622
That run started on 2026-04-09 at 09:01 UTC and resolved gevent==26.4.0.
Cause
gevent is currently unpinned in the dev dependency group. The integration workflow runs uv sync for every matrix job, including the 3.14t jobs, so free-threaded Python CI picks up the latest gevent release even for lanes that do not need gevent directly.
gevent 26.4.0 has regular cp314 wheels, but no matching cp314t wheel for the free-threaded Python ABI. That makes uv sync fail before tests begin.
Relevant upstream gevent issues:
Proposed Fix
Cap gevent below the problematic release in pyproject.toml:
# gevent free-threading support is still unsettled upstream; keep the
# version below 26.4.0 until gevent/gevent#2087 and gevent/gevent#2127
# are resolved for CPython 3.14t CI jobs.
"gevent<26.4.0",
This restores resolution to gevent==25.9.1, which was verified to install successfully in a clean 3.14t environment with uv.
Validation
Verified locally:
uv venv /tmp/... --python 3.14t
uv pip install --python /tmp/.../bin/python 'gevent<26.4.0'
Result:
Installed 4 packages
+ gevent==25.9.1
+ greenlet==3.4.0
+ zope-event==6.1
+ zope-interface==8.3
Full integration matrix was not run locally.
Summary
The
3.14tintegration-test matrix jobs started failing during theuv syncstep aftergevent 26.4.0was published to PyPI.This is not caused by the tablets change in
50941184b1c8e5a3aed2b23fc392a50bc540d63b; the job fails before project code is built or tests run.Failure
Failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622
Failing job:
https://github.com/scylladb/python-driver/actions/runs/24181832622/job/70576498419
Error:
The affected jobs are the free-threaded Python lanes, for example:
Regression Window
Previous green
masterintegration run:https://github.com/scylladb/python-driver/actions/runs/24151571818
That run used commit
db317eb3645495232664f99c4a452da67b74903eand completed successfully on 2026-04-08 before thegevent 26.4.0release.gevent 26.4.0was published to PyPI on 2026-04-08 at 21:54:11 UTC.First observed failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622
That run started on 2026-04-09 at 09:01 UTC and resolved
gevent==26.4.0.Cause
geventis currently unpinned in thedevdependency group. The integration workflow runsuv syncfor every matrix job, including the3.14tjobs, so free-threaded Python CI picks up the latest gevent release even for lanes that do not need gevent directly.gevent 26.4.0has regularcp314wheels, but no matchingcp314twheel for the free-threaded Python ABI. That makesuv syncfail before tests begin.Relevant upstream gevent issues:
Proposed Fix
Cap gevent below the problematic release in
pyproject.toml:This restores resolution to
gevent==25.9.1, which was verified to install successfully in a clean3.14tenvironment withuv.Validation
Verified locally:
Result:
Full integration matrix was not run locally.