Repository navigation
Python: Add Python 3.15 support and refresh dependencies - #9363
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
SQL Server advertises and tests Python 3.15 despite its locked driver providing no compatible wheel or source distribution.
3 open findings
What changed in this PR
Adds Python 3.15 support metadata and CI coverage while documenting unsupported integrations and refreshing Python/frontend dependencies.
Changes:
- Adds Python 3.15 classifiers, CI lanes, and compatibility documentation.
- Updates uv, SQL Server, type-checking, linting, and build dependencies.
- Incorporates React, ChatKit, and Lucide dependency updates from #9307–#9309.
| File | Description |
|---|---|
python/uv.lock |
Refreshes uv and SQL Server dependency locks. |
python/tooling/requirements-typing.txt |
Updates ty and zuban. |
python/tooling/requirements-quality.txt |
Updates Ruff. |
python/tooling/requirements-api-compatibility.txt |
Updates Griffe. |
python/samples/05-end-to-end/chatkit-integration/frontend/package.json |
Updates ChatKit and React dependencies. |
python/samples/05-end-to-end/chatkit-integration/frontend/package-lock.json |
Regenerates ChatKit sample lockfile. |
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/src/App.tsx |
Imports the React JSX type. |
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package.json |
Upgrades the sample to React 19.3. |
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package-lock.json |
Regenerates the handoff sample lockfile. |
python/samples/05-end-to-end/ag_ui_single_agent/frontend/package.json |
Upgrades the sample to React 19.3. |
python/samples/05-end-to-end/ag_ui_single_agent/frontend/package-lock.json |
Regenerates the single-agent lockfile. |
python/README.md |
Documents Python 3.15 support limitations. |
python/pyproject.toml |
Advertises 3.15 and updates uv. |
python/packages/typesafe/tests/typesafe/test_chat_client.py |
Suppresses a new ty diagnostic. |
python/packages/typesafe/pyproject.toml |
Adds 3.15 metadata and updates uv_build. |
python/packages/tools/pyproject.toml |
Adds Python 3.14–3.15 classifiers. |
python/packages/sql-server/README.md |
Claims expanded driver compatibility. |
python/packages/sql-server/pyproject.toml |
Removes the 3.15 cap and updates mssql-python. |
python/packages/redis/README.md |
Documents the RedisVL 3.15 limitation. |
python/packages/qdrant/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/purview/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/postgres/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/orchestrations/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/oracle/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/openai/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/ollama/pyproject.toml |
Adds classifiers and updates uv_build. |
python/packages/monty/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/mongodb/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/mistral/pyproject.toml |
Adds classifiers and updates uv_build. |
python/packages/mem0/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/lab/uv.lock |
Refreshes Lab tooling dependencies. |
python/packages/lab/README.md |
Documents Lab’s 3.15 blockers. |
python/packages/lab/pyproject.toml |
Updates Lab development tooling. |
python/packages/hosting/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/hosting-telegram/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/hosting-responses/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/hosting-mcp/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/hosting-a2a/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/github_copilot/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/gemini/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/foundry/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/foundry_local/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/foundry_hosting/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/duckdb/README.md |
Documents missing DuckDB 3.15 wheels. |
python/packages/devui/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/devui/frontend/yarn.lock |
Locks updated frontend dependencies. |
python/packages/devui/frontend/package.json |
Updates React and Lucide. |
python/packages/devui/frontend/package-lock.json |
Regenerates the DevUI npm lockfile. |
python/packages/declarative/README.md |
Documents Power Fx version limitations. |
python/packages/core/tests/core/conftest.py |
Adds narrow ty suppressions. |
python/packages/core/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/copilotstudio/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/claude/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/chatkit/pyproject.toml |
Adds Python 3.14–3.15 classifiers. |
python/packages/bedrock/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/azure-documentdb/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/azure-cosmos/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/azure-cosmos-memory/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/azure-contentunderstanding/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/azure-ai-search/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/anthropic/pyproject.toml |
Adds the Python 3.15 classifier. |
python/packages/ag-ui/README.md |
Documents A2UI’s 3.15 limitation. |
python/packages/ag-ui/pyproject.toml |
Adds Python 3.14–3.15 classifiers. |
python/packages/a2a/pyproject.toml |
Adds the Python 3.15 classifier. |
python/.pre-commit-config.yaml |
Updates the uv pre-commit hook. |
.github/workflows/python-tests.yml |
Extends Python 3.15 CI coverage. |
.github/workflows/python-lab-tests.yml |
Updates setup-uv. |
.github/workflows/python-api-compatibility.yml |
Updates setup-uv and uv. |
.github/workflows/issue-triage.yml |
Updates setup-uv. |
.github/workflows/github-automation-tests.yml |
Updates setup-uv and uv. |
.github/workflows/devflow-pr-review.yml |
Updates setup-uv. |
.github/workflows/devflow-fix-ci.yml |
Updates setup-uv. |
.github/actions/python-setup/action.yml |
Updates the shared setup-uv action. |
Files not reviewed (4)
- python/packages/devui/frontend/package-lock.json: Generated file
- python/samples/05-end-to-end/ag_ui_single_agent/frontend/package-lock.json: Generated file
- python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package-lock.json: Generated file
- python/samples/05-end-to-end/chatkit-integration/frontend/package-lock.json: Generated file
🧠 Review effort: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: No findings
Scope: full PR (1 commit(s)): 1565f2c3567a
Model: gpt-5.6-sol
Overview
The PR explicitly scopes Python 3.15 support to compatible published packages, encodes incompatible integrations with environment markers, and adds Linux full-suite plus Windows install/import validation. The uv and frontend dependency updates are coordinated with their manifests and lockfiles, while narrow typing suppressions remain confined to test doubles. The checked-in workspace lock still excludes Python 3.15 because Redis remains a workspace member, but that constraint predates this range and does not contradict the documented released-package contract, so no publishable defect remains after reconciliation.
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
No publishable findings remained after source verification for this scope.
Jose Alvarez (jpalvarezl)
left a comment
There was a problem hiding this comment.
The Python 3.15 support boundary, dependency refresh, generated locks, and CI coverage look consistent. I left one non-blocking documentation note about aligning contributor setup guidance with the new supported range.
Vincent Biret (baywet)
left a comment
There was a problem hiding this comment.
while I understand the "no breaking changes" policy, it seems that removing support for older versions of python is something that's often done without major revisions in the ecosystem.
microsoft/kiota-python#349
Of course, you're the resident python expert, if we still don't want to do it now, can you at least log an issues for the next major version please?
|
Follow-up from Vincent Biret (@baywet)’s review: #9373 now tracks removing Python 3.10 support as a Python release change, with a target completion date of October 31, 2026. This PR keeps the agreed documentation-only soft deprecation and leaves metadata and CI coverage intact. |
Vincent Biret (baywet)
left a comment
There was a problem hiding this comment.
Thank you for making the changes!


Motivation & Context
Python 3.15 is now stable, but the released Python packages do not advertise support for it and the standard
agent-frameworkinstall has not been validated against the final interpreter. This change establishes an explicit support boundary: the compatible meta-package set is tested and documented, while integrations blocked by upstream dependencies remain clearly unavailable or limited.The compatibility pass also refreshes the Python tooling required for 3.15 and incorporates the outstanding Python frontend dependency updates so the branch is validated against the current development stack.
Description & Review Guide
uv_buildranges, SQL Server tomssql-python>=1.16.0, and the generated lockfiles.JSXtype import required by the handoff sample.agent-frameworkmeta-package resolves, imports, and passespip checkon CPython 3.15.0.Related Issue
Fixes #9362
No competing PR was found for the implementation issue. The dependency refresh incorporates and supersedes the still-open #9307, #9308, and #9309 updates.
AI Assistance
AI assistance details: GitHub Copilot assisted with the dependency audit, implementation, compatibility testing, documentation, and PR description.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and the title prefix in sync automatically.