Skip to content

Drop Python 3.9 support in http-client-python (min Python 3.10)#10500

Open
Copilot wants to merge 3 commits intomainfrom
copilot/drop-python-3-9
Open

Drop Python 3.9 support in http-client-python (min Python 3.10)#10500
Copilot wants to merge 3 commits intomainfrom
copilot/drop-python-3-9

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 27, 2026

Python 3.9 reached end-of-life, so the @typespec/http-client-python emitter and its generated SDKs now require Python 3.10+.

Generator

  • Bump MIN_PYTHON_VERSION to 3.10 in general_serializer.py — propagates to generated setup.py, pyproject.toml, and README.md via the packaging Jinja templates.
  • Drop Programming Language :: Python :: 3.9 classifier from generator/setup.py.
  • Update README.md.jinja2 wording to "Python 3.10+".

Setup / install scripts

  • Raise the version gate in install.py, install.ts, run-python3.ts (emitter + eng copies), prepare.py, and build_pygen_wheel.py from >=3.9 to >=3.10, with matching message/comment updates.

Lint / typecheck configs

  • Target Python 3.10 in pylintrc, pyrightconfig.json, mypy.ini, lint.ts, and run_pylint.py.

Changelog

  • Adds a breaking chronus entry for @typespec/http-client-python.

Out of scope

Pipeline YAML already runs on 3.11/3.12. Pre-existing (3, 9) references in imports.py and system-requirements.ts are illustrative comments, not version checks, and were left alone. The dead sys.version_info < (3, 9, 0) branch in venvtools.py and the >= (3, 9) test fallback in test_model_base_serialization.py are similarly harmless and untouched to keep the diff minimal — happy to clean up if reviewers prefer.

Copilot AI linked an issue Apr 27, 2026 that may be closed by this pull request
@microsoft-github-policy-service microsoft-github-policy-service Bot added the emitter:client:python Issue for the Python client emitter: @typespec/http-client-python label Apr 27, 2026
Copilot AI changed the title [WIP] Update minimum Python version to 3.10 Drop Python 3.9 support in http-client-python (min Python 3.10) Apr 27, 2026
Copilot AI requested a review from msyyc April 27, 2026 06:59
@msyyc msyyc marked this pull request as ready for review April 27, 2026 07:41
Comment thread .chronus/changes/python-drop-39-2026-4-27-6-50-0.md Outdated
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 27, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@typespec/http-client-python@10500

commit: 86df43a

@github-actions
Copy link
Copy Markdown
Contributor

All changed packages have been documented.

  • @typespec/http-client-python
Show changes

@typespec/http-client-python - deprecation ✏️

Drop support for Python 3.9. The minimum supported Python version is now 3.10. Python 3.9 reached end-of-life and is no longer supported by upstream Python.

@azure-sdk
Copy link
Copy Markdown
Collaborator

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

@msyyc msyyc enabled auto-merge April 27, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

emitter:client:python Issue for the Python client emitter: @typespec/http-client-python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Drop python 3.9

3 participants