Drop Python 3.10 support after its EOL (October 2026)

Open
#1,838 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Quiet
Tech stack
github-actions, python

Research direction

Wait until after 2026-10-04, then review pyproject.toml, docs/conf.py, the nine listed tableauserverclient files, and .github/workflows/run-tests.yml. Replace the Python 3.10 compatibility settings and Self imports described in the issue, then run the existing test workflow. Done means Python 3.10 is removed from supported metadata and CI, tomli and obsolete typing workarounds are gone, and the project still passes its tests.

Written by the indexing model from the issue text.

Description

enhancement

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

Dominant language
Python
Stars
716
Forks
446
Avg merge
8d 8h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tableau/server-client-python

All issues in tableau/server-client-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.