Skip to content

feat: support Python 3.14 by removing upper bound on requires-python#238

Open
algojogacor wants to merge 1 commit into
microsoft:mainfrom
algojogacor:feat/python-314-support
Open

feat: support Python 3.14 by removing upper bound on requires-python#238
algojogacor wants to merge 1 commit into
microsoft:mainfrom
algojogacor:feat/python-314-support

Conversation

@algojogacor
Copy link
Copy Markdown

Summary

Remove the <3.14 upper bound from requires-python in pyproject.toml and add Python 3.14 to the classifiers list. The msal dependency — which was the original blocker for Python 3.14 support — has been compatible since v1.35.0 (~3 months ago). There is no longer any known incompatibility that justifies the upper bound.

Changes

  1. requires-python: Changed from ">=3.10,<3.14" to ">=3.10" — removes the artificial upper bound
  2. Classifiers: Added "Programming Language :: Python :: 3.14" to the classifiers list

Rationale

  • The original blocker was msal not supporting Python 3.14 (referenced in [FEATURE] Update CLI to support more modern python versions #89). msal added Python 3.14 support in v1.35.0, released ~3 months ago
  • Upper bounds on python_requires are discouraged by PEP 440 best practices unless there is a known incompatibility
  • This change is backward-compatible — all existing supported Python versions (3.10–3.13) continue to work

Testing

  • The change is a single-line metadata update + one classifier addition
  • No code changes required
  • Existing CI and test suite remain unaffected

Resolves: #236

Remove the <3.14 upper bound from requires-python in pyproject.toml and add
Python 3.14 to the classifiers list. The msal dependency (which was the
original blocker — see microsoft#89) has supported Python 3.14 since v1.35.0
(~3 months ago).

Changes:
- requires-python: ">=3.10,<3.14" → ">=3.10"
- Add "Programming Language :: Python :: 3.14" classifier

This follows PEP 440 best practices — upper bounds on python_requires
are discouraged without a known incompatibility, which no longer applies.

Resolves: microsoft#236
Copilot AI review requested due to automatic review settings May 15, 2026 17:15
@algojogacor algojogacor requested a review from a team as a code owner May 15, 2026 17:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates package metadata to declare support for Python 3.14 by removing the requires-python upper bound and adding the corresponding Trove classifier, aligning with the goal of allowing installs on newer Python versions.

Changes:

  • Removed the <3.14 upper bound from requires-python (now >=3.10).
  • Added the Programming Language :: Python :: 3.14 classifier.

Comment thread pyproject.toml
Comment on lines +8 to +15
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
Comment thread pyproject.toml
Comment on lines +8 to +15
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
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.

[FEATURE] support python 3.14

2 participants