Skip to content

chore: require Python 3.11+ - #259

Open
MLawlz wants to merge 1 commit into
masterfrom
chore/require-python-3.11
Open

MLawlz wants to merge 1 commit into
masterfrom
chore/require-python-3.11

Conversation

@MLawlz

@MLawlz MLawlz commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Python 3.8 and 3.9 are end-of-life, and 3.10 reaches end-of-life in October 2026. This makes 3.11 the minimum supported version.

  • Packaging: python_requires=">=3.11", and the classifiers list only 3.11–3.14.
  • CI: the test matrix is now 3.11–3.14. 3.13 and 3.14 were already listed as supported but never tested. The mypy job moves from 3.9 to 3.11, and the PyPI build moves from 3.8 to 3.11.
  • tox: the latest envs are py311–py314. The dependency-floor envs already ran on 3.11 and are unchanged.
  • CLAUDE.md: the minimum Python is now 3.11+.
  • Version: 1.6.0 → 1.7.0.

No SDK code changes are needed: the suite already passes on 3.11–3.14.

Effect on users

pip on 3.10 or older skips this release and installs the newest release whose Requires-Python still allows their interpreter (1.5.5 today, or 1.6.0 if that is tagged first). Their installs keep working; they stop getting updates. For that reason this is a minor bump rather than a major one.

3.8 has not worked since 0.38.0. assemblyai/types.py imports typing.Annotated, which needs 3.9, so import assemblyai fails on 3.8. Nothing caught it because #112 removed 3.8 from CI the same day.

Testing

  • The full suite (718 tests) passes locally on 3.11, 3.12, 3.13 and 3.14.
  • Built the sdist and wheel on 3.11, as publish.yml now does. Both carry Requires-Python: >=3.11.
  • With pip 24.0, the version CI pins through VIRTUALENV_PIP, the wheel installs on 3.11, 3.13 and 3.14. On 3.10 it is rejected: requires a different Python: 3.10.21 not in '>=3.11'.
  • tox -l lists the py311–py314 latest envs plus the four py311 floor envs.

Follow-up

The public docs still say "Python 3.8+" on several SDK pages (the pre-recorded, streaming, Sync STT and dictation quickstarts). They should change when this release ships.

🤖 Generated with Claude Code

Python 3.8 and 3.9 are end-of-life and 3.10 reaches end-of-life in
October 2026. Raise python_requires to >=3.11 and list only 3.11-3.14
in the classifiers.

CI now tests 3.11-3.14 (3.13 and 3.14 were declared but never tested),
and the mypy job and the PyPI build move off 3.9 and 3.8.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant