Skip to content

Conversation

@saanikaguptamicrosoft
Copy link
Contributor

@saanikaguptamicrosoft saanikaguptamicrosoft commented Nov 17, 2025

Description

  1. I confirmed from pypi website that pywin32 306 version only supports till python 3.12. So updated it accordingly.
  2. scikit-image wheel not available for Python 3.14. Should be released soon as per: Python 3.14 support scikit-image/scikit-image#7918
  3. azureml-dataprep-rslex wheel not available from Python 3.13 onwards. Dropped a message to the owners for the timelines.
  4. Unskipped the tests which were skipped due to python version, and made required updates either in the test or src code. For more details, refer commit message.

Testing

  1. Local testing successful for all the unit tests.
  2. Ran all the notebook samples, the number of failed notebooks is same for this PR [refer] vs main branch [refer].
    this pr. Hence no delta new failures
  3. e-2-e tests are succeeding which got triggered from this PR

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copilot AI review requested due to automatic review settings November 17, 2025 06:21
@saanikaguptamicrosoft
Copy link
Contributor Author

@microsoft-github-policy-service agree company="Microsoft"

Copy link
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

This PR enables Python 3.14 support for the azure-ai-ml package by updating version classifiers and adjusting dependency constraints for compatibility.

Key changes:

  • Adds Python 3.14 to the supported version classifiers in setup.py
  • Updates pywin32 dependency from version 306 to 311 for Windows compatibility
  • Adds Python 3.14 version constraint to scikit-image dependency due to compatibility issues

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
sdk/ml/azure-ai-ml/setup.py Adds Python 3.14 to the list of supported Python versions in classifiers
sdk/ml/azure-ai-ml/dev_requirements.txt Updates pywin32 to version 311 and restricts scikit-image installation to Python < 3.14

Saanika Gupta added 11 commits November 17, 2025 14:14
…xt manager protocol for mocked objects, updated the mocks to fix it
…_conversion - Python 3.13+ no longer allows NotImplemented to be used in boolean contexts
…e test more robust and independent of python version
…class attributes directly instead of through self in closures
…tation is till 3.12, after that it uses profiler at runtime, hence need not test bytecode for 3.13 onwards
@saanikaguptamicrosoft saanikaguptamicrosoft merged commit fe5d63b into Azure:main Nov 26, 2025
20 checks passed
msyyc pushed a commit that referenced this pull request Nov 26, 2025
* Initial changes to enable python 3.14 support - adjusted requirements

* Fix test_equality - Python 3.14 no longer allows NotImplemented to be used in boolean contexts

* Unskip test in test_data_utils - Python 3.13+ enforces stricter context manager protocol for mocked objects, updated the mocks to fix it

* Fix DistillationJob.__eq__ logic and unskip test in test_distillation_conversion - Python 3.13+ no longer allows NotImplemented to be used in boolean contexts

* Replace help() with inspect.signature() in test_dsl_group - making the test more robust and independent of python version

* Fix Python 3.14 test failures in test_init_finalize_job by accessing class attributes directly instead of through self in closures

* Update skipif condition in test_persistent_locals - bytecode implementation is till 3.12, after that it uses profiler at runtime, hence need not test bytecode for 3.13 onwards

* Update README

* Update CHANGELOG

* Add tests for dev requirements

* Add test to cover src code changes in distillation_job

---------

Co-authored-by: Saanika Gupta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants