Skip to content

Drop Python 3.10 support after its EOL (October 2026) #1838

Description

@jacalata

Python 3.10 reaches end-of-life on 2026-10-04. Once that lands, we should drop support and clean up the workarounds it forces.

Changes required after dropping 3.10

pyproject.toml:

  • Bump requires-python from >=3.10 to >=3.11.
  • Remove the "Programming Language :: Python :: 3.10" classifier.
  • Drop tomli from the [docs] extra (backport for 3.10's missing tomllib).
  • Remove py310 from Black's target-version.
  • Remove typing_extensions>=4.0 from runtime dependencies if the Self cleanup below removes the last consumer.

docs/conf.py:

  • Replace the try: import tomllib / except ImportError: import tomli as tomllib fallback with a direct import tomllib.

tableauserverclient/typing_extensions.Self becomes typing.Self in ~10 files (grep-confirmed):

  • models/collection_item.py
  • models/extensions_item.py
  • models/groupset_item.py
  • models/group_item.py
  • models/reference_item.py
  • models/user_item.py
  • server/endpoint/endpoint.py
  • server/endpoint/jobs_endpoint.py
  • server/query.py

CI (.github/workflows/run-tests.yml): remove '3.10' from the test matrix.

Timing

Aim to file in a release published after 2026-10-04.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions