Skip to content

Drop Python 3.10 support in 4.0.0 #864

Description

@laughingman7743

Use case

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.
  • Remove 3.10-only compatibility code:
  • 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions