You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python 3.10 reaches end of life on 2026-10-31. PyAthena drops a Python version around its end of life (3.9 was dropped in #617 after its October 2025 EOL), and 4.0.0 is expected around that date, in October 2026 or later. Dropping 3.10 in the major release avoids another breaking change in a later 4.x minor release.
It also unblocks #852: pandas 3.0 requires Python 3.11 or later, so the pandas extra can require pandas>=3.0 only after 3.10 is dropped.
Proposed change
pyproject.toml: requires-python = ">=3.11", remove the 3.10 classifier, the tomli dev dependency, and the python_version markers that only exist for 3.10; target-version = "py311"; remove py310 from the tox envlist and [gh-actions].
CI: remove 3.10 from the Test workflow's Python versions.
README.md and docs/introduction.md: list CPython 3.11–3.14.
benchmarks/pyproject.toml (requires-python) and benchmarks/tests/test_packaging.py.
the datetime.fromisoformat fallback in pyathena/sqlalchemy/array.py (_decode_datetime), if Python 3.11's parser accepts every Athena timestamp text it handles today.
Regenerate uv.lock.
Release note: breaking change, Python 3.10 is no longer supported; users on 3.10 can stay on the 3.x maintenance branch.
Validation plan (if implementing)
just lint and the offline script tests.
uv lock resolves for Python 3.11–3.14.
The Test workflow passes on every remaining version (dispatch).
Activity
Drop Python 3.10 support