Repository navigation
Python: stop advertising Python 3.10 support without blocking installation - #9824
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the Python support metadata and documentation update.
No open issues 🎉
What changed in this PR
This PR takes the advertised-support step toward #9373: it stops presenting Python 3.10 as supported across Agent Framework’s Python packages without changing installation eligibility or runtime behavior.
Changes:
- Remove the Python 3.10 classifier from 43 package manifests.
- Update support and setup documentation to recommend Python 3.11+, while explaining that 3.10 installation remains permitted without guaranteed compatibility.
- Preserve integration-specific version limitations, dependencies, lockfiles, runtime code, and CI checks.
| File | Description |
|---|---|
python/README.md |
Distinguishes supported versions from permitted 3.10 installation. |
python/pyproject.toml |
Removes the meta-package’s Python 3.10 classifier. |
python/packages/typesafe/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/tools/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/sql-server/README.md |
Updates Python support wording; preserves database requirements. |
python/packages/sql-server/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/redis/README.md |
Updates support wording; preserves the Python 3.15 restriction. |
python/packages/redis/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/qdrant/README.md |
Updates Python support wording; preserves server requirements. |
python/packages/qdrant/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/purview/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/postgres/README.md |
Updates support wording; preserves Psycopg installation notes. |
python/packages/postgres/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/orchestrations/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/oracle/README.md |
Updates Python support wording; preserves database requirements. |
python/packages/oracle/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/openai/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/ollama/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/nvidia/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/monty/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/mongodb/README.md |
Updates Python support wording; preserves deployment requirements. |
python/packages/mongodb/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/mistral/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/mem0/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/lab/README.md |
Updates support wording; preserves Python 3.15 dependency limitations. |
python/packages/lab/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hyperlight/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hosting/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hosting-telegram/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hosting-responses/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hosting-mcp/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/hosting-a2a/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/gemini/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/foundry/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/foundry_local/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/foundry_hosting/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/duckdb/README.md |
Updates support wording; preserves version-specific dependency notes. |
python/packages/duckdb/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/devui/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/declarative/README.md |
Updates support wording; preserves Power Fx version limitations. |
python/packages/declarative/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/core/README.md |
Clarifies unsupported 3.10 installation and retained compatibility checks. |
python/packages/core/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/copilotstudio/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/claude/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/chatkit/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/bedrock/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/azure-documentdb/README.md |
Updates Python support wording; preserves service requirements. |
python/packages/azure-documentdb/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/azure-cosmos/README.md |
Updates Python support wording; preserves account requirements. |
python/packages/azure-cosmos/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/azure-contentunderstanding/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/azure-ai-search/README.md |
Clarifies supported versions and permitted 3.10 installation. |
python/packages/azure-ai-search/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/anthropic/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/ag-ui/README.md |
Updates base-package and optional A2UI support guidance. |
python/packages/ag-ui/pyproject.toml |
Removes the Python 3.10 classifier. |
python/packages/ag-ui/getting_started/README.md |
Changes the setup prerequisite to Python 3.11+. |
python/packages/a2a/pyproject.toml |
Removes the Python 3.10 classifier. |
python/DEV_SETUP.md |
Recommends supported development versions and explains retained checks. |
Review effort: Balanced
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: No findings
Scope: full PR (1 commit(s)): bcce260ca168
Model: gpt-5.6-sol
Overview
This PR consistently removes the Python 3.10 support classifier from all 43 distributions that previously advertised it while preserving their requires-python constraints, dependencies, and runtime behavior. The unchanged Python 3.10 CI lanes continue to exercise installation and compatibility, and the updated package documentation clearly distinguishes supported versions from permitted installation. No Critical, High, or Medium defect is supported by the diff.
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 metadata split looks good. I found two documentation consistency gaps before we call the 3.10 support-advertising cleanup complete.
Motivation & Context
Python 3.10 has reached upstream end of life. Stop advertising Python 3.10 as supported and stop running its CI unit/integration test lanes, while keeping installation eligibility and runtime code unchanged. Existing users can continue installing on 3.10, but compatibility is no longer guaranteed.
Description & Review Guide
requires-pythonvalues, dependencies, environment markers, package versions, lockfiles, runtime code, and lint/type-check targets remain unchanged. Packages that already require Python 3.11 remain unchanged. pip and uv do not use classifiers to restrict installation, so this introduces no new installer restriction or runtime warning.Related Issue
Related to #9373. This PR implements the advertised-support and CI test-lane removal steps and intentionally does not close the issue. The installer-floor increase, compatibility-code cleanup, and coordinated release work remain outstanding. The issue has the
ready-for-implementationlabel; no competing open PR was found when opening this PR.AI Assistance
AI assistance details: Copilot assisted with repository investigation, classifier removal, documentation and CI configuration updates, metadata/build/workflow checks, and this 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 title prefix in sync automatically.git diff --checkpassed. WithWHEEL_DIRset to an output directory outside the checkout,uv build python --wheel --out-dir "$WHEEL_DIR",uv build --project python --package agent-framework-core --wheel --out-dir "$WHEEL_DIR", anduv build --project python/packages/lab --wheel --out-dir "$WHEEL_DIR" --quietall passed. A non-quiet Lab build also succeeded but emitted existing setuptools warnings about the MIT license classifier, so the warning-free build item remains unchecked.A local TOML comparison parsed all 45 distribution manifests and confirmed that exactly 43 Python 3.10 classifiers were removed, with no other parsed metadata or tool configuration changes. Inspection of the three built wheels confirmed that each retains
Requires-Python: >=3.10, omits the 3.10 classifier, and retains the 3.11 classifier.A local YAML/matrix check passed: both edited workflows remove only Python 3.10 OS/version combinations; all supported combinations and the Python 3.15 exclusions remain unchanged. The manual and merge integration workflows remain unchanged on Python 3.13, and no workflow references Python 3.10. Local unit and integration test suites were not run for this metadata/documentation/CI-configuration change.