Drop Python 3.10 support after its EOL (October 2026)
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
- Domain
- build-system, ci-cd
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
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-pythonfrom>=3.10to>=3.11. - Remove the
"Programming Language :: Python :: 3.10"classifier. - Drop
tomlifrom the[docs]extra (backport for 3.10's missingtomllib). - Remove
py310from Black'starget-version. - Remove
typing_extensions>=4.0from runtimedependenciesif theSelfcleanup below removes the last consumer.
docs/conf.py:
- Replace the
try: import tomllib / except ImportError: import tomli as tomllibfallback with a directimport tomllib.
tableauserverclient/ — typing_extensions.Self becomes typing.Self in ~10 files (grep-confirmed):
models/collection_item.pymodels/extensions_item.pymodels/groupset_item.pymodels/group_item.pymodels/reference_item.pymodels/user_item.pyserver/endpoint/endpoint.pyserver/endpoint/jobs_endpoint.pyserver/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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tableau/server-client-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
tableau/server-client-python#1865 ·
-
in-progress
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
tableau/server-client-python#1829 · 1 comment ·
-
enhancement gap needs investigation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1322 · 1 comment ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Openhelp wanted Server-Side Enhancement ui-exists
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1101 · 3 comments ·
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#783 · 5 comments ·
All issues in tableau/server-client-python
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
zostera/django-bootstrap4#894 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
use-agent-os/agent-os#3276 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·