Skip to content

Python: Exclude incompatible cryptography release on Python 3.10 - #14508

Closed
SergeyMenshykh wants to merge 2 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-mcp-tool-naming-failures
Closed

SergeyMenshykh wants to merge 2 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-mcp-tool-naming-failures

Conversation

@SergeyMenshykh

Copy link
Copy Markdown
Contributor

Motivation and Context

The Python 3.10 unit-test and coverage jobs for #14506 fail during dependency installation, before tests run:

Both workflows upgrade dependencies with uv sync -U and select cryptography==50.0.2. Although the release metadata permits Python >=3.9, its published files contain neither a Python 3.10-compatible wheel nor a source distribution. This is independent of the MCP tool-name changes.

Description

Add cryptography!=50.0.2; python_version < '3.11' to the project dependencies and synchronize the lockfile's dependency entries. This preserves Python 3.10 support while leaving Python 3.11 and newer unrestricted. No locked package versions or unrelated artifact metadata change.

Focused validation using the workflows' uv 0.5.x series:

  • Lockfile consistency check passed with Python 3.10.
  • Linux Python 3.10 all-extras and pandas dependency resolution selected cryptography==50.0.1.
  • Linux Python 3.11 all-extras dependency resolution selected cryptography==50.0.2.
  • All 18 Python/platform marker cases agreed between the manifest and lockfile, and all transitive package records remained unchanged.
  • Repository-compatible Ruff manifest lint and git diff --check passed.

The full unit-test suite was not run; this change only affects dependency selection.

Contribution Checklist

Exclude cryptography 50.0.2 only on Python versions below 3.11 because the release has no compatible wheel or source distribution. Keep the lockfile in sync without changing locked package versions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 15:28
@SergeyMenshykh
SergeyMenshykh requested a review from a team as a code owner September 30, 2026 15:28
@semantic-kernel-automation semantic-kernel-automation Bot added the python Pull requests for the Python Semantic Kernel label Sep 30, 2026
@SergeyMenshykh SergeyMenshykh self-assigned this Sep 30, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The narrow exclusion is consistent between the manifest and lockfile and addresses the reported installation failure.

Review effort: Balanced
Findings: None

What changed in this PR

This PR keeps Python 3.10 dependency installation working by excluding an incompatible cryptography release, without restricting Python 3.11 or newer.

Changes:

  • Excludes cryptography==50.0.2 on Python versions below 3.11.
  • Synchronizes the lockfile with the new dependency constraint.
File Description
python/​uv.lock Records the Python-version-specific cryptography constraint.
python/​pyproject.toml Adds the exclusion to project dependencies.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@semantic-kernel-automation semantic-kernel-automation Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

MAF Automated Review — Iteration 1

Result: No findings
Scope: full PR (1 commit(s)): 56eede4aa9ec
Model: gpt-5.6-sol

Overview

The PR adds a Python 3.10-only exclusion for one incompatible cryptography release and synchronizes the generated uv lock metadata. The project Python floor, matching manifest/lock markers, and Python 3.10 upgrade-resolution CI constrain the change as intended, and no Critical, High, or Medium defect was established.

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.

Use uv 0.5.31 in all setup-uv steps instead of the 0.5.x range. Exact version selection bypasses the GitHub releases-list lookup that repeatedly fails with Server Error, while preserving the current uv series and existing action version.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
auto-merge was automatically disabled October 1, 2026 10:11

Pull request was closed

This branch was previously deployed

1 inactive deployment
github-app-auth — dc13354b Deployed Sep 30, 2026 by SergeyMenshykh via add_label #29186
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Pull requests for the Python Semantic Kernel

Projects

Status: Done
Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants